14ffb7bfde431c5a6b3bca6cbef83a8110845e69
[linux-2.6.git] / arch / arm / mach-tegra / Kconfig
1 if ARCH_TEGRA
2
3 comment "NVIDIA Tegra options"
4
5 config ARCH_TEGRA_2x_SOC
6         bool "Enable support for Tegra20 family"
7         depends on !ARCH_TEGRA_3x_SOC
8         select ARCH_TEGRA_HAS_PCIE
9         select CPU_V7
10         select ARM_GIC
11         select ARM_SAVE_DEBUG_CONTEXT
12         select ARCH_REQUIRE_GPIOLIB
13         select USB_ARCH_HAS_EHCI if USB_SUPPORT
14         select USB_ULPI if USB_SUPPORT
15         select USB_ULPI_VIEWPORT if USB_SUPPORT
16         select ARM_ERRATA_742230 if SMP
17         select USB_ARCH_HAS_EHCI if USB_SUPPORT
18         select USB_ULPI if USB_SUPPORT
19         select USB_ULPI_VIEWPORT if USB_SUPPORT
20         select ARCH_SUPPORTS_MSI if TEGRA_PCI
21         select PCI_MSI if TEGRA_PCI
22         select CPA
23         help
24           Support for NVIDIA Tegra AP20 and T20 processors, based on the
25           ARM CortexA9MP CPU and the ARM PL310 L2 cache controller
26
27 config ARCH_TEGRA_3x_SOC
28         bool "Enable support for Tegra30 family"
29         select ARCH_TEGRA_HAS_PCIE
30         select ARCH_TEGRA_HAS_SATA
31         select ARCH_TEGRA_HAS_DUAL_3D
32         select ARCH_TEGRA_HAS_DUAL_CPU_CLUSTERS
33         select CPU_V7
34         select ARM_GIC
35         select ARM_SAVE_DEBUG_CONTEXT
36         select GIC_SET_MULTIPLE_CPUS if SMP
37         select ARCH_REQUIRE_GPIOLIB
38         select USB_ARCH_HAS_EHCI if USB_SUPPORT
39         select USB_ULPI if USB_SUPPORT
40         select USB_ULPI_VIEWPORT if USB_SUPPORT
41         select USE_OF
42         select REPORT_PRESENT_CPUS if TEGRA_AUTO_HOTPLUG
43         select ARCH_SUPPORTS_MSI if TEGRA_PCI
44         select PCI_MSI if TEGRA_PCI
45         select ARM_ERRATA_754322
46         select TEGRA_LP2_ARM_TWD if HAVE_ARM_TWD && !TEGRA_RAIL_OFF_MULTIPLE_CPUS
47         select CPA
48         help
49           Support for NVIDIA Tegra T30 processor family, based on the
50           ARM CortexA9MP CPU and the ARM PL310 L2 cache controller
51
52 config ARCH_TEGRA_HAS_DUAL_3D
53         bool
54
55 config ARCH_TEGRA_HAS_DUAL_CPU_CLUSTERS
56         bool
57
58 config ARCH_TEGRA_HAS_PCIE
59         bool
60
61 config ARCH_TEGRA_HAS_SATA
62         bool
63
64 config TEGRA_PCI
65         bool "PCIe host controller driver"
66         select PCI
67         depends on ARCH_TEGRA_HAS_PCIE
68         help
69           Adds PCIe Host controller driver for tegra based systems
70
71 comment "Tegra board type"
72
73 config MACH_HARMONY
74        bool "Harmony board"
75        depends on ARCH_TEGRA_2x_SOC
76        select MACH_HAS_SND_SOC_TEGRA_WM8903 if SND_SOC
77        help
78          Support for NVIDIA Harmony development platform
79
80 config MACH_VENTANA
81        bool "Ventana board"
82        depends on ARCH_TEGRA_2x_SOC
83        help
84          Support for NVIDIA Ventana development platform
85
86 config MACH_KAEN
87        bool "Kaen board"
88        depends on ARCH_TEGRA_2x_SOC
89        select MACH_SEABOARD
90        select MACH_HAS_SND_SOC_TEGRA_WM8903 if SND_SOC
91        help
92          Support for the Kaen version of Seaboard
93
94 config MACH_PAZ00
95        bool "Paz00 board"
96        depends on ARCH_TEGRA_2x_SOC
97        help
98          Support for the Toshiba AC100/Dynabook AZ netbook
99
100 config MACH_SEABOARD
101        bool "Seaboard board"
102        depends on ARCH_TEGRA_2x_SOC
103        select MACH_HAS_SND_SOC_TEGRA_WM8903 if SND_SOC
104        help
105          Support for nVidia Seaboard development platform. It will
106          also be included for some of the derivative boards that
107          have large similarities with the seaboard design.
108
109 config MACH_TEGRA_DT
110         bool "Generic Tegra20 board (FDT support)"
111         depends on ARCH_TEGRA_2x_SOC
112         select USE_OF
113         help
114           Support for generic NVIDIA Tegra20 boards using Flattened Device Tree
115
116 config MACH_TRIMSLICE
117        bool "TrimSlice board"
118        depends on ARCH_TEGRA_2x_SOC
119        select TEGRA_PCI
120        help
121          Support for CompuLab TrimSlice platform
122
123 config MACH_WARIO
124        bool "Wario board"
125        depends on ARCH_TEGRA_2x_SOC
126        select MACH_SEABOARD
127        help
128          Support for the Wario version of Seaboard
129
130 config MACH_VENTANA
131        bool "Ventana board"
132        depends on ARCH_TEGRA_2x_SOC
133        select MACH_TEGRA_DT
134        help
135          Support for the nVidia Ventana development platform
136
137 # Whistler
138
139 # Aruba
140
141 # Cardhu
142
143 config MACH_CARDHU
144        bool "Cardhu board"
145        depends on ARCH_TEGRA_3x_SOC
146        help
147          Support for NVIDIA Cardhu development platform
148
149 # Enterprise
150
151 config TEGRA_VERBIER_E1187
152        bool "Support for NVIDIA VERBIER E1187 platform"
153        default n
154        help
155          This enables the NVIDIA Tegra Verbier E1187 platform support.
156          Select this only if you are an NVIDIA developer working on
157          an verbier E1187 platforms. All others must leave this unselected.
158
159 choice
160        prompt "Tegra platform type"
161        default TEGRA_SILICON_PLATFORM
162
163 config TEGRA_SILICON_PLATFORM
164         bool "Silicon"
165         help
166           This enables support for a Tegra silicon platform.
167
168 config TEGRA_SIMULATION_PLATFORM
169         bool "Simulation"
170         help
171           This enables support for a Tegra simulation platform.
172           Select this only if you are an NVIDIA developer working
173           on a simulation platform.
174
175 config TEGRA_FPGA_PLATFORM
176         bool "FPGA"
177         help
178           This enables support for a Tegra FPGA platform.
179           Select this only if you are an NVIDIA developer working
180           on a FPGA platform.
181 endchoice
182
183 choice
184         prompt "Low-level debug console UART"
185         default TEGRA_DEBUG_UART_NONE
186
187 config TEGRA_DEBUG_UART_NONE
188         bool "None"
189
190 config TEGRA_DEBUG_UARTA
191         bool "UART-A"
192         depends on DEBUG_LL
193
194 config TEGRA_DEBUG_UARTB
195         bool "UART-B"
196         depends on DEBUG_LL
197
198 config TEGRA_DEBUG_UARTC
199         bool "UART-C"
200         depends on DEBUG_LL
201
202 config TEGRA_DEBUG_UARTD
203         bool "UART-D"
204         depends on DEBUG_LL
205
206 config TEGRA_DEBUG_UARTE
207         bool "UART-E"
208         depends on DEBUG_LL
209 endchoice
210
211 config TEGRA_SYSTEM_DMA
212         bool "Enable system DMA driver for NVIDIA Tegra SoCs"
213         default y
214         help
215           Adds system DMA functionality for NVIDIA Tegra SoCs, used by
216           several Tegra device drivers
217
218 config TEGRA_PWM
219         tristate "Enable PWM driver"
220         select HAVE_PWM
221         help
222           Enable support for the Tegra PWM controller(s).
223
224 config TEGRA_EMC_SCALING_ENABLE
225         bool "Enable scaling the memory frequency"
226         depends on TEGRA_SILICON_PLATFORM
227         default n
228
229 config TEGRA_CPU_DVFS
230         bool "Enable voltage scaling on Tegra CPU"
231         depends on TEGRA_SILICON_PLATFORM
232         default y
233
234 config TEGRA_CORE_DVFS
235         bool "Enable voltage scaling on Tegra core"
236         depends on TEGRA_SILICON_PLATFORM
237         depends on TEGRA_CPU_DVFS
238         default y
239
240 config TEGRA_IOVMM_GART
241         bool "Enable I/O virtual memory manager for GART"
242         depends on ARCH_TEGRA_2x_SOC
243         default y
244         select TEGRA_IOVMM
245         help
246           Enables support for remapping discontiguous physical memory
247           shared with the operating system into contiguous I/O virtual
248           space through the GART (Graphics Address Relocation Table)
249           hardware included on Tegra SoCs.
250
251 config TEGRA_IOVMM_SMMU
252         bool "Enable I/O virtual memory manager for SMMU"
253         depends on ARCH_TEGRA_3x_SOC
254         default y
255         select TEGRA_IOVMM
256         help
257           Enables support for remapping discontiguous physical memory
258           shared with the operating system into contiguous I/O virtual
259           space through the SMMU (System Memory Management Unit)
260           hardware included on Tegra SoCs.
261
262 config TEGRA_SMMU_BASE_AT_E0000000
263         bool "Force SMMU IOVA base to 0xe0000000"
264         depends on TEGRA_IOVMM_SMMU
265         default n
266         help
267           Forces SMMU IOVA base address to 0xe0000000 for debug purposes
268           only. Select n for production systems.
269
270 config TEGRA_IOVMM_SMMU_SYSFS
271         bool "Enable SMMU register access for debugging"
272         depends on TEGRA_IOVMM_SMMU
273         default n
274         help
275           Enables SMMU register access through /sys/devices/smmu/* files.
276
277 config TEGRA_IOVMM
278         bool
279
280 config TEGRA_AVP_KERNEL_ON_MMU
281         bool "Use AVP MMU to relocate AVP kernel"
282         depends on ARCH_TEGRA_2x_SOC
283         default y
284         help
285           Use AVP MMU to relocate AVP kernel (nvrm_avp.bin).
286
287 config TEGRA_AVP_KERNEL_ON_SMMU
288         bool "Use SMMU to relocate AVP kernel"
289         depends on TEGRA_IOVMM_SMMU
290         default y
291         help
292           Use SMMU to relocate AVP kernel (nvrm_avp.bin).
293
294 config TEGRA_ARB_SEMAPHORE
295         bool
296
297 config TEGRA_THERMAL_THROTTLE
298         bool "Enable throttling of CPU speed on overtemp"
299         depends on TEGRA_SILICON_PLATFORM
300         depends on CPU_FREQ
301         default y
302         help
303           Also requires enabling a temperature sensor such as NCT1008.
304
305 config WIFI_CONTROL_FUNC
306         bool "Enable WiFi control function abstraction"
307         help
308           Enables Power/Reset/Carddetect function abstraction
309
310 config TEGRA_CLOCK_DEBUG_WRITE
311         bool "Enable debugfs write access to clock tree"
312         depends on DEBUG_FS
313         default n
314
315 config TEGRA_CLUSTER_CONTROL
316         bool
317         depends on ARCH_TEGRA_HAS_DUAL_CPU_CLUSTERS
318         default y if PM_SLEEP
319
320 config TEGRA_AUTO_HOTPLUG
321         bool "Enable automatic CPU hot-plugging"
322         depends on HOTPLUG_CPU && CPU_FREQ && !ARCH_CPU_PROBE_RELEASE && !ARCH_TEGRA_2x_SOC
323         default y
324         help
325           This option enables turning CPUs off/on and switching tegra
326           high/low power CPU clusters automatically, corresponding to
327           CPU frequency scaling.
328
329 config TEGRA_MC_PROFILE
330         tristate "Enable profiling memory controller utilization"
331         default y
332         help
333           When enabled, provides a mechanism to perform statistical
334           sampling of the memory controller usage on a client-by-client
335           basis, and report the log through sysfs.
336
337 config TEGRA_EDP_LIMITS
338         bool "Enforce electrical design limits"
339         depends on TEGRA_SILICON_PLATFORM
340         depends on CPU_FREQ
341         default y if ARCH_TEGRA_3x_SOC
342         default n
343         help
344           Limit maximum CPU frequency based on temperature and number
345           of on-line CPUs to keep CPU rail current within power supply
346           capabilities.
347
348 config TEGRA_EMC_TO_DDR_CLOCK
349         int "EMC to DDR clocks ratio"
350         default "2" if ARCH_TEGRA_2x_SOC
351         default "1"
352
353 config TEGRA_LEGACY_AUDIO
354         bool "Enable Tegra Legacy Audio APIs"
355         default n
356         help
357           Say Y if you want to add support legacy (non-ALSA) audio APIs on
358           Tegra. This will disable ALSA (ASoC) support.
359
360 config TEGRA_STAT_MON
361         bool "Enable H/W statistics monitor"
362         depends on ARCH_TEGRA_2x_SOC
363         default n
364         help
365           Enables support for hardware statistics monitor for AVP.
366
367 config USB_HOTPLUG
368         bool "Enabling the USB hotplug"
369         default n
370
371 config TEGRA_DYNAMIC_PWRDET
372         bool "Enable dynamic activation of IO level auto-detection"
373         depends on TEGRA_SILICON_PLATFORM
374         default n
375         help
376           This option allows turning off tegra IO level auto-detection
377           when IO power is stable. If set auto-detection cells are active
378           only during power transitions, otherwise, the cells are active
379           always
380
381 config TEGRA_EDP_EXACT_FREQ
382         bool "Use maximum possible cpu frequency when EDP capping"
383         depends on TEGRA_EDP_LIMITS
384         default y
385         help
386           When enabled the cpu will run at the exact frequency
387           specified in the EDP table when EDP capping is applied; when
388           disabled the next lower cpufreq frequency will be used.
389
390 config TEGRA_USB_MODEM_POWER
391         bool "Enable tegra usb modem power management"
392         default n
393         help
394           This option enables support for out-of_band remote wakeup, selective
395           suspend and system suspend/resume.
396
397 config TEGRA_THERMAL_SYSFS
398         bool "Enable Thermal driver to use Thermal Sysfs infrastructure"
399         depends on THERMAL
400         default y
401
402 config TEGRA_PLLM_RESTRICTED
403         bool "Restrict PLLM usage as module clock source"
404         depends on !ARCH_TEGRA_2x_SOC
405         default n
406         help
407           When enabled, PLLM usage may be restricted to modules with dividers
408           capable of dividing maximum PLLM frequency at minimum voltage. When
409           disabled, PLLM is used as a clock source with no restrictions (which
410           may effectively increase lower limit for core voltage).
411
412 config TEGRA_WDT_RECOVERY
413         bool "Enable suspend/resume watchdog recovery mechanism"
414         default n
415         help
416           Enables watchdog recovery mechanism to protect against
417           suspend/resume hangs.
418
419 config TEGRA_LP2_ARM_TWD
420         bool
421
422 config TEGRA_RAIL_OFF_MULTIPLE_CPUS
423         bool
424
425 config TEGRA_SLOW_CSITE
426         bool "lower csite clock to 1 Mhz to reduce its power consumption"
427         default n
428         help
429           When enabled, csite will be running at 1 Mhz and the performance of
430           jtag, lauterbach and other debugger will be extremely slow.
431
432 config TEGRA_PREINIT_CLOCKS
433         bool "Preinitialize Tegra clocks to known states"
434         default n
435         help
436           Preinitialize Tegra clocks to known states before actual full-
437           scale clock initialization starts.
438 endif