47c4addfc3d7b4d3f9d99da1942bc6fe27f07a8f
[linux-3.10.git] / arch / arm / mach-tegra / Kconfig
1 # Copyright (c) 2012, NVIDIA CORPORATION.  All rights reserved.
2 #
3 # This program is free software; you can redistribute it and/or modify it
4 # under the terms and conditions of the GNU General Public License,
5 # version 2, as published by the Free Software Foundation.
6 #
7 # This program is distributed in the hope it will be useful, but WITHOUT
8 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
9 # FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
10 # more details.
11 #
12 # You should have received a copy of the GNU General Public License
13 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
14
15 if ARCH_TEGRA
16
17 comment "NVIDIA Tegra options"
18
19 config ARCH_TEGRA_2x_SOC
20         bool "Enable support for Tegra20 family"
21         depends on !ARCH_TEGRA_3x_SOC
22         depends on !ARCH_TEGRA_11x_SOC
23         depends on !ARCH_TEGRA_14x_SOC
24         select ARCH_NEEDS_CPU_IDLE_COUPLED if SMP
25         select ARCH_SUPPORTS_MSI if TEGRA_PCI
26         select ARCH_TEGRA_HAS_ARM_SCU
27         select ARCH_TEGRA_HAS_PCIE
28         select ARM_CPU_SUSPEND if PM
29         select ARM_ERRATA_716044
30         select ARM_ERRATA_720789
31         select ARM_ERRATA_742230 if SMP
32         select ARM_ERRATA_751472
33         select ARM_ERRATA_754327 if SMP
34         select ARM_ERRATA_761320 if SMP
35         select ARM_ERRATA_764369 if SMP
36         select ARM_GIC
37         select ARM_SAVE_DEBUG_CONTEXT if PM_SLEEP
38         select COMMON_CLK
39         select CPA
40         select CPU_FREQ_TABLE if CPU_FREQ
41         select CPU_V7
42         select NVMAP_CACHE_MAINT_BY_SET_WAYS
43         select NVMAP_DEFERRED_CACHE_MAINT
44         select NVMAP_OUTER_CACHE_MAINT_BY_SET_WAYS
45         select PCI_MSI if TEGRA_PCI
46         select PINCTRL
47         select PINCTRL_TEGRA20
48         select PL310_ERRATA_769419 if CACHE_L2X0
49         select PM_GENERIC_DOMAINS if PM
50         select SOC_BUS
51         select USB_ARCH_HAS_EHCI if USB_SUPPORT
52         select USB_ULPI if USB_PHY
53         select USB_ULPI_VIEWPORT if USB_PHY
54         help
55           Support for NVIDIA Tegra AP20 and T20 processors, based on the
56           ARM CortexA9MP CPU and the ARM PL310 L2 cache controller
57
58 config ARCH_TEGRA_3x_SOC
59         bool "Enable support for Tegra30 family"
60         depends on !ARCH_TEGRA_11x_SOC
61         depends on !ARCH_TEGRA_14x_SOC
62         select ARCH_SUPPORTS_MSI if TEGRA_PCI
63         select ARCH_TEGRA_HAS_ARM_SCU
64         select ARCH_TEGRA_HAS_PCIE
65         select ARCH_TEGRA_HAS_SATA
66         select ARCH_TEGRA_HAS_DUAL_3D
67         select ARCH_TEGRA_HAS_DUAL_CPU_CLUSTERS
68         select ARM_CPU_SUSPEND if PM
69         select ARM_ERRATA_743622
70         select ARM_ERRATA_751472
71         select ARM_ERRATA_754322
72         select ARM_ERRATA_761320 if SMP
73         select ARM_ERRATA_764369 if SMP
74         select ARM_GIC
75         select ARM_SAVE_DEBUG_CONTEXT if PM_SLEEP
76         select COMMON_CLK
77         select CPA
78         select CPU_FREQ_TABLE if CPU_FREQ
79         select CPU_V7
80         select GIC_SET_MULTIPLE_CPUS if SMP
81         select NVMAP_CACHE_MAINT_BY_SET_WAYS
82         select NVMAP_DEFERRED_CACHE_MAINT
83         select NVMAP_OUTER_CACHE_MAINT_BY_SET_WAYS
84         select PCI_MSI if TEGRA_PCI
85         select PINCTRL
86         select PINCTRL_TEGRA30
87         select PL310_ERRATA_727915
88         select PL310_ERRATA_769419 if CACHE_L2X0
89         select PM_GENERIC_DOMAINS if PM
90         select REPORT_PRESENT_CPUS if TEGRA_AUTO_HOTPLUG
91         select SOC_BUS
92         select TEGRA_LATENCY_ALLOWANCE
93         select TEGRA_LATENCY_ALLOWANCE_SCALING
94         select TEGRA_LP2_CPU_TIMER if HAVE_ARM_TWD && !TEGRA_RAIL_OFF_MULTIPLE_CPUS
95         select USB_ARCH_HAS_EHCI if USB_SUPPORT
96         select USB_ULPI if USB_PHY
97         select USB_ULPI_VIEWPORT if USB_PHY
98         help
99           Support for NVIDIA Tegra T30 processor family, based on the
100           ARM CortexA9MP CPU and the ARM PL310 L2 cache controller
101
102 config ARCH_TEGRA_11x_SOC
103         bool "Tegra 11x family SOC"
104         depends on !ARCH_TEGRA_14x_SOC
105         select ARCH_REQUIRE_GPIOLIB
106         select ARCH_TEGRA_4GB_MEMORY
107         select ARCH_TEGRA_HAS_CL_DVFS
108         select ARCH_TEGRA_HAS_DUAL_CPU_CLUSTERS
109         select ARCH_TEGRA_HAS_SYMMETRIC_CPU_PWR_GATE
110         select ARM_ARCH_TIMER
111         select ARM_CPU_SUSPEND if PM
112         select ARM_GIC
113         select ARM_L1_CACHE_SHIFT_6
114         select ARM_SAVE_DEBUG_CONTEXT if PM_SLEEP
115         select CPA
116         select CPU_V7
117         select NVMAP_CACHE_MAINT_BY_SET_WAYS
118         select NVMAP_DEFERRED_CACHE_MAINT
119         select PINCTRL
120         select PM_GENERIC_DOMAINS if PM
121         select REPORT_PRESENT_CPUS if TEGRA_AUTO_HOTPLUG
122         select SOC_BUS
123         select TEGRA_DUAL_CBUS
124         select TEGRA_CORE_EDP_LIMITS
125         select TEGRA_ERRATA_977223
126         select TEGRA_ERRATA_1157520
127         select TEGRA_ISOMGR
128         select TEGRA_ISOMGR_SYSFS
129         select TEGRA_ISOMGR_DEBUG
130         select TEGRA_LATENCY_ALLOWANCE
131         select TEGRA_LP2_CPU_TIMER if !TEGRA_RAIL_OFF_MULTIPLE_CPUS
132         select TEGRA_MC_PTSA if !TEGRA_FPGA_PLATFORM
133         select TEGRA_THERMAL_THROTTLE_EXACT_FREQ
134         select USB_ARCH_HAS_EHCI if USB_SUPPORT
135         select USB_EHCI_TEGRA if USB_SUPPORT
136         select USB_ULPI if USB_SUPPORT
137         select USB_ULPI_VIEWPORT if USB_SUPPORT
138         help
139           Support for NVIDIA Tegra 11x family of SoCs, based upon the
140           ARM Cortex-A15MP CPU
141
142 config ARCH_TEGRA_HAS_ARM_SCU
143         bool
144
145 config ARCH_TEGRA_14x_SOC
146         bool "Tegra 14x family SOC"
147         select ARCH_TEGRA_HAS_ARM_SCU
148         select ARCH_TEGRA_HAS_CL_DVFS
149         select ARCH_TEGRA_HAS_SYMMETRIC_CPU_PWR_GATE
150         select ARM_CPU_SUSPEND if PM
151         select ARM_ERRATA_764369 if SMP
152         select ARM_GIC
153         select ARM_SAVE_DEBUG_CONTEXT if PM_SLEEP
154         select PINCTRL
155         select ARM_SAVE_DEBUG_CONTEXT if PM_SLEEP
156         select ARCH_TEGRA_HAS_DUAL_CPU_CLUSTERS
157         select CPA
158         select CPU_V7
159         select EDP_FRAMEWORK
160         select GIC_SET_MULTIPLE_CPUS if SMP
161         select NVMAP_CACHE_MAINT_BY_SET_WAYS
162         select NVMAP_DEFERRED_CACHE_MAINT
163         select NVMAP_OUTER_CACHE_MAINT_BY_SET_WAYS
164         select PM_GENERIC_DOMAINS if PM
165         select REPORT_PRESENT_CPUS if TEGRA_AUTO_HOTPLUG
166         select SOC_BUS
167         select TEGRA_DUAL_CBUS
168         select TEGRA_ERRATA_977223
169         select TEGRA_ISOMGR
170         select TEGRA_LP2_CPU_TIMER if HAVE_ARM_TWD && !TEGRA_RAIL_OFF_MULTIPLE_CPUS
171         select USB_ARCH_HAS_EHCI if USB_SUPPORT
172         select USB_EHCI_TEGRA if USB_SUPPORT
173         select USB_ULPI if USB_SUPPORT
174         select USB_ULPI_VIEWPORT if USB_SUPPORT
175         help
176           Support for NVIDIA Tegra 14x family of SoCs, based upon the
177           ARM CortexA9MP CPU and the ARM PL310 L2 cache controller
178
179 config ARCH_TEGRA_HAS_DUAL_3D
180         bool
181
182 config ARCH_TEGRA_HAS_DUAL_CPU_CLUSTERS
183         bool
184
185 config ARCH_TEGRA_HAS_SYMMETRIC_CPU_PWR_GATE
186         bool
187
188 config ARCH_TEGRA_HAS_PCIE
189         bool
190
191 config ARCH_TEGRA_HAS_SATA
192         bool
193
194 config ARCH_TEGRA_HAS_CL_DVFS
195         bool
196
197 config TEGRA_PCI
198         bool "PCIe host controller driver"
199         select PCI
200         depends on ARCH_TEGRA_HAS_PCIE
201         help
202           Adds PCIe Host controller driver for tegra based systems
203
204 config TEGRA_AHB
205         bool "Enable AHB driver for NVIDIA Tegra SoCs"
206         default y
207         help
208           Adds AHB configuration functionality for NVIDIA Tegra SoCs,
209           which controls AHB bus master arbitration and some
210           performance parameters(priority, prefech size).
211
212 comment "Tegra board type"
213
214 config MACH_CURACAO
215        bool "Curacao board"
216        depends on ARCH_TEGRA_11x_SOC
217        select MACH_HAS_SND_SOC_TEGRA_WM8903 if SND_SOC
218        select TEGRA_FPGA_PLATFORM
219        help
220          Support for NVIDIA Curacao FPGA development platform
221
222
223 config MACH_DALMORE
224        bool "Dalmore board"
225        depends on ARCH_TEGRA_11x_SOC
226        select MACH_HAS_SND_SOC_TEGRA_RT5639 if SND_SOC
227        select MACH_HAS_SND_SOC_TEGRA_RT5640 if SND_SOC
228        help
229          Support for NVIDIA DALMORE development platform
230
231 config MACH_PISMO
232        bool "Pismo board"
233        depends on ARCH_TEGRA_11x_SOC
234        select MACH_HAS_SND_SOC_TEGRA_RT5639 if SND_SOC
235        select MACH_HAS_SND_SOC_TEGRA_RT5640 if SND_SOC
236        help
237          Support for NVIDIA PISMO development platform
238
239 config MACH_TEGRA_PLUTO
240        bool "Pluto board"
241        depends on ARCH_TEGRA_11x_SOC
242        select MACH_HAS_SND_SOC_TEGRA_CS42L73 if SND_SOC
243        select MACH_HAS_SND_SOC_TEGRA_TLV320AIC326X if SND_SOC
244        select EDP_FRAMEWORK
245        help
246          Support for NVIDIA PLUTO development platform
247
248 config MACH_ROTH
249        bool "Thor board"
250        depends on ARCH_TEGRA_11x_SOC
251        select MACH_HAS_SND_SOC_TEGRA_RT5639 if SND_SOC
252        select MACH_HAS_SND_SOC_TEGRA_RT5640 if SND_SOC
253        help
254          Support for NVIDIA THOR development platform
255
256 choice
257        prompt "Tegra platform type"
258        default TEGRA_SILICON_PLATFORM
259
260 config TEGRA_SILICON_PLATFORM
261         bool "Silicon"
262         help
263           This enables support for a Tegra silicon platform.
264
265 config TEGRA_SIMULATION_PLATFORM
266         bool "Simulation"
267         select TEGRA_PRE_SILICON_SUPPORT
268         select LESS_GCC_OPT if DEBUG_KERNEL
269         help
270           This enables support for a Tegra simulation platform.
271           Select this only if you are an NVIDIA developer working
272           on a simulation platform.
273
274 config TEGRA_FPGA_PLATFORM
275         bool "FPGA"
276         select TEGRA_PRE_SILICON_SUPPORT
277         help
278           This enables support for a Tegra FPGA platform.
279           Select this only if you are an NVIDIA developer working
280           on a FPGA platform.
281 endchoice
282
283 config TEGRA_PRE_SILICON_SUPPORT
284         bool "Enable pre-silicon platform support"
285         help
286           This enables support for Tegra early development platforms.
287           Select this only if you are an NVIDIA developer working on
288           FPGA, Emulation or Simulation.
289
290 config TEGRA_FIQ_DEBUGGER
291         bool "Enable the FIQ serial debugger on Tegra"
292         default n
293         select FIQ_DEBUGGER
294         help
295           Enables the FIQ serial debugger on Tegra
296
297 config TEGRA_EMC_SCALING_ENABLE
298         bool "Enable scaling the memory frequency"
299         depends on TEGRA_SILICON_PLATFORM
300         default n
301
302 config TEGRA_CPU_DVFS
303         bool "Enable voltage scaling on Tegra CPU"
304         depends on TEGRA_SILICON_PLATFORM
305         default y
306
307 config TEGRA_CORE_DVFS
308         bool "Enable voltage scaling on Tegra core"
309         depends on TEGRA_SILICON_PLATFORM
310         depends on !ARCH_TEGRA_14x_SOC
311         depends on TEGRA_CPU_DVFS
312         default y
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         depends on THERMAL
336         default y
337         help
338           Also requires enabling a temperature sensor such as NCT1008.
339
340 config TEGRA_THERMAL_THROTTLE_EXACT_FREQ
341         bool "Use exact cpu frequency capping when thermal throttling"
342         depends on TEGRA_THERMAL_THROTTLE
343         default n
344         help
345           When this option is enabled, the cpu will run at the exact
346           frequency specified in the thermal throttle table when thermal
347           throttling; when disabled, the cpu frequency will clip to
348           the next lower frequency from the cpu frequency table.
349
350 config TEGRA_CLOCK_DEBUG_WRITE
351         bool "Enable debugfs write access to clock tree"
352         depends on DEBUG_FS
353         default n
354
355 config TEGRA_CLUSTER_CONTROL
356         bool
357         depends on ARCH_TEGRA_HAS_DUAL_CPU_CLUSTERS
358         default y if PM_SLEEP
359
360 config TEGRA_CPUQUIET
361         bool
362
363 config TEGRA_AUTO_HOTPLUG
364         bool "Enable automatic CPU hot-plugging"
365         depends on HOTPLUG_CPU && CPU_FREQ && !ARCH_CPU_PROBE_RELEASE && !ARCH_TEGRA_2x_SOC
366         select TEGRA_CPUQUIET
367         default y
368         help
369           This option enables turning CPUs off/on and switching tegra
370           high/low power CPU clusters automatically, corresponding to
371           CPU frequency scaling.
372
373 config TEGRA_MC_EARLY_ACK
374         bool "Enable early acknowledgement from mermory controller"
375         depends on ARCH_TEGRA_3x_SOC || ARCH_TEGRA_11x_SOC
376         default y
377         help
378           This option enables early acknowledgement from memory
379           controller. This feature is used to improve CPU memory
380           write performance.
381
382 config TEGRA_ERRATA_1157520
383         bool "Memory writes are not consistent/ordered from CPU"
384         depends on ARCH_TEGRA_11x_SOC
385         help
386           On T11x With early ack scoreboard on, the read/writes to
387           SO and Non-Cached meory are randomly not observed in the
388           order they are performed. Enabling this errata disables
389           early ack scoreboard for T11x.
390
391 config TEGRA_ERRATA_977223
392         bool "PTSA ring 1 to ring 0 does not account for forced coalescing"
393         depends on ARCH_TEGRA_11x_SOC || ARCH_TEGRA_14x_SOC
394         help
395           The forced coalescing logic will "drop" the first request of the
396           coalesced pair after the ring 1 snap arbiter.  This means that for
397           forced coalescing clients, ring 0 only sees half the requests.
398           Therefore the grant decrement for the ptsa would only happen 1/2 of
399           the expected times resulting in ring 1 input always being
400           high priority. A SW work around is to program the ring 1 input to
401           ring 0 ptsa rate to be 1/2 of the value intended.
402
403 config TEGRA_EDP_LIMITS
404         bool "Enforce electrical design limits on CPU rail"
405         depends on TEGRA_SILICON_PLATFORM
406         depends on CPU_FREQ
407         depends on THERMAL
408         default y if ARCH_TEGRA_3x_SOC
409         default n
410         help
411           Limit maximum CPU frequency based on temperature and number
412           of on-line CPUs to keep CPU rail current within power supply
413           capabilities.
414
415 config TEGRA_EMC_TO_DDR_CLOCK
416         int "EMC to DDR clocks ratio"
417         default "2" if ARCH_TEGRA_2x_SOC
418         default "1"
419
420 config TEGRA_GADGET_BOOST_CPU_FREQ
421         int "Boost cpu frequency for tegra usb gadget (0-1300 mhz)"
422         range 0 1300
423         default 0
424         help
425           Devices need to boost frequency of CPU when they are connected
426           to host pc through usb cable for better performance. This value
427           is the amount of the frequency (in mhz) to be boosted. If it is
428           zero boosting frequency will not be enabled. This value will be
429           used only by usb gadget driver.
430
431 config TEGRA_DYNAMIC_PWRDET
432         bool "Enable dynamic activation of IO level auto-detection"
433         depends on TEGRA_SILICON_PLATFORM
434         default n
435         help
436           This option allows turning off tegra IO level auto-detection
437           when IO power is stable. If set auto-detection cells are active
438           only during power transitions, otherwise, the cells are active
439           always
440
441 config TEGRA_EDP_EXACT_FREQ
442         bool "Use maximum possible cpu frequency when EDP capping"
443         depends on TEGRA_EDP_LIMITS
444         default y
445         help
446           When enabled the cpu will run at the exact frequency
447           specified in the EDP table when EDP capping is applied; when
448           disabled the next lower cpufreq frequency will be used.
449
450 config TEGRA_WAKEUP_MONITOR
451         bool "Enable tegra wakeup monitor"
452         depends on PM_SLEEP
453         help
454           This option enables support for the monitor of tegra wakeups, it will
455           send out wakeup source and uevents which indicate suspend_prepare and
456           post_suspend.
457
458 config TEGRA_USB_MODEM_POWER
459         bool "Enable tegra usb modem power management"
460         default n
461         help
462           This option enables support for out-of_band remote wakeup, selective
463           suspend and system suspend/resume.
464
465 config TEGRA_BB_XMM_POWER
466         bool "Enable power driver for XMM modem"
467         default n
468         help
469           Enables power driver which controls gpio signals to XMM modem.
470
471 config TEGRA_BB_XMM_POWER2
472         tristate "Enable power driver for XMM modem (flashless)"
473         default n
474         help
475           Enables power driver which controls gpio signals to XMM modem
476           (in flashless configuration).  User-mode application must
477           insert this LKM to initiate 2nd USB enumeration power sequence
478           - after modem software has been downloaded to flashless device.
479
480 config TEGRA_BBC_PROXY
481         bool "Enable BBC Proxy driver"
482         default n
483         help
484           Enables driver which handles miscellaneous services required
485           by the BB core. Handles initialization of EDP, ISO Bandwidth,
486           and Latency Allowance settings. Additional setting adjustments
487           can be done from user space through sysfs.
488
489 config TEGRA_PLLM_RESTRICTED
490         bool "Restrict PLLM usage as module clock source"
491         depends on !ARCH_TEGRA_2x_SOC
492         default n
493         help
494           When enabled, PLLM usage may be restricted to modules with dividers
495           capable of dividing maximum PLLM frequency at minimum voltage. When
496           disabled, PLLM is used as a clock source with no restrictions (which
497           may effectively increase lower limit for core voltage).
498
499 config TEGRA_WDT_RECOVERY
500         bool "Enable suspend/resume watchdog recovery mechanism"
501         default n
502         help
503           Enables watchdog recovery mechanism to protect against
504           suspend/resume hangs.
505
506 config TEGRA_LP2_CPU_TIMER
507         bool
508
509 config TEGRA_RAIL_OFF_MULTIPLE_CPUS
510         bool
511
512 config TEGRA_SLOW_CSITE
513         bool "lower csite clock to 1 Mhz to reduce its power consumption"
514         default n
515         help
516           When enabled, csite will be running at 1 Mhz and the performance of
517           jtag, lauterbach and other debugger will be extremely slow.
518
519 config TEGRA_PREPOWER_WIFI
520         bool "Pre-power up WiFi "
521         default n
522         help
523           Pre-power up the on board WiFi chip
524
525 config TEGRA_DYNAMIC_CBUS
526         bool "Adjust dynamically graphics clocks cumulative dvfs table"
527
528 config TEGRA_DUAL_CBUS
529         bool "Use two plls (PLLC2/PLLC3) as graphics clocks sources"
530
531 config TEGRA_MIGRATE_CBUS_USERS
532         bool "Move cbus users between source plls to optimize cumulative dvfs"
533         depends on TEGRA_DYNAMIC_CBUS && TEGRA_DUAL_CBUS
534
535 config TEGRA_SKIN_THROTTLE
536         bool "Skin Temperature throttling"
537         depends on TEGRA_THERMAL_THROTTLE
538         depends on THERM_EST
539         default n
540         help
541           Enable throttling to control the temperature of the skin/case
542           of the device.
543
544 config ARCH_TEGRA_4GB_MEMORY
545         bool "Full 4GB physical memory support"
546         default n
547         help
548           Harmless to select this even if hardware does not support full
549           4GB physical memory.
550
551 config TEGRA_LP1_950
552         bool "LP1 low core voltage"
553         default n
554         depends on ARCH_TEGRA_3x_SOC
555         help
556                 Enable support for LP1 Core voltage to set to lowest
557
558 config TEGRA_LATENCY_ALLOWANCE
559         bool "Allow memory clients to configure latency allowance"
560         help
561           Latency allowance is a per-memory-client setting that tells the
562           memory controller how long it can ignore a request in favor of
563           others. In other words, It indicates how long a request from specific
564           memory client can wait before it is served.
565           Enabling this option allows memory clients configure the
566           latency allowance as per their bandwidth requirement.
567
568 config TEGRA_LATENCY_ALLOWANCE_SCALING
569         bool "Enable latency allowance scaling"
570         depends on TEGRA_LATENCY_ALLOWANCE
571         help
572           Enables latency allowance scaling, which enables scaling
573           programmed latency allowance values based on fifo threshold levels
574           set for for display and vi hardware.
575
576 config TEGRA_BASEBAND
577         bool "Enable integrated tegra baseband support"
578         default n
579         help
580           This option enables support for integrated icera baseband
581           This driver is used to setup shared memory space, provide
582           functions to handle IPC mechanism and a sysfs interface for IPC
583           notification which support polling on sysfs file.
584
585 config TEGRA_BASEBAND_SIMU
586         bool "Enable integrated tegra baseband simulation"
587         select TEGRA_BASEBAND
588         help
589           This option enables tegra baseband simulation when actual hardware
590           is not present. IPC is simulated when writing to status file which
591           allow high level tests in local loopback
592
593 config TEGRA_MC_PTSA
594         bool "Enable MC PTSA programming"
595         depends on TEGRA_LATENCY_ALLOWANCE
596         help
597           Enables Priority Tier Snap Arbiter programming in
598           Memory Controller. PTSA is a Memory Controller feature that
599           allows specifying the bandwidth necessary for ISO clients.
600
601 config TEGRA_ISOMGR
602         bool "Isochronous Bandwidth Manager "
603         help
604           When enabled, drivers for ISO units can obtain ISO BW.
605           The memory controller (MC) for each Tegra platform can supply
606           a limited amount of isochronous (real-time) bandwidth.  When
607           enabled, isomgr will manage a pool of ISO BW.
608
609 config TEGRA_ISOMGR_POOL_KB_PER_SEC
610         int "Size of isomgr pool "
611         default 0
612         help
613           Set this maximum ISO BW (in Kbytes/sec) that platform supports.
614           The memory controller (MC) for each Tegra platform can supply
615           a limited amount of isochronous (real-time) bandwidth.  Each
616           platform must specify the maximum amount of ISO BW that isomgr
617           should manage.
618
619 config TEGRA_ISOMGR_SYSFS
620         bool "Visibility into Isochronous Bandwidth Manager state "
621         depends on TEGRA_ISOMGR
622         help
623           When enabled, sysfs can be used to query isomgr state.
624           This is used for visibility into isomgr state.  It could
625           be useful in debug or in understanding performance on a
626           running system.
627
628 config TEGRA_ISOMGR_DEBUG
629         bool "Inject stimulus into Isochronous Bandwidth Manager "
630         depends on TEGRA_ISOMGR && TEGRA_ISOMGR_SYSFS
631         help
632           When enabled, sysfs can be used to inject stimulus into isomgr.
633           This is used to generate stimulus to isomgr for debug.  It's
634           especially useful for contriving isomgr tests.  You can write
635           user space tests that exercise isomgr in ways that drivers
636           couldn't easily accommodate.
637
638 config TEGRA_IO_DPD
639         bool "Allow IO DPD"
640         depends on ARCH_TEGRA_3x_SOC
641         depends on PM_SLEEP
642         default y
643         help
644           Allow devices listed in tegra_list_io_dpd[] to go into
645           Deep Power Down (DPD) state. This is a temporary config
646           option until a proper way is implemented to resolve this issue.
647
648 config TEGRA_USE_DFLL_RANGE
649         int "Default CPU DFLL operating range"
650         depends on ARCH_TEGRA_HAS_CL_DVFS
651         range 0 2
652         default "1" if TEGRA_SILICON_PLATFORM
653         default "0"
654         help
655           Defines default range for dynamic frequency lock loop (DFLL)
656           to be used as CPU clock source:
657           "0" - DFLL is not used,
658           "1" - DFLL is used as a source for all CPU rates
659           "2" - DFLL is used only for high rates above crossover with
660                 PLL dvfs curve
661
662 config TEGRA_TIMER_HZ
663         int "Kernel HZ (jiffies per second)"
664         default "100" if TEGRA_FPGA_PLATFORM
665         default "1000"
666
667 config TEGRA_SOCTHERM
668         bool "Enable soctherm"
669         depends on ARCH_TEGRA_11x_SOC
670         default y
671         help
672           Enables use of soctherm for thermal management.
673
674 config TEGRA_VIRTUAL_CPUID
675         bool "virtualized CPUID"
676         depends on !TRUSTED_FOUNDATIONS
677         depends on ARCH_TEGRA_HAS_SYMMETRIC_CPU_PWR_GATE
678         default n
679         help
680           Enables virtualized CPUID.
681
682 config TEGRA_NVDUMPER
683         bool "Enable NvDumper for post-mortem debugging"
684         default n
685         help
686           The nvdumper is a tool that saves a copy of RAM following a crash.
687           nvdumper kernel module tracks whether the system has been rebooted
688           cleanly. It does this by writing 'dirty' to a fixed physical memory
689           address when the kernel starts.
690           Then, on a planned reboot, we write 'clean' to this location.
691           The bootloader can then examine this location and see if the reboot
692           was dirty or clean.
693           It will dump the contents of memory after a dirty reboot.
694           This tool would be helpful for debugging kernel crash.
695           In order to use this feature, you should enable debug feature in
696           bootloader compiling option also (-DENABLE_NVDUMPER).
697           You can dump RAM with nvflash tool in dirty boot status.
698           usage: nvflash --dumpram [phy. RAM offset] [length] <filename>
699
700 config TEGRA_ARBITRATION_EMEM_INTR
701         bool "Enable the ARBITRATION_EMEM interrupt in the MC"
702         help
703           Enable this to allow the kernel to track arbitration conflicts
704           in the memory controller.
705
706 config TEGRA_CORE_EDP_LIMITS
707         bool "Enforce electrical design limits on core rail"
708         depends on TEGRA_SILICON_PLATFORM
709         depends on THERMAL
710         default n
711         help
712           Limit maximum GPU and memory frequency to keep core rail current
713           within power supply capabilities.
714
715 config TEGRA_PLLM_SCALED
716         bool "Enable memory PLLM run time scaling"
717         depends on TEGRA_DUAL_CBUS
718         select TEGRA_PLLM_RESTRICTED
719         default n
720         help
721           When enabled, memory PLLM can be scaled at run time to reduce
722           granularity of possible memory rate steps. In this case PLLC
723           provides a backup memory clock while PLLM is re-locking to the
724           new rate.
725 endif