arm: tegra: macallan: create board file
[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_MACALLAN
240        bool "Macallan board"
241        depends on ARCH_TEGRA_11x_SOC
242        select MACH_HAS_SND_SOC_TEGRA_RT5639 if SND_SOC
243        select MACH_HAS_SND_SOC_TEGRA_RT5640 if SND_SOC
244        help
245          Support for NVIDIA MACALLAN development platform
246
247 config MACH_TEGRA_PLUTO
248        bool "Pluto board"
249        depends on ARCH_TEGRA_11x_SOC
250        select MACH_HAS_SND_SOC_TEGRA_CS42L73 if SND_SOC
251        select MACH_HAS_SND_SOC_TEGRA_TLV320AIC326X if SND_SOC
252        select EDP_FRAMEWORK
253        help
254          Support for NVIDIA PLUTO development platform
255
256 config MACH_ROTH
257        bool "Thor board"
258        depends on ARCH_TEGRA_11x_SOC
259        select MACH_HAS_SND_SOC_TEGRA_RT5639 if SND_SOC
260        select MACH_HAS_SND_SOC_TEGRA_RT5640 if SND_SOC
261        help
262          Support for NVIDIA THOR development platform
263
264 choice
265        prompt "Tegra platform type"
266        default TEGRA_SILICON_PLATFORM
267
268 config TEGRA_SILICON_PLATFORM
269         bool "Silicon"
270         help
271           This enables support for a Tegra silicon platform.
272
273 config TEGRA_SIMULATION_PLATFORM
274         bool "Simulation"
275         select TEGRA_PRE_SILICON_SUPPORT
276         select LESS_GCC_OPT if DEBUG_KERNEL
277         help
278           This enables support for a Tegra simulation platform.
279           Select this only if you are an NVIDIA developer working
280           on a simulation platform.
281
282 config TEGRA_FPGA_PLATFORM
283         bool "FPGA"
284         select TEGRA_PRE_SILICON_SUPPORT
285         help
286           This enables support for a Tegra FPGA platform.
287           Select this only if you are an NVIDIA developer working
288           on a FPGA platform.
289 endchoice
290
291 config TEGRA_PRE_SILICON_SUPPORT
292         bool "Enable pre-silicon platform support"
293         help
294           This enables support for Tegra early development platforms.
295           Select this only if you are an NVIDIA developer working on
296           FPGA, Emulation or Simulation.
297
298 config TEGRA_FIQ_DEBUGGER
299         bool "Enable the FIQ serial debugger on Tegra"
300         default n
301         select FIQ_DEBUGGER
302         help
303           Enables the FIQ serial debugger on Tegra
304
305 config TEGRA_EMC_SCALING_ENABLE
306         bool "Enable scaling the memory frequency"
307         depends on TEGRA_SILICON_PLATFORM
308         default n
309
310 config TEGRA_CPU_DVFS
311         bool "Enable voltage scaling on Tegra CPU"
312         depends on TEGRA_SILICON_PLATFORM
313         default y
314
315 config TEGRA_CORE_DVFS
316         bool "Enable voltage scaling on Tegra core"
317         depends on TEGRA_SILICON_PLATFORM
318         depends on !ARCH_TEGRA_14x_SOC
319         depends on TEGRA_CPU_DVFS
320         default y
321
322 config TEGRA_AVP_KERNEL_ON_MMU
323         bool "Use AVP MMU to relocate AVP kernel"
324         depends on ARCH_TEGRA_2x_SOC
325         default y
326         help
327           Use AVP MMU to relocate AVP kernel (nvrm_avp.bin).
328
329 config TEGRA_AVP_KERNEL_ON_SMMU
330         bool "Use SMMU to relocate AVP kernel"
331         depends on TEGRA_IOVMM_SMMU
332         default y
333         help
334           Use SMMU to relocate AVP kernel (nvrm_avp.bin).
335
336 config TEGRA_ARB_SEMAPHORE
337         bool
338
339 config TEGRA_THERMAL_THROTTLE
340         bool "Enable throttling of CPU speed on overtemp"
341         depends on TEGRA_SILICON_PLATFORM
342         depends on CPU_FREQ
343         depends on THERMAL
344         default y
345         help
346           Also requires enabling a temperature sensor such as NCT1008.
347
348 config TEGRA_THERMAL_THROTTLE_EXACT_FREQ
349         bool "Use exact cpu frequency capping when thermal throttling"
350         depends on TEGRA_THERMAL_THROTTLE
351         default n
352         help
353           When this option is enabled, the cpu will run at the exact
354           frequency specified in the thermal throttle table when thermal
355           throttling; when disabled, the cpu frequency will clip to
356           the next lower frequency from the cpu frequency table.
357
358 config TEGRA_CLOCK_DEBUG_WRITE
359         bool "Enable debugfs write access to clock tree"
360         depends on DEBUG_FS
361         default n
362
363 config TEGRA_CLUSTER_CONTROL
364         bool
365         depends on ARCH_TEGRA_HAS_DUAL_CPU_CLUSTERS
366         default y if PM_SLEEP
367
368 config TEGRA_CPUQUIET
369         bool
370
371 config TEGRA_AUTO_HOTPLUG
372         bool "Enable automatic CPU hot-plugging"
373         depends on HOTPLUG_CPU && CPU_FREQ && !ARCH_CPU_PROBE_RELEASE && !ARCH_TEGRA_2x_SOC
374         select TEGRA_CPUQUIET
375         default y
376         help
377           This option enables turning CPUs off/on and switching tegra
378           high/low power CPU clusters automatically, corresponding to
379           CPU frequency scaling.
380
381 config TEGRA_MC_EARLY_ACK
382         bool "Enable early acknowledgement from mermory controller"
383         depends on ARCH_TEGRA_3x_SOC || ARCH_TEGRA_11x_SOC
384         default y
385         help
386           This option enables early acknowledgement from memory
387           controller. This feature is used to improve CPU memory
388           write performance.
389
390 config TEGRA_ERRATA_1157520
391         bool "Memory writes are not consistent/ordered from CPU"
392         depends on ARCH_TEGRA_11x_SOC
393         help
394           On T11x With early ack scoreboard on, the read/writes to
395           SO and Non-Cached meory are randomly not observed in the
396           order they are performed. Enabling this errata disables
397           early ack scoreboard for T11x.
398
399 config TEGRA_ERRATA_977223
400         bool "PTSA ring 1 to ring 0 does not account for forced coalescing"
401         depends on ARCH_TEGRA_11x_SOC || ARCH_TEGRA_14x_SOC
402         help
403           The forced coalescing logic will "drop" the first request of the
404           coalesced pair after the ring 1 snap arbiter.  This means that for
405           forced coalescing clients, ring 0 only sees half the requests.
406           Therefore the grant decrement for the ptsa would only happen 1/2 of
407           the expected times resulting in ring 1 input always being
408           high priority. A SW work around is to program the ring 1 input to
409           ring 0 ptsa rate to be 1/2 of the value intended.
410
411 config TEGRA_EDP_LIMITS
412         bool "Enforce electrical design limits on CPU rail"
413         depends on TEGRA_SILICON_PLATFORM
414         depends on CPU_FREQ
415         depends on THERMAL
416         default y if ARCH_TEGRA_3x_SOC
417         default n
418         help
419           Limit maximum CPU frequency based on temperature and number
420           of on-line CPUs to keep CPU rail current within power supply
421           capabilities.
422
423 config TEGRA_EMC_TO_DDR_CLOCK
424         int "EMC to DDR clocks ratio"
425         default "2" if ARCH_TEGRA_2x_SOC
426         default "1"
427
428 config TEGRA_GADGET_BOOST_CPU_FREQ
429         int "Boost cpu frequency for tegra usb gadget (0-1300 mhz)"
430         range 0 1300
431         default 0
432         help
433           Devices need to boost frequency of CPU when they are connected
434           to host pc through usb cable for better performance. This value
435           is the amount of the frequency (in mhz) to be boosted. If it is
436           zero boosting frequency will not be enabled. This value will be
437           used only by usb gadget driver.
438
439 config TEGRA_DYNAMIC_PWRDET
440         bool "Enable dynamic activation of IO level auto-detection"
441         depends on TEGRA_SILICON_PLATFORM
442         default n
443         help
444           This option allows turning off tegra IO level auto-detection
445           when IO power is stable. If set auto-detection cells are active
446           only during power transitions, otherwise, the cells are active
447           always
448
449 config TEGRA_EDP_EXACT_FREQ
450         bool "Use maximum possible cpu frequency when EDP capping"
451         depends on TEGRA_EDP_LIMITS
452         default y
453         help
454           When enabled the cpu will run at the exact frequency
455           specified in the EDP table when EDP capping is applied; when
456           disabled the next lower cpufreq frequency will be used.
457
458 config TEGRA_WAKEUP_MONITOR
459         bool "Enable tegra wakeup monitor"
460         depends on PM_SLEEP
461         help
462           This option enables support for the monitor of tegra wakeups, it will
463           send out wakeup source and uevents which indicate suspend_prepare and
464           post_suspend.
465
466 config TEGRA_USB_MODEM_POWER
467         bool "Enable tegra usb modem power management"
468         default n
469         help
470           This option enables support for out-of_band remote wakeup, selective
471           suspend and system suspend/resume.
472
473 config TEGRA_BB_XMM_POWER
474         bool "Enable power driver for XMM modem"
475         default n
476         help
477           Enables power driver which controls gpio signals to XMM modem.
478
479 config TEGRA_BB_XMM_POWER2
480         tristate "Enable power driver for XMM modem (flashless)"
481         default n
482         help
483           Enables power driver which controls gpio signals to XMM modem
484           (in flashless configuration).  User-mode application must
485           insert this LKM to initiate 2nd USB enumeration power sequence
486           - after modem software has been downloaded to flashless device.
487
488 config TEGRA_BBC_PROXY
489         bool "Enable BBC Proxy driver"
490         default n
491         help
492           Enables driver which handles miscellaneous services required
493           by the BB core. Handles initialization of EDP, ISO Bandwidth,
494           and Latency Allowance settings. Additional setting adjustments
495           can be done from user space through sysfs.
496
497 config TEGRA_PLLM_RESTRICTED
498         bool "Restrict PLLM usage as module clock source"
499         depends on !ARCH_TEGRA_2x_SOC
500         default n
501         help
502           When enabled, PLLM usage may be restricted to modules with dividers
503           capable of dividing maximum PLLM frequency at minimum voltage. When
504           disabled, PLLM is used as a clock source with no restrictions (which
505           may effectively increase lower limit for core voltage).
506
507 config TEGRA_WDT_RECOVERY
508         bool "Enable suspend/resume watchdog recovery mechanism"
509         default n
510         help
511           Enables watchdog recovery mechanism to protect against
512           suspend/resume hangs.
513
514 config TEGRA_LP2_CPU_TIMER
515         bool
516
517 config TEGRA_RAIL_OFF_MULTIPLE_CPUS
518         bool
519
520 config TEGRA_SLOW_CSITE
521         bool "lower csite clock to 1 Mhz to reduce its power consumption"
522         default n
523         help
524           When enabled, csite will be running at 1 Mhz and the performance of
525           jtag, lauterbach and other debugger will be extremely slow.
526
527 config TEGRA_PREPOWER_WIFI
528         bool "Pre-power up WiFi "
529         default n
530         help
531           Pre-power up the on board WiFi chip
532
533 config TEGRA_DYNAMIC_CBUS
534         bool "Adjust dynamically graphics clocks cumulative dvfs table"
535
536 config TEGRA_DUAL_CBUS
537         bool "Use two plls (PLLC2/PLLC3) as graphics clocks sources"
538
539 config TEGRA_MIGRATE_CBUS_USERS
540         bool "Move cbus users between source plls to optimize cumulative dvfs"
541         depends on TEGRA_DYNAMIC_CBUS && TEGRA_DUAL_CBUS
542
543 config TEGRA_SKIN_THROTTLE
544         bool "Skin Temperature throttling"
545         depends on TEGRA_THERMAL_THROTTLE
546         depends on THERM_EST
547         default n
548         help
549           Enable throttling to control the temperature of the skin/case
550           of the device.
551
552 config ARCH_TEGRA_4GB_MEMORY
553         bool "Full 4GB physical memory support"
554         default n
555         help
556           Harmless to select this even if hardware does not support full
557           4GB physical memory.
558
559 config TEGRA_LP1_950
560         bool "LP1 low core voltage"
561         default n
562         depends on ARCH_TEGRA_3x_SOC
563         help
564                 Enable support for LP1 Core voltage to set to lowest
565
566 config TEGRA_LATENCY_ALLOWANCE
567         bool "Allow memory clients to configure latency allowance"
568         help
569           Latency allowance is a per-memory-client setting that tells the
570           memory controller how long it can ignore a request in favor of
571           others. In other words, It indicates how long a request from specific
572           memory client can wait before it is served.
573           Enabling this option allows memory clients configure the
574           latency allowance as per their bandwidth requirement.
575
576 config TEGRA_LATENCY_ALLOWANCE_SCALING
577         bool "Enable latency allowance scaling"
578         depends on TEGRA_LATENCY_ALLOWANCE
579         help
580           Enables latency allowance scaling, which enables scaling
581           programmed latency allowance values based on fifo threshold levels
582           set for for display and vi hardware.
583
584 config TEGRA_BASEBAND
585         bool "Enable integrated tegra baseband support"
586         default n
587         help
588           This option enables support for integrated icera baseband
589           This driver is used to setup shared memory space, provide
590           functions to handle IPC mechanism and a sysfs interface for IPC
591           notification which support polling on sysfs file.
592
593 config TEGRA_BASEBAND_SIMU
594         bool "Enable integrated tegra baseband simulation"
595         select TEGRA_BASEBAND
596         help
597           This option enables tegra baseband simulation when actual hardware
598           is not present. IPC is simulated when writing to status file which
599           allow high level tests in local loopback
600
601 config TEGRA_MC_PTSA
602         bool "Enable MC PTSA programming"
603         depends on TEGRA_LATENCY_ALLOWANCE
604         help
605           Enables Priority Tier Snap Arbiter programming in
606           Memory Controller. PTSA is a Memory Controller feature that
607           allows specifying the bandwidth necessary for ISO clients.
608
609 config TEGRA_ISOMGR
610         bool "Isochronous Bandwidth Manager "
611         help
612           When enabled, drivers for ISO units can obtain ISO BW.
613           The memory controller (MC) for each Tegra platform can supply
614           a limited amount of isochronous (real-time) bandwidth.  When
615           enabled, isomgr will manage a pool of ISO BW.
616
617 config TEGRA_ISOMGR_POOL_KB_PER_SEC
618         int "Size of isomgr pool "
619         default 0
620         help
621           Set this maximum ISO BW (in Kbytes/sec) that platform supports.
622           The memory controller (MC) for each Tegra platform can supply
623           a limited amount of isochronous (real-time) bandwidth.  Each
624           platform must specify the maximum amount of ISO BW that isomgr
625           should manage.
626
627 config TEGRA_ISOMGR_SYSFS
628         bool "Visibility into Isochronous Bandwidth Manager state "
629         depends on TEGRA_ISOMGR
630         help
631           When enabled, sysfs can be used to query isomgr state.
632           This is used for visibility into isomgr state.  It could
633           be useful in debug or in understanding performance on a
634           running system.
635
636 config TEGRA_ISOMGR_DEBUG
637         bool "Inject stimulus into Isochronous Bandwidth Manager "
638         depends on TEGRA_ISOMGR && TEGRA_ISOMGR_SYSFS
639         help
640           When enabled, sysfs can be used to inject stimulus into isomgr.
641           This is used to generate stimulus to isomgr for debug.  It's
642           especially useful for contriving isomgr tests.  You can write
643           user space tests that exercise isomgr in ways that drivers
644           couldn't easily accommodate.
645
646 config TEGRA_IO_DPD
647         bool "Allow IO DPD"
648         depends on ARCH_TEGRA_3x_SOC
649         depends on PM_SLEEP
650         default y
651         help
652           Allow devices listed in tegra_list_io_dpd[] to go into
653           Deep Power Down (DPD) state. This is a temporary config
654           option until a proper way is implemented to resolve this issue.
655
656 config TEGRA_USE_DFLL_RANGE
657         int "Default CPU DFLL operating range"
658         depends on ARCH_TEGRA_HAS_CL_DVFS
659         range 0 2
660         default "1" if TEGRA_SILICON_PLATFORM
661         default "0"
662         help
663           Defines default range for dynamic frequency lock loop (DFLL)
664           to be used as CPU clock source:
665           "0" - DFLL is not used,
666           "1" - DFLL is used as a source for all CPU rates
667           "2" - DFLL is used only for high rates above crossover with
668                 PLL dvfs curve
669
670 config TEGRA_TIMER_HZ
671         int "Kernel HZ (jiffies per second)"
672         default "100" if TEGRA_FPGA_PLATFORM
673         default "1000"
674
675 config TEGRA_SOCTHERM
676         bool "Enable soctherm"
677         depends on ARCH_TEGRA_11x_SOC
678         default y
679         help
680           Enables use of soctherm for thermal management.
681
682 config TEGRA_VIRTUAL_CPUID
683         bool "virtualized CPUID"
684         depends on !TRUSTED_FOUNDATIONS
685         depends on ARCH_TEGRA_HAS_SYMMETRIC_CPU_PWR_GATE
686         default n
687         help
688           Enables virtualized CPUID.
689
690 config TEGRA_NVDUMPER
691         bool "Enable NvDumper for post-mortem debugging"
692         default n
693         help
694           The nvdumper is a tool that saves a copy of RAM following a crash.
695           nvdumper kernel module tracks whether the system has been rebooted
696           cleanly. It does this by writing 'dirty' to a fixed physical memory
697           address when the kernel starts.
698           Then, on a planned reboot, we write 'clean' to this location.
699           The bootloader can then examine this location and see if the reboot
700           was dirty or clean.
701           It will dump the contents of memory after a dirty reboot.
702           This tool would be helpful for debugging kernel crash.
703           In order to use this feature, you should enable debug feature in
704           bootloader compiling option also (-DENABLE_NVDUMPER).
705           You can dump RAM with nvflash tool in dirty boot status.
706           usage: nvflash --dumpram [phy. RAM offset] [length] <filename>
707
708 config TEGRA_ARBITRATION_EMEM_INTR
709         bool "Enable the ARBITRATION_EMEM interrupt in the MC"
710         help
711           Enable this to allow the kernel to track arbitration conflicts
712           in the memory controller.
713
714 config TEGRA_CORE_EDP_LIMITS
715         bool "Enforce electrical design limits on core rail"
716         depends on TEGRA_SILICON_PLATFORM
717         depends on THERMAL
718         default n
719         help
720           Limit maximum GPU and memory frequency to keep core rail current
721           within power supply capabilities.
722
723 config TEGRA_PLLM_SCALED
724         bool "Enable memory PLLM run time scaling"
725         depends on TEGRA_DUAL_CBUS
726         select TEGRA_PLLM_RESTRICTED
727         default n
728         help
729           When enabled, memory PLLM can be scaled at run time to reduce
730           granularity of possible memory rate steps. In this case PLLC
731           provides a backup memory clock while PLLM is re-locking to the
732           new rate.
733 endif