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