video: tegra: dc: Update t12x pll selection
[linux-3.10.git] / drivers / video / tegra / Kconfig
1 if ARCH_TEGRA
2
3 comment "NVIDIA Tegra Display Driver options"
4
5 config TEGRA_GRHOST
6         tristate "Tegra graphics host driver"
7         help
8           Driver for the Tegra graphics host hardware.
9
10 config TEGRA_GRHOST_USE_NVMAP
11         bool "Use nvmap as graphics memory manager"
12         default y if TEGRA_NVMAP
13         help
14           Use nvmap as the graphics memory manager.
15
16 config TEGRA_GRHOST_USE_DMABUF
17         bool "Support dmabuf buffers"
18         default y
19         select DMA_SHARED_BUFFER
20         help
21           Support dmabuf buffers.
22
23 config TEGRA_GRHOST_DEFAULT_TIMEOUT
24         depends on TEGRA_GRHOST
25         int "Default timeout for submits"
26         default 10000
27         help
28           Default timeout for jobs in milliseconds. Set to zero for no timeout.
29
30 config TEGRA_GRHOST_SYNC
31         depends on TEGRA_GRHOST
32         bool "Tegra host synchronization objects"
33         default y
34         select SYNC
35         help
36           Add tegra host backend for the cross driver synchronization framework.
37           Allows creating sync fence file descriptors from Tegra host syncpoints.
38
39 config TEGRA_DC
40         tristate "Tegra Display Contoller"
41         depends on ARCH_TEGRA && TEGRA_GRHOST
42         select BACKLIGHT_CLASS_DEVICE
43         select FB_MODE_HELPERS
44         select I2C
45         help
46           Tegra display controller support.
47
48 config TEGRA_DC_CMU
49         bool
50         default n if ARCH_TEGRA_2x_SOC || ARCH_TEGRA_3x_SOC
51         default y
52
53 config TEGRA_DC_WIN_H
54     bool
55     default y if ARCH_TEGRA_14x_SOC
56     default n
57
58 config TEGRA_MIPI_CAL
59         bool
60         default n if ARCH_TEGRA_2x_SOC || ARCH_TEGRA_3x_SOC
61         default y
62
63 config TEGRA_DC_SCAN_COLUMN
64         bool
65         default y if ARCH_TEGRA_11x_SOC
66         default n
67
68 config TEGRA_DC_BLENDER_GEN2
69     bool
70     default n if ARCH_TEGRA_2x_SOC || ARCH_TEGRA_3x_SOC || ARCH_TEGRA_11x_SOC
71     default y
72
73 config TEGRA_DC_BLOCK_LINEAR
74     bool
75     default y if ARCH_TEGRA_12x_SOC
76     default n
77
78 config TEGRA_DC_CLOCK_GEN2
79     bool
80     default y if ARCH_TEGRA_12x_SOC
81     default n
82     help
83         T12x redefined pll usages for pll_d and pll_d2.
84
85 config TEGRA_SD_GEN2
86         bool
87         default n if ARCH_TEGRA_2x_SOC || ARCH_TEGRA_3x_SOC
88         default y
89
90 config TEGRA_DC_TEMPORAL_DITHER
91         bool
92         default n if ARCH_TEGRA_2x_SOC || ARCH_TEGRA_3x_SOC || ARCH_TEGRA_11x_SOC
93         default y
94
95 config FB_TEGRA
96         tristate "Tegra Framebuffer driver"
97         depends on TEGRA_DC && FB = y
98         select FB_CFB_FILLRECT
99         select FB_CFB_COPYAREA
100         select FB_CFB_IMAGEBLIT
101         default FB
102         help
103           Framebuffer device support for the Tegra display controller.
104
105 config TEGRA_DC_EXTENSIONS
106         bool "Tegra Display Controller Extensions"
107         depends on TEGRA_DC
108         default y
109         help
110           This exposes support for extended capabilities of the Tegra display
111           controller to userspace drivers.
112
113 config TEGRA_NVMAP
114         bool "Tegra GPU memory management driver (nvmap)"
115         select ARM_DMA_USE_IOMMU if IOMMU_API
116         default y
117         help
118           Say Y here to include the memory management driver for the Tegra
119           GPU, multimedia and display subsystems
120
121 config NVMAP_RECLAIM_UNPINNED_VM
122         bool "Virtualize IOVMM memory in nvmap"
123         depends on TEGRA_NVMAP && IOMMU_API
124         default y
125         help
126           Say Y here to enable nvmap to reclaim I/O virtual memory after
127           it has been unpinned, and re-use it for other handles. This can
128           allow a larger virtual I/O VM space than would normally be
129           supported by the hardware, at a slight cost in performance.
130
131 config NVMAP_HIGHMEM_ONLY
132         bool "Use only HIGHMEM for nvmap"
133         depends on TEGRA_NVMAP && IOMMU_API && HIGHMEM
134         default n
135         help
136           Say Y here to restrict nvmap system memory allocations (both
137           physical system memory and IOVMM) to just HIGHMEM pages.
138
139 config NVMAP_CARVEOUT_KILLER
140         bool "Reclaim nvmap carveout by killing processes"
141         depends on TEGRA_NVMAP
142         default n
143         help
144           Say Y here to allow the system to reclaim carveout space by killing
145           processes. This will kill the largest consumers of lowest priority
146           first.
147
148 config NVMAP_PAGE_POOLS
149         bool "Use page pools to reduce allocation overhead"
150         depends on TEGRA_NVMAP
151         default y
152         help
153           say Y here to reduce the alloction overhead, which is significant
154           for uncached, writecombine and inner cacheable memories as it
155           involves changing page attributes during every allocation per page
156           and flushing cache. Alloc time is reduced by allcoating the pages
157           ahead and keeping them aside. The reserved pages would be released
158           when system is low on memory and acquired back during release of
159           memory.
160
161 config NVMAP_PAGE_POOLS_INIT_FILLUP
162         bool "Fill up page pools during page pools init"
163         depends on NVMAP_PAGE_POOLS
164         default y
165         help
166           Say Y here to fill up the page pools during page pool init time.
167           This helps in faster alloctions right from the early alloction
168           requests. Page pools fill up during init would increase the boot time.
169           If increase in boot time is not acceptable, keep this option disabled.
170
171 config NVMAP_PAGE_POOL_SIZE
172         depends on NVMAP_PAGE_POOLS
173         hex
174         default 0x0
175
176 config NVMAP_CACHE_MAINT_BY_SET_WAYS
177         bool "Enable cache maintenance by set/ways"
178         depends on TEGRA_NVMAP
179         help
180          Say Y here to reduce cache maintenance overhead by MVA.
181          This helps in reducing cache maintenance overhead in the systems,
182          where inner cache includes only L1. For the systems, where inner cache
183          includes L1 and L2, keep this option disabled.
184
185 config NVMAP_OUTER_CACHE_MAINT_BY_SET_WAYS
186         bool "Enable outer cache maintenance by set/ways"
187         depends on TEGRA_NVMAP
188         help
189           Say Y here if you want to optimize cache maintenance for ranges
190           bigger than size of outer cache. This option has no effect on
191           system without outer cache.
192
193 config NVMAP_DEFERRED_CACHE_MAINT
194         bool "Enable deferred cache maintenance"
195         depends on TEGRA_NVMAP
196         help
197           Say Y here if you want to defer flush requests for
198           nvmap memory buffer. Cache maintenance of deferred requests
199           is more efficient since there is a high chance that cache lines
200           of earlier requests are already flushed. Also, if total size of
201           deferred ranges is big enough, we flush whole inner or outer
202           cache.
203
204 config NVMAP_VPR
205         bool "Enable VPR Heap."
206         depends on TEGRA_NVMAP
207         default n
208         help
209           Say Y here to enable Video Protection Region(VPR) heap.
210           if unsure, say N.
211
212 config NVMAP_FORCE_ZEROED_USER_PAGES
213         bool "Only alloc zeroed pages for user space"
214         depends on TEGRA_NVMAP
215         help
216           Say Y here to force zeroing of pages allocated for user space. This
217           avoids leaking kernel secure data to user space. This can add
218           significant overhead to allocation operations depending on the
219           allocation size requested.
220
221 config TEGRA_DSI
222         bool "Enable DSI panel."
223         default n
224         help
225           Say Y here to enable the DSI panel.
226
227 config TEGRA_DP
228         bool "Enable eDP panel."
229         default  n
230         help
231           Say Y here to enable eDP panel.
232
233 config NVMAP_CONVERT_CARVEOUT_TO_IOVMM
234         bool "Convert carveout to IOVMM"
235         depends on TEGRA_NVMAP && IOMMU_API
236         default y
237         help
238           Say Y here to force to convert carveout memory requests to
239           I/O virtual memory requests.
240
241 config NVMAP_HANDLE_MARSHAL
242         bool "Marshal nvmap handle id"
243         depends on TEGRA_NVMAP
244         help
245           Enables nvmap handle id marshalling. Marshalling converts
246           the nvmap handle id into an unique number before passing
247           the handle id to user/kernel clients. The marshalling
248           would allow sharing a 64-bit handle id as 32-bit id to
249           user space when kernel is 64-bit and user space is 32-bit.
250
251 config TEGRA_NVHDCP
252         bool "Support NVHDCP content protection on HDMI"
253         default n
254         help
255           Say Y here to support NVHDCP upstream and downstream protocols, this
256           requires a correctly fused chip to negotiate keys.
257
258 config TEGRA_HDMI_74MHZ_LIMIT
259         bool "Support only up to 74.25 MHz HDMI pixel frequency"
260         default n
261         help
262           Say Y here to make kernel report only low bandwidth modes.
263           Useful only for boards which can't deliver 148.50 MHz.
264
265 config TEGRA_GK20A_PMU
266         bool "Support GK20A PMU"
267         depends on TEGRA_GK20A
268         default n
269         help
270           Say Y here to enable GK20A PMU features.
271
272 endif
273
274 config TEGRA_CAMERA
275         bool "Enable support for tegra camera/isp hardware"
276         depends on ARCH_TEGRA
277         default y
278         help
279           Enables support for the Tegra camera interface
280
281           If unsure, say Y