ARM: tegra: enterprise: enable TI AIC326x codec
[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 MACH_HAS_SND_SOC_TEGRA_TLV320AIC326X if SND_SOC
166        select TEGRA_SLOW_CSITE
167        help
168          Support for NVIDIA Enterprise development platform
169
170 config MACH_KAI
171        bool "Kai board"
172        depends on ARCH_TEGRA_3x_SOC
173        select MACH_HAS_SND_SOC_TEGRA_RT5639 if SND_SOC
174        select MACH_HAS_SND_SOC_TEGRA_RT5640 if SND_SOC
175        help
176          Support for NVIDIA KAI development platform
177
178 choice
179        prompt "Tegra platform type"
180        default TEGRA_SILICON_PLATFORM
181
182 config TEGRA_SILICON_PLATFORM
183         bool "Silicon"
184         help
185           This enables support for a Tegra silicon platform.
186
187 config TEGRA_SIMULATION_PLATFORM
188         bool "Simulation"
189         help
190           This enables support for a Tegra simulation platform.
191           Select this only if you are an NVIDIA developer working
192           on a simulation platform.
193
194 config TEGRA_FPGA_PLATFORM
195         bool "FPGA"
196         help
197           This enables support for a Tegra FPGA platform.
198           Select this only if you are an NVIDIA developer working
199           on a FPGA platform.
200 endchoice
201
202 source "arch/arm/mach-tegra/p852/Kconfig"
203
204 choice
205         prompt "Low-level debug console UART"
206         default TEGRA_DEBUG_UART_NONE
207
208 config TEGRA_DEBUG_UART_NONE
209         bool "None"
210
211 config TEGRA_DEBUG_UARTA
212         bool "UART-A"
213         depends on DEBUG_LL
214
215 config TEGRA_DEBUG_UARTB
216         bool "UART-B"
217         depends on DEBUG_LL
218
219 config TEGRA_DEBUG_UARTC
220         bool "UART-C"
221         depends on DEBUG_LL
222
223 config TEGRA_DEBUG_UARTD
224         bool "UART-D"
225         depends on DEBUG_LL
226
227 config TEGRA_DEBUG_UARTE
228         bool "UART-E"
229         depends on DEBUG_LL
230 endchoice
231
232 config TEGRA_SYSTEM_DMA
233         bool "Enable system DMA driver for NVIDIA Tegra SoCs"
234         default y
235         help
236           Adds system DMA functionality for NVIDIA Tegra SoCs, used by
237           several Tegra device drivers
238
239 config TEGRA_PWM
240         tristate "Enable PWM driver"
241         select HAVE_PWM
242         help
243           Enable support for the Tegra PWM controller(s).
244
245 config TEGRA_FIQ_DEBUGGER
246         bool "Enable the FIQ serial debugger on Tegra"
247         default n
248         select FIQ_DEBUGGER
249         help
250           Enables the FIQ serial debugger on Tegra
251
252 config TEGRA_CARDHU_DSI
253         bool "Support DSI panel on Cardhu"
254         depends on MACH_CARDHU
255         select TEGRA_DSI
256         help
257                 Support for DSI Panel on Nvidia Cardhu
258
259 config TEGRA_EMC_SCALING_ENABLE
260         bool "Enable scaling the memory frequency"
261         depends on TEGRA_SILICON_PLATFORM
262         default n
263
264 config TEGRA_CPU_DVFS
265         bool "Enable voltage scaling on Tegra CPU"
266         depends on TEGRA_SILICON_PLATFORM
267         default y
268
269 config TEGRA_CORE_DVFS
270         bool "Enable voltage scaling on Tegra core"
271         depends on TEGRA_SILICON_PLATFORM
272         depends on TEGRA_CPU_DVFS
273         default y
274
275 config TEGRA_IOVMM_GART
276         bool "Enable I/O virtual memory manager for GART"
277         depends on ARCH_TEGRA_2x_SOC
278         default y
279         select TEGRA_IOVMM
280         help
281           Enables support for remapping discontiguous physical memory
282           shared with the operating system into contiguous I/O virtual
283           space through the GART (Graphics Address Relocation Table)
284           hardware included on Tegra SoCs.
285
286 config TEGRA_IOVMM_SMMU
287         bool "Enable I/O virtual memory manager for SMMU"
288         depends on ARCH_TEGRA_3x_SOC
289         default y
290         select TEGRA_IOVMM
291         help
292           Enables support for remapping discontiguous physical memory
293           shared with the operating system into contiguous I/O virtual
294           space through the SMMU (System Memory Management Unit)
295           hardware included on Tegra SoCs.
296
297 config TEGRA_SMMU_BASE_AT_E0000000
298         bool "Force SMMU IOVA base to 0xe0000000"
299         depends on TEGRA_IOVMM_SMMU
300         default n
301         help
302           Forces SMMU IOVA base address to 0xe0000000 for debug purposes
303           only. Select n for production systems.
304
305 config TEGRA_IOVMM_SMMU_SYSFS
306         bool "Enable SMMU register access for debugging"
307         depends on TEGRA_IOVMM_SMMU
308         default n
309         help
310           Enables SMMU register access through /sys/devices/smmu/* files.
311
312 config TEGRA_IOVMM
313         bool
314
315 config TEGRA_AVP_KERNEL_ON_MMU
316         bool "Use AVP MMU to relocate AVP kernel"
317         depends on ARCH_TEGRA_2x_SOC
318         default y
319         help
320           Use AVP MMU to relocate AVP kernel (nvrm_avp.bin).
321
322 config TEGRA_AVP_KERNEL_ON_SMMU
323         bool "Use SMMU to relocate AVP kernel"
324         depends on TEGRA_IOVMM_SMMU
325         default y
326         help
327           Use SMMU to relocate AVP kernel (nvrm_avp.bin).
328
329 config TEGRA_ARB_SEMAPHORE
330         bool
331
332 config TEGRA_THERMAL_THROTTLE
333         bool "Enable throttling of CPU speed on overtemp"
334         depends on TEGRA_SILICON_PLATFORM
335         depends on CPU_FREQ
336         default y
337         help
338           Also requires enabling a temperature sensor such as NCT1008.
339
340 config WIFI_CONTROL_FUNC
341         bool "Enable WiFi control function abstraction"
342         help
343           Enables Power/Reset/Carddetect function abstraction
344
345 config TEGRA_CLOCK_DEBUG_WRITE
346         bool "Enable debugfs write access to clock tree"
347         depends on DEBUG_FS
348         default n
349
350 config TEGRA_CLUSTER_CONTROL
351         bool
352         depends on ARCH_TEGRA_HAS_DUAL_CPU_CLUSTERS
353         default y if PM_SLEEP
354
355 config TEGRA_AUTO_HOTPLUG
356         bool "Enable automatic CPU hot-plugging"
357         depends on HOTPLUG_CPU && CPU_FREQ && !ARCH_CPU_PROBE_RELEASE && !ARCH_TEGRA_2x_SOC
358         default y
359         help
360           This option enables turning CPUs off/on and switching tegra
361           high/low power CPU clusters automatically, corresponding to
362           CPU frequency scaling.
363
364 config TEGRA_MC_PROFILE
365         tristate "Enable profiling memory controller utilization"
366         default y
367         help
368           When enabled, provides a mechanism to perform statistical
369           sampling of the memory controller usage on a client-by-client
370           basis, and report the log through sysfs.
371
372 config TEGRA_EDP_LIMITS
373         bool "Enforce electrical design limits"
374         depends on TEGRA_SILICON_PLATFORM
375         depends on CPU_FREQ
376         default y if ARCH_TEGRA_3x_SOC
377         default n
378         help
379           Limit maximum CPU frequency based on temperature and number
380           of on-line CPUs to keep CPU rail current within power supply
381           capabilities.
382
383 config TEGRA_EMC_TO_DDR_CLOCK
384         int "EMC to DDR clocks ratio"
385         default "2" if ARCH_TEGRA_2x_SOC
386         default "1"
387
388 config TEGRA_CONVSERVATIVE_GOV_ON_EARLYSUPSEND
389         bool "Use conservative cpu frequency governor when device enters early suspend"
390         depends on HAS_EARLYSUSPEND && CPU_FREQ
391         default n
392         help
393          Also will restore to original cpu frequency governor when device is resumed
394
395 config TEGRA_LEGACY_AUDIO
396         bool "Enable Tegra Legacy Audio APIs"
397         default n
398         help
399           Say Y if you want to add support legacy (non-ALSA) audio APIs on
400           Tegra. This will disable ALSA (ASoC) support.
401
402 config TEGRA_STAT_MON
403         bool "Enable H/W statistics monitor"
404         depends on ARCH_TEGRA_2x_SOC
405         default n
406         help
407           Enables support for hardware statistics monitor for AVP.
408
409 config USB_HOTPLUG
410         bool "Enabling the USB hotplug"
411         default n
412
413 config TEGRA_DYNAMIC_PWRDET
414         bool "Enable dynamic activation of IO level auto-detection"
415         depends on TEGRA_SILICON_PLATFORM
416         default n
417         help
418           This option allows turning off tegra IO level auto-detection
419           when IO power is stable. If set auto-detection cells are active
420           only during power transitions, otherwise, the cells are active
421           always
422
423 config TEGRA_EDP_EXACT_FREQ
424         bool "Use maximum possible cpu frequency when EDP capping"
425         depends on TEGRA_EDP_LIMITS
426         default y
427         help
428           When enabled the cpu will run at the exact frequency
429           specified in the EDP table when EDP capping is applied; when
430           disabled the next lower cpufreq frequency will be used.
431
432 config TEGRA_USB_MODEM_POWER
433         bool "Enable tegra usb modem power management"
434         default n
435         help
436           This option enables support for out-of_band remote wakeup, selective
437           suspend and system suspend/resume.
438
439 config TEGRA_BB_XMM_POWER
440         bool "Enable power driver for XMM modem"
441         default n
442         help
443           Enables power driver which controls gpio signals to XMM modem.
444
445 config TEGRA_BB_XMM_POWER2
446         tristate "Enable power driver for XMM modem (flashless)"
447         default n
448         help
449           Enables power driver which controls gpio signals to XMM modem
450           (in flashless configuration).  User-mode application must
451           insert this LKM to initiate 2nd USB enumeration power sequence
452           - after modem software has been downloaded to flashless device.
453
454 config TEGRA_THERMAL_SYSFS
455         bool "Enable Thermal driver to use Thermal Sysfs infrastructure"
456         depends on THERMAL
457         default y
458
459 config TEGRA_PLLM_RESTRICTED
460         bool "Restrict PLLM usage as module clock source"
461         depends on !ARCH_TEGRA_2x_SOC
462         default n
463         help
464           When enabled, PLLM usage may be restricted to modules with dividers
465           capable of dividing maximum PLLM frequency at minimum voltage. When
466           disabled, PLLM is used as a clock source with no restrictions (which
467           may effectively increase lower limit for core voltage).
468
469 config TEGRA_WDT_RECOVERY
470         bool "Enable suspend/resume watchdog recovery mechanism"
471         default n
472         help
473           Enables watchdog recovery mechanism to protect against
474           suspend/resume hangs.
475
476 config TEGRA_LP2_ARM_TWD
477         bool
478
479 config TEGRA_RAIL_OFF_MULTIPLE_CPUS
480         bool
481
482 config TEGRA_SLOW_CSITE
483         bool "lower csite clock to 1 Mhz to reduce its power consumption"
484         default n
485         help
486           When enabled, csite will be running at 1 Mhz and the performance of
487           jtag, lauterbach and other debugger will be extremely slow.
488
489 config TEGRA_PREINIT_CLOCKS
490         bool "Preinitialize Tegra clocks to known states"
491         default n
492         help
493           Preinitialize Tegra clocks to known states before actual full-
494           scale clock initialization starts.
495 endif