ARM: tegra: enabling EDP_FRAMEWORK for tegratab
[linux-2.6.git] / arch / arm / mach-tegra / Kconfig
1 # Copyright (c) 2012-2013, 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         select ARM_CPU_SUSPEND if PM
24         select ARCH_TEGRA_HAS_ARM_SCU
25         select ARCH_TEGRA_HAS_PCIE
26         select CPU_V7
27         select ARM_GIC
28         select ARM_SAVE_DEBUG_CONTEXT if PM_SLEEP
29         select ARCH_REQUIRE_GPIOLIB
30         select PINCTRL
31         select PINCTRL_TEGRA20
32         select USB_ARCH_HAS_EHCI if USB_SUPPORT
33         select USB_ULPI if USB
34         select USB_ULPI_VIEWPORT if USB_SUPPORT
35         select ARM_ERRATA_720789
36         select ARM_ERRATA_751472
37         select ARM_ERRATA_754327
38         select ARM_ERRATA_764369
39         select ARM_ERRATA_742230 if SMP
40         select PL310_ERRATA_769419 if CACHE_L2X0
41         select CPU_FREQ_TABLE if CPU_FREQ
42         select USB_ARCH_HAS_EHCI if USB_SUPPORT
43         select USB_ULPI if USB_SUPPORT
44         select USB_ULPI_VIEWPORT if USB_SUPPORT
45         select ARCH_SUPPORTS_MSI if TEGRA_PCI
46         select PCI_MSI if TEGRA_PCI
47         select CPA
48         select ARM_ERRATA_716044
49         select NVMAP_CACHE_MAINT_BY_SET_WAYS
50         select NVMAP_OUTER_CACHE_MAINT_BY_SET_WAYS
51         select NVMAP_DEFERRED_CACHE_MAINT
52         select SOC_BUS
53         help
54           Support for NVIDIA Tegra AP20 and T20 processors, based on the
55           ARM CortexA9MP CPU and the ARM PL310 L2 cache controller
56
57 config ARCH_TEGRA_3x_SOC
58         bool "Enable support for Tegra30 family"
59         depends on !ARCH_TEGRA_11x_SOC
60         select ARM_CPU_SUSPEND if PM
61         depends on !ARCH_TEGRA_11x_SOC
62         select ARCH_TEGRA_HAS_ARM_SCU
63         select ARCH_TEGRA_HAS_PCIE
64         select ARCH_TEGRA_HAS_SATA
65         select ARCH_TEGRA_HAS_DUAL_3D
66         select ARCH_TEGRA_HAS_DUAL_CPU_CLUSTERS
67         select CPU_V7
68         select ARM_GIC
69         select ARM_SAVE_DEBUG_CONTEXT if PM_SLEEP
70         select GIC_SET_MULTIPLE_CPUS if SMP
71         select ARCH_REQUIRE_GPIOLIB
72         select PINCTRL
73         select PINCTRL_TEGRA30
74         select USB_ARCH_HAS_EHCI if USB_SUPPORT
75         select USB_ULPI if USB
76         select USB_ULPI_VIEWPORT if USB_SUPPORT
77         select REPORT_PRESENT_CPUS if TEGRA_AUTO_HOTPLUG
78         select ARCH_SUPPORTS_MSI if TEGRA_PCI
79         select PCI_MSI if TEGRA_PCI
80         select ARM_ERRATA_743622
81         select ARM_ERRATA_751472
82         select ARM_ERRATA_754322
83         select ARM_ERRATA_764369
84         select PL310_ERRATA_769419 if CACHE_L2X0
85         select CPU_FREQ_TABLE if CPU_FREQ
86         select TEGRA_LP2_CPU_TIMER if HAVE_ARM_TWD && !TEGRA_RAIL_OFF_MULTIPLE_CPUS
87         select CPA
88         select NVMAP_CACHE_MAINT_BY_SET_WAYS
89         select NVMAP_OUTER_CACHE_MAINT_BY_SET_WAYS
90         select NVMAP_DEFERRED_CACHE_MAINT
91         select PL310_ERRATA_727915
92         select TEGRA_LATENCY_ALLOWANCE if !TEGRA_FPGA_PLATFORM
93         select TEGRA_LATENCY_ALLOWANCE_SCALING if !TEGRA_FPGA_PLATFORM
94         select SOC_BUS
95         select TEGRA_ERRATA_1053704
96         help
97           Support for NVIDIA Tegra T30 processor family, based on the
98           ARM CortexA9MP CPU and the ARM PL310 L2 cache controller
99
100 config ARCH_TEGRA_11x_SOC
101         bool "Tegra 11x family SOC"
102         select ARCH_TEGRA_HAS_DUAL_CPU_CLUSTERS
103         select CPU_V7
104         select ARM_L1_CACHE_SHIFT_6
105         select ARM_ARCH_TIMER
106         select ARCH_TEGRA_HAS_SYMMETRIC_CPU_PWR_GATE
107         select ARM_CPU_SUSPEND if PM
108         select ARM_GIC
109         select ARCH_REQUIRE_GPIOLIB
110         select ARM_SAVE_DEBUG_CONTEXT if PM_SLEEP
111         select USB_ARCH_HAS_EHCI if USB_SUPPORT
112         select USB_EHCI_TEGRA if USB_SUPPORT
113         select USB_ULPI if USB_SUPPORT
114         select USB_ULPI_VIEWPORT if USB_SUPPORT
115         select REPORT_PRESENT_CPUS if TEGRA_AUTO_HOTPLUG
116         select TEGRA_LP2_CPU_TIMER if !TEGRA_RAIL_OFF_MULTIPLE_CPUS
117         select NVMAP_CACHE_MAINT_BY_SET_WAYS
118         select NVMAP_DEFERRED_CACHE_MAINT
119         select ARCH_TEGRA_HAS_CL_DVFS
120         select TEGRA_DUAL_CBUS
121         select ARCH_TEGRA_4GB_MEMORY
122         select TEGRA_LATENCY_ALLOWANCE if !TEGRA_FPGA_PLATFORM
123         select TEGRA_MC_PTSA if !TEGRA_FPGA_PLATFORM
124         select SOC_BUS
125         select PINCTRL
126         select TEGRA_ISOMGR
127         select TEGRA_ISOMGR_SYSFS
128         select TEGRA_ISOMGR_DEBUG
129         select TEGRA_ERRATA_1157520
130         select TEGRA_ERRATA_1053704
131         select TEGRA_CORE_EDP_LIMITS
132         select TEGRA_VDD_CORE_OVERRIDE if TEGRA_EMC_SCALING_ENABLE
133         select TEGRA_THERMAL_THROTTLE_EXACT_FREQ
134         select ARM_ERRATA_799270
135         select ARM_ERRATA_798181
136         select TEGRA_WDT_FIQ_WAR if !TRUSTED_FOUNDATIONS && TEGRA_FIQ_DEBUGGER
137         help
138           Support for NVIDIA Tegra 11x family of SoCs, based upon the
139           ARM Cortex-A15MP CPU
140
141 config ARCH_TEGRA_HAS_ARM_SCU
142         bool
143
144 config ARCH_TEGRA_HAS_DUAL_3D
145         bool
146
147 config ARCH_TEGRA_HAS_DUAL_CPU_CLUSTERS
148         bool
149
150 config ARCH_TEGRA_HAS_SYMMETRIC_CPU_PWR_GATE
151         bool
152
153 config ARCH_TEGRA_HAS_PCIE
154         bool
155
156 config ARCH_TEGRA_HAS_SATA
157         bool
158
159 config ARCH_TEGRA_HAS_CL_DVFS
160         bool
161
162 config TEGRA_PCI
163         bool "PCIe host controller driver"
164         select PCI
165         depends on ARCH_TEGRA_HAS_PCIE
166         help
167           Adds PCIe Host controller driver for tegra based systems
168
169 config TEGRA_IRDA
170         bool "IRDA on UARTB Port of Verbier"
171         select IRDA_CPLD
172         depends on ARCH_TEGRA_3x_SOC && MACH_CARDHU
173         help
174           Adds support for Vishay IrDA transceiver at UARTB port
175           of Verbier Boards(E1186 and E1198) with no ULPI rework done.
176
177 comment "Tegra board type"
178
179 config MACH_HARMONY
180        bool "Harmony board"
181        depends on ARCH_TEGRA_2x_SOC
182        select MACH_HAS_SND_SOC_TEGRA_WM8903 if SND_SOC
183        help
184          Support for NVIDIA Harmony development platform
185
186 config MACH_VENTANA
187        bool "Ventana board"
188        depends on ARCH_TEGRA_2x_SOC
189        select MACH_HAS_SND_SOC_TEGRA_WM8903 if SND_SOC
190        help
191          Support for NVIDIA Ventana development platform
192
193 config MACH_KAEN
194        bool "Kaen board"
195        depends on ARCH_TEGRA_2x_SOC
196        select MACH_SEABOARD
197        select MACH_HAS_SND_SOC_TEGRA_WM8903 if SND_SOC
198        help
199          Support for the Kaen version of Seaboard
200
201 config MACH_PAZ00
202        bool "Paz00 board"
203        depends on ARCH_TEGRA_2x_SOC
204        help
205          Support for the Toshiba AC100/Dynabook AZ netbook
206
207 config MACH_SEABOARD
208        bool "Seaboard board"
209        depends on ARCH_TEGRA_2x_SOC
210        select MACH_HAS_SND_SOC_TEGRA_WM8903 if SND_SOC
211        help
212          Support for nVidia Seaboard development platform. It will
213          also be included for some of the derivative boards that
214          have large similarities with the seaboard design.
215
216 config MACH_TEGRA_DT
217         bool "Generic Tegra20 board (FDT support)"
218         depends on ARCH_TEGRA_2x_SOC
219         select USE_OF
220         help
221           Support for generic NVIDIA Tegra20 boards using Flattened Device Tree
222
223 config MACH_TRIMSLICE
224        bool "TrimSlice board"
225        depends on ARCH_TEGRA_2x_SOC
226        select TEGRA_PCI
227        help
228          Support for CompuLab TrimSlice platform
229
230 config MACH_WARIO
231        bool "Wario board"
232        depends on ARCH_TEGRA_2x_SOC
233        select MACH_SEABOARD
234        help
235          Support for the Wario version of Seaboard
236
237 config MACH_VENTANA
238        bool "Ventana board"
239        depends on ARCH_TEGRA_2x_SOC
240        help
241          Support for the nVidia Ventana development platform
242
243 config MACH_WHISTLER
244        bool "Whistler board"
245        depends on ARCH_TEGRA_2x_SOC
246        select MACH_HAS_SND_SOC_TEGRA_WM8753 if SND_SOC
247        select MACH_HAS_SND_SOC_TEGRA_TLV320AIC326X if SND_SOC
248        help
249          Support for NVIDIA Whistler development platform
250
251 config MACH_ARUBA
252        bool "Aruba board"
253        depends on ARCH_TEGRA_3x_SOC
254        select TEGRA_FPGA_PLATFORM
255        help
256          Support for NVIDIA Aruba2 FPGA development platform
257
258 config MACH_CURACAO
259        bool "Curacao board"
260        depends on ARCH_TEGRA_11x_SOC
261        select MACH_HAS_SND_SOC_TEGRA_WM8903 if SND_SOC
262        select TEGRA_FPGA_PLATFORM
263        help
264          Support for NVIDIA Curacao FPGA development platform
265
266 config MACH_CARDHU
267        bool "Cardhu board"
268        depends on ARCH_TEGRA_3x_SOC
269        select MACH_HAS_SND_SOC_TEGRA_WM8903 if SND_SOC
270        select MACH_HAS_SND_SOC_TEGRA_TLV320AIC326X if SND_SOC
271        select MACH_HAS_SND_SOC_TEGRA_MAX98095 if SND_SOC
272        help
273          Support for NVIDIA Cardhu development platform
274
275 config MACH_P1852
276        bool "P1852 board"
277        depends on ARCH_TEGRA_3x_SOC
278        help
279          Support for NVIDIA P1852 development platform
280
281 config MACH_E1853
282        bool "E1853 board"
283        depends on ARCH_TEGRA_3x_SOC
284        help
285          Support for NVIDIA E1853 development platform
286
287 config MACH_TEGRA_ENTERPRISE
288        bool "Enterprise board"
289        depends on ARCH_TEGRA_3x_SOC
290        select MACH_HAS_SND_SOC_TEGRA_MAX98088 if SND_SOC
291        select MACH_HAS_SND_SOC_TEGRA_TLV320AIC326X if SND_SOC
292        select TEGRA_SLOW_CSITE
293        help
294          Support for NVIDIA Enterprise development platform
295
296 config MACH_TAI
297        bool "Tai board"
298        depends on MACH_TEGRA_ENTERPRISE
299        help
300          Support for NVIDIA Tai development platform
301
302 config MACH_KAI
303        bool "Kai board"
304        depends on ARCH_TEGRA_3x_SOC
305        select MACH_HAS_SND_SOC_TEGRA_RT5639 if SND_SOC
306        select MACH_HAS_SND_SOC_TEGRA_RT5640 if SND_SOC
307        help
308          Support for NVIDIA KAI development platform
309
310 config MACH_DALMORE
311        bool "Dalmore board"
312        depends on ARCH_TEGRA_11x_SOC
313        select MACH_HAS_SND_SOC_TEGRA_RT5639 if SND_SOC
314        select MACH_HAS_SND_SOC_TEGRA_RT5640 if SND_SOC
315        help
316          Support for NVIDIA DALMORE development platform
317
318 config MACH_MACALLAN
319        bool "Macallan board"
320        depends on ARCH_TEGRA_11x_SOC
321        select MACH_HAS_SND_SOC_TEGRA_RT5639 if SND_SOC
322        select MACH_HAS_SND_SOC_TEGRA_RT5640 if SND_SOC
323        select EDP_FRAMEWORK
324        help
325          Support for NVIDIA MACALLAN development platform
326
327 config MACH_TEGRA_PLUTO
328        bool "Pluto board"
329        depends on ARCH_TEGRA_11x_SOC
330        select MACH_HAS_SND_SOC_TEGRA_CS42L73 if SND_SOC
331        select EDP_FRAMEWORK
332        select MACH_HAS_SND_SOC_TEGRA_TLV320AIC326X if SND_SOC
333        help
334          Support for NVIDIA PLUTO development platform
335
336 config MACH_ROTH
337        bool "Thor board"
338        depends on ARCH_TEGRA_11x_SOC
339        select MACH_HAS_SND_SOC_TEGRA_RT5639 if SND_SOC
340        select MACH_HAS_SND_SOC_TEGRA_RT5640 if SND_SOC
341        help
342          Support for NVIDIA THOR development platform
343
344 config MACH_TEGRATAB
345        bool "Tegratab board"
346        depends on ARCH_TEGRA_11x_SOC
347        select MACH_HAS_SND_SOC_TEGRA_RT5639 if SND_SOC
348        select MACH_HAS_SND_SOC_TEGRA_RT5640 if SND_SOC
349        select EDP_FRAMEWORK
350        help
351          Support for NVIDIA TEGRATAB development platform
352
353 choice
354        prompt "Tegra platform type"
355        default TEGRA_SILICON_PLATFORM
356
357 config TEGRA_SILICON_PLATFORM
358         bool "Silicon"
359         help
360           This enables support for a Tegra silicon platform.
361
362 config TEGRA_SIMULATION_PLATFORM
363         bool "Simulation"
364         select LESS_GCC_OPT if DEBUG_KERNEL
365         help
366           This enables support for a Tegra simulation platform.
367           Select this only if you are an NVIDIA developer working
368           on a simulation platform.
369
370 config TEGRA_FPGA_PLATFORM
371         bool "FPGA"
372         help
373           This enables support for a Tegra FPGA platform.
374           Select this only if you are an NVIDIA developer working
375           on a FPGA platform.
376 endchoice
377
378 source "arch/arm/mach-tegra/p852/Kconfig"
379
380 choice
381         prompt "Low-level debug console UART"
382         default TEGRA_DEBUG_UART_NONE
383
384 config TEGRA_DEBUG_UART_NONE
385         bool "None"
386
387 config TEGRA_DEBUG_UARTA
388         bool "UART-A"
389         depends on DEBUG_LL
390
391 config TEGRA_DEBUG_UARTB
392         bool "UART-B"
393         depends on DEBUG_LL
394
395 config TEGRA_DEBUG_UARTC
396         bool "UART-C"
397         depends on DEBUG_LL
398
399 config TEGRA_DEBUG_UARTD
400         bool "UART-D"
401         depends on DEBUG_LL
402
403 config TEGRA_DEBUG_UARTE
404         bool "UART-E"
405         depends on DEBUG_LL
406 endchoice
407
408 config TEGRA_SYSTEM_DMA
409         bool "Enable system DMA driver for NVIDIA Tegra SoCs"
410         default y
411         help
412           Adds system DMA functionality for NVIDIA Tegra SoCs, used by
413           several Tegra device drivers
414
415 config TEGRA_PWM
416         tristate "Enable PWM driver"
417         select HAVE_PWM
418         help
419           Enable support for the Tegra PWM controller(s).
420
421 config TEGRA_FIQ_DEBUGGER
422         bool "Enable the FIQ serial debugger on Tegra"
423         default n
424         select FIQ_DEBUGGER
425         help
426           Enables the FIQ serial debugger on Tegra
427
428 config TEGRA_WDT_FIQ_WAR
429         bool "Enable FIQ WAR on Tegra"
430         depends on TEGRA_FIQ_DEBUGGER
431         help
432           Tegra chip T114 and T124 don't have FIQ connected to GIC. This
433           option configure GIC group0 generating FIQ only, and let GIC
434           group1 handle normal IRQs. Note this option can be only enabled
435           for system running no secure OS, because secure OS use group0
436           specifically as monitor trap.
437
438 config TEGRA_PTM
439         bool "Enable PTM debugger on Tegra"
440         default n
441         help
442           This option enables PTM debugger on Tegra. This driver is used
443           for tracking each branch instructions executed by processor. It
444           can save such tracking information to the ETB buffer, which can
445           be further parsed by a user space program to re-construct the
446           complete program flows.
447
448 config TEGRA_P1852_TDM
449         bool "Enable TDM mode for P1852 SKUs"
450         default n
451         depends on MACH_P1852
452         help
453                 Enables TDM mode driver for P1852 SKUs. If this
454                 is not defined then I2S mode is selected by default.
455
456 config TEGRA_CARDHU_DSI
457         bool "Support DSI panel on Cardhu"
458         depends on MACH_CARDHU
459         select TEGRA_DSI
460         help
461                 Support for DSI Panel on Nvidia Cardhu
462
463 config TEGRA_CARDHU_DUAL_DSI_PANEL
464         bool "Support Dual DSI panel on Cardhu"
465         default n
466         depends on TEGRA_CARDHU_DSI
467         help
468                 Support for Dual DSI Panel on Nvidia Cardhu
469
470 config TEGRA_EMC_SCALING_ENABLE
471         bool "Enable scaling the memory frequency"
472         depends on TEGRA_SILICON_PLATFORM
473         default n
474
475 config TEGRA_CPU_DVFS
476         bool "Enable voltage scaling on Tegra CPU"
477         depends on TEGRA_SILICON_PLATFORM
478         default y
479
480 config TEGRA_CORE_DVFS
481         bool "Enable voltage scaling on Tegra core"
482         depends on TEGRA_SILICON_PLATFORM
483         depends on TEGRA_CPU_DVFS
484         default y
485
486 config TEGRA_IOVMM_GART
487         bool "Enable I/O virtual memory manager for GART"
488         depends on ARCH_TEGRA_2x_SOC && !TEGRA_IOMMU_GART
489         default y
490         select TEGRA_IOVMM
491         help
492           Enables support for remapping discontiguous physical memory
493           shared with the operating system into contiguous I/O virtual
494           space through the GART (Graphics Address Relocation Table)
495           hardware included on Tegra SoCs.
496
497 config TEGRA_IOVMM_SMMU
498         bool "Enable I/O virtual memory manager for SMMU"
499         depends on !ARCH_TEGRA_2x_SOC && !TEGRA_IOMMU_SMMU
500         default y
501         select TEGRA_IOVMM
502         help
503           Enables support for remapping discontiguous physical memory
504           shared with the operating system into contiguous I/O virtual
505           space through the SMMU (System Memory Management Unit)
506           hardware included on Tegra SoCs.
507
508 config TEGRA_IOVMM_SMMU_SYSFS
509         bool "Enable SMMU register access for debugging"
510         depends on TEGRA_IOVMM_SMMU
511         default n
512         help
513           Enables SMMU register access through /sys/devices/smmu/* files.
514
515 config TEGRA_IOVMM
516         depends on TEGRA_IOVMM_GART || TEGRA_IOVMM_SMMU
517         bool
518
519 config TEGRA_AVP_KERNEL_ON_MMU
520         bool "Use AVP MMU to relocate AVP kernel"
521         depends on ARCH_TEGRA_2x_SOC
522         default y
523         help
524           Use AVP MMU to relocate AVP kernel (nvrm_avp.bin).
525
526 config TEGRA_AVP_KERNEL_ON_SMMU
527         bool "Use SMMU to relocate AVP kernel"
528         depends on TEGRA_IOVMM_SMMU || TEGRA_IOMMU_SMMU
529         default y
530         help
531           Use SMMU to relocate AVP kernel (nvrm_avp.bin).
532
533 config TEGRA_ARB_SEMAPHORE
534         bool
535
536 config TEGRA_THERMAL_THROTTLE
537         bool "Enable throttling of CPU speed on overtemp"
538         depends on TEGRA_SILICON_PLATFORM
539         depends on CPU_FREQ
540         depends on THERMAL
541         default y
542         help
543           Also requires enabling a temperature sensor such as NCT1008.
544
545 config TEGRA_THERMAL_THROTTLE_EXACT_FREQ
546         bool "Use exact cpu frequency capping when thermal throttling"
547         depends on TEGRA_THERMAL_THROTTLE
548         default n
549         help
550           When this option is enabled, the cpu will run at the exact
551           frequency specified in the thermal throttle table when thermal
552           throttling; when disabled, the cpu frequency will clip to
553           the next lower frequency from the cpu frequency table.
554
555 config TEGRA_CLOCK_DEBUG_WRITE
556         bool "Enable debugfs write access to clock tree"
557         depends on DEBUG_FS
558         default n
559
560 config TEGRA_CLUSTER_CONTROL
561         bool
562         depends on ARCH_TEGRA_HAS_DUAL_CPU_CLUSTERS
563         default y if PM_SLEEP
564
565 config TEGRA_CPUQUIET
566         bool
567
568 config TEGRA_AUTO_HOTPLUG
569         bool "Enable automatic CPU hot-plugging"
570         depends on HOTPLUG_CPU && CPU_FREQ && !ARCH_CPU_PROBE_RELEASE && !ARCH_TEGRA_2x_SOC
571         select TEGRA_CPUQUIET
572         default y
573         help
574           This option enables turning CPUs off/on and switching tegra
575           high/low power CPU clusters automatically, corresponding to
576           CPU frequency scaling.
577
578 config TEGRA_MC_EARLY_ACK
579         bool "Enable early acknowledgement from mermory controller"
580         depends on ARCH_TEGRA_3x_SOC || ARCH_TEGRA_11x_SOC
581         default y
582         help
583           This option enables early acknowledgement from memory
584           controller. This feature is used to improve CPU memory
585           write performance.
586
587 config TEGRA_ERRATA_1157520
588         bool "Memory writes are not consistent/ordered from CPU"
589         depends on ARCH_TEGRA_11x_SOC
590         help
591           On T11x With early ack scoreboard on, the read/writes to
592           SO and Non-Cached meory are randomly not observed in the
593           order they are performed. Enabling this errata disables
594           early ack scoreboard for T11x.
595
596 config TEGRA_MC_PROFILE
597         tristate "Enable profiling memory controller utilization"
598         default y
599         help
600           When enabled, provides a mechanism to perform statistical
601           sampling of the memory controller usage on a client-by-client
602           basis, and report the log through sysfs.
603
604 config TEGRA_EDP_LIMITS
605         bool "Enforce electrical design limits on CPU rail"
606         depends on TEGRA_SILICON_PLATFORM
607         depends on CPU_FREQ
608         depends on THERMAL
609         default y if ARCH_TEGRA_3x_SOC
610         default n
611         help
612           Limit maximum CPU frequency based on temperature and number
613           of on-line CPUs to keep CPU rail current within power supply
614           capabilities.
615
616 config TEGRA_CPU_EDP_FIXED_LIMITS
617         bool "Enforce fixed EDP limits on CPU rail per chip SKU"
618         depends on ARCH_TEGRA_11x_SOC
619         depends on TEGRA_EDP_LIMITS
620         default n
621         help
622           Enforce CPU EDP frequency limits which are fixed for a given
623           chip SKU. By default, the max frequency is determined optimally
624           for each individual chip.
625
626 config TEGRA_EMC_TO_DDR_CLOCK
627         int "EMC to DDR clocks ratio"
628         default "2" if ARCH_TEGRA_2x_SOC
629         default "1"
630
631 config TEGRA_SE_ON_CBUS
632         bool "To Drive SE clock from cbus"
633         default y
634         help
635           This option enables SE clock to be derived from cbus
636
637 config TEGRA_CBUS_CLOCK_DIVIDER
638         int "CBUS clock divider"
639         default "2"
640
641 config TEGRA_STAT_MON
642         bool "Enable H/W statistics monitor"
643         depends on ARCH_TEGRA_2x_SOC
644         default n
645         help
646           Enables support for hardware statistics monitor for AVP.
647
648 config USB_HOTPLUG
649         bool "Enabling the USB hotplug"
650         default n
651
652 config TEGRA_GADGET_BOOST_CPU_FREQ
653         int "Boost cpu frequency for tegra usb gadget"
654         range 0 1300 if ARCH_TEGRA_3x_SOC
655         range 0 1800 if ARCH_TEGRA_11x_SOC
656         default 0
657         help
658           Devices need to boost frequency of CPU when they are connected
659           to host pc through usb cable for better performance. This value
660           is the amount of the frequency (in Mhz) to be boosted. If it is
661           zero boosting frequency will not be enabled. This value will be
662           used only by usb gadget driver.
663
664 config TEGRA_EHCI_BOOST_CPU_FREQ
665         int "Boost cpu frequency(in Mhz) for tegra usb host"
666         range 0 1300 if ARCH_TEGRA_3x_SOC
667         range 0 1800 if ARCH_TEGRA_11x_SOC
668         range 0 2000 if ARCH_TEGRA_14x_SOC
669         default 0
670         help
671           This value is the amount of the cpu frequency (in Mhz)
672           to be boosted. If it is zero boosting frequency will not
673           be enabled. This value will be used only by usb ehci driver.
674
675 config TEGRA_DYNAMIC_PWRDET
676         bool "Enable dynamic activation of IO level auto-detection"
677         depends on TEGRA_SILICON_PLATFORM
678         default n
679         help
680           This option allows turning off tegra IO level auto-detection
681           when IO power is stable. If set auto-detection cells are active
682           only during power transitions, otherwise, the cells are active
683           always
684
685 config TEGRA_EDP_EXACT_FREQ
686         bool "Use maximum possible cpu frequency when EDP capping"
687         depends on TEGRA_EDP_LIMITS
688         default y
689         help
690           When enabled the cpu will run at the exact frequency
691           specified in the EDP table when EDP capping is applied; when
692           disabled the next lower cpufreq frequency will be used.
693
694 config TEGRA_WAKEUP_MONITOR
695         bool "Enable tegra wakeup monitor"
696         depends on PM_SLEEP
697         help
698           This option enables support for the monitor of tegra wakeups, it will
699           send out wakeup source and uevents which indicate suspend_prepare and
700           post_suspend.
701
702 config TEGRA_INTERNAL_USB_CABLE_WAKE_SUPPORT
703         bool "Enable Tegra internal USB cable wake support"
704         depends on PM_SLEEP
705         default n
706         help
707           Enables Tegra suspend wakeup with USB cable through Tegra
708           integrated hardware. Enabled for selected Tegra chipsets.
709
710 config TEGRA_BB_XMM_POWER
711         bool "Enable power driver for XMM modem"
712         default n
713         help
714           Enables power driver which controls gpio signals to XMM modem.
715
716 config TEGRA_BB_XMM_POWER2
717         tristate "Enable power driver for XMM modem (flashless)"
718         default n
719         help
720           Enables power driver which controls gpio signals to XMM modem
721           (in flashless configuration).  User-mode application must
722           insert this LKM to initiate 2nd USB enumeration power sequence
723           - after modem software has been downloaded to flashless device.
724
725 config TEGRA_PLLM_RESTRICTED
726         bool "Restrict PLLM usage as module clock source"
727         depends on !ARCH_TEGRA_2x_SOC
728         default n
729         help
730           When enabled, PLLM usage may be restricted to modules with dividers
731           capable of dividing maximum PLLM frequency at minimum voltage. When
732           disabled, PLLM is used as a clock source with no restrictions (which
733           may effectively increase lower limit for core voltage).
734
735 config TEGRA_WDT_RECOVERY
736         bool "Enable suspend/resume watchdog recovery mechanism"
737         default n
738         help
739           Enables watchdog recovery mechanism to protect against
740           suspend/resume hangs.
741
742 config TEGRA_LP2_CPU_TIMER
743         bool
744
745 config TEGRA_RAIL_OFF_MULTIPLE_CPUS
746         bool
747
748 config TEGRA_SLOW_CSITE
749         bool "lower csite clock to 1 Mhz to reduce its power consumption"
750         default n
751         help
752           When enabled, csite will be running at 1 Mhz and the performance of
753           jtag, lauterbach and other debugger will be extremely slow.
754
755 config TEGRA_PREINIT_CLOCKS
756         bool "Preinitialize Tegra clocks to known states"
757         default n
758         help
759           Preinitialize Tegra clocks to known states before actual full-
760           scale clock initialization starts.
761
762 config TEGRA_PREPOWER_WIFI
763         bool "Pre-power up WiFi "
764         default n
765         help
766           Pre-power up the on board WiFi chip
767
768 config TEGRA_DYNAMIC_CBUS
769         bool "Adjust dynamically graphics clocks cumulative dvfs table"
770
771 config TEGRA_DUAL_CBUS
772         bool "Use two plls (PLLC2/PLLC3) as graphics clocks sources"
773
774 config TEGRA_MIGRATE_CBUS_USERS
775         bool "Move cbus users between source plls to optimize cumulative dvfs"
776         depends on TEGRA_DYNAMIC_CBUS && TEGRA_DUAL_CBUS
777
778 config TEGRA_SKIN_THROTTLE
779         bool "Skin Temperature throttling"
780         depends on TEGRA_THERMAL_THROTTLE
781         depends on THERM_EST
782         default n
783         help
784           Enable throttling to control the temperature of the skin/case
785           of the device.
786
787 config ARCH_TEGRA_4GB_MEMORY
788         bool "Full 4GB physical memory support"
789         default n
790         help
791           Harmless to select this even if hardware does not support full
792           4GB physical memory.
793
794 config TEGRA_LP1_LOW_COREVOLTAGE
795         bool "LP1 low core voltage"
796         default n
797         help
798                 Enable support for LP1 Core voltage to set to lowest
799
800 config TEGRA_LATENCY_ALLOWANCE
801         bool "Allow memory clients to configure latency allowance"
802         help
803           Latency allowance is a per-memory-client setting that tells the
804           memory controller how long it can ignore a request in favor of
805           others. In other words, It indicates how long a request from specific
806           memory client can wait before it is served.
807           Enabling this option allows memory clients configure the
808           latency allowance as per their bandwidth requirement.
809
810 config TEGRA_LATENCY_ALLOWANCE_SCALING
811         bool "Enable latency allowance scaling"
812         depends on TEGRA_LATENCY_ALLOWANCE
813         help
814           Enables latency allowance scaling, which enables scaling
815           programmed latency allowance values based on fifo threshold levels
816           set for for display and vi hardware.
817
818 config TEGRA_MC_PTSA
819         bool "Enable MC PTSA programming"
820         depends on TEGRA_LATENCY_ALLOWANCE
821         help
822           Enables Priority Tier Snap Arbiter programming in
823           Memory Controller. PTSA is a Memory Controller feature that
824           allows specifying the bandwidth necessary for ISO clients.
825
826 config TEGRA_DC_USE_HW_BPP
827         bool "Default Bits Per Pixel value from tegra DC hardware"
828         depends on TEGRA_DC
829         default n
830         help
831           Programs platform data to inform DC driver to use current
832           hardware value for bits per pixel setting.  Useful for
833           preserving and displaying framebuffer content from bootloader.
834
835 config TEGRA_ISOMGR
836         bool "Isochronous Bandwidth Manager "
837         help
838           When enabled, drivers for ISO units can obtain ISO BW.
839           The memory controller (MC) for each Tegra platform can supply
840           a limited amount of isochronous (real-time) bandwidth.  When
841           enabled, isomgr will manage a pool of ISO BW.
842
843 config TEGRA_ISOMGR_POOL_KB_PER_SEC
844         int "Size of isomgr pool "
845         default 0
846         help
847           Set this maximum ISO BW (in Kbytes/sec) that platform supports.
848           The memory controller (MC) for each Tegra platform can supply
849           a limited amount of isochronous (real-time) bandwidth.  Each
850           platform must specify the maximum amount of ISO BW that isomgr
851           should manage.
852
853 config TEGRA_ISOMGR_SYSFS
854         bool "Visibility into Isochronous Bandwidth Manager state "
855         depends on TEGRA_ISOMGR
856         help
857           When enabled, sysfs can be used to query isomgr state.
858           This is used for visibility into isomgr state.  It could
859           be useful in debug or in understanding performance on a
860           running system.
861
862 config TEGRA_ISOMGR_DEBUG
863         bool "Inject stimulus into Isochronous Bandwidth Manager "
864         depends on TEGRA_ISOMGR && TEGRA_ISOMGR_SYSFS
865         help
866           When enabled, sysfs can be used to inject stimulus into isomgr.
867           This is used to generate stimulus to isomgr for debug.  It's
868           especially useful for contriving isomgr tests.  You can write
869           user space tests that exercise isomgr in ways that drivers
870           couldn't easily accommodate.
871
872 config TEGRA_IO_DPD
873         bool "Allow IO DPD"
874         depends on ARCH_TEGRA_3x_SOC
875         depends on PM_SLEEP
876         default y
877         help
878           Allow devices listed in tegra_list_io_dpd[] to go into
879           Deep Power Down (DPD) state. This is a temporary config
880           option until a proper way is implemented to resolve this issue.
881
882 config TEGRA_USE_DFLL_RANGE
883         int "Default CPU DFLL operating range"
884         depends on ARCH_TEGRA_HAS_CL_DVFS
885         range 0 2
886         default "2" if TEGRA_SILICON_PLATFORM
887         default "0"
888         help
889           Defines default range for dynamic frequency lock loop (DFLL)
890           to be used as CPU clock source:
891           "0" - DFLL is not used,
892           "1" - DFLL is used as a source for all CPU rates
893           "2" - DFLL is used only for high rates above crossover with
894                 PLL dvfs curve
895
896 config TEGRA_TIMER_HZ
897         int "Kernel HZ (jiffies per second)"
898         default "100" if TEGRA_FPGA_PLATFORM
899         default "1000"
900
901 config TEGRA_SOCTHERM
902         bool "Enable soctherm"
903         depends on ARCH_TEGRA_11x_SOC
904         default y
905         help
906           Enables use of soctherm for thermal management.
907
908 config TEGRA_VIRTUAL_CPUID
909         bool "virtualized CPUID"
910         depends on !TRUSTED_FOUNDATIONS
911         depends on ARCH_TEGRA_HAS_SYMMETRIC_CPU_PWR_GATE
912         default n
913         help
914           Enables virtualized CPUID.
915
916 config TEGRA_NVDUMPER
917         bool "Enable NvDumper for post-mortem debugging"
918         default n
919         help
920           The nvdumper is a tool that saves a copy of RAM following a crash.
921           nvdumper kernel module tracks whether the system has been rebooted
922           cleanly. It does this by writing 'dirty' to a fixed physical memory
923           address when the kernel starts.
924           Then, on a planned reboot, we write 'clean' to this location.
925           The bootloader can then examine this location and see if the reboot
926           was dirty or clean.
927           It will dump the contents of memory after a dirty reboot.
928           This tool would be helpful for debugging kernel crash.
929           In order to use this feature, you should enable debug feature in
930           bootloader compiling option also (-DENABLE_NVDUMPER).
931           You can dump RAM with nvflash tool in dirty boot status.
932           usage: nvflash --dumpram [phy. RAM offset] [length] <filename>
933
934 config TEGRA_ARBITRATION_EMEM_INTR
935         bool "Enable the ARBITRATION_EMEM interrupt in the MC"
936         help
937           Enable this to allow the kernel to track arbitration conflicts
938           in the memory controller.
939
940 config TEGRA_CORE_EDP_LIMITS
941         bool "Enforce electrical design limits on core rail"
942         depends on TEGRA_SILICON_PLATFORM
943         depends on THERMAL
944         default n
945         help
946           Limit maximum GPU and memory frequency to keep core rail current
947           within power supply capabilities.
948
949 config TEGRA_PLLM_SCALED
950         bool "Enable memory PLLM run time scaling"
951         depends on TEGRA_DUAL_CBUS
952         select TEGRA_PLLM_RESTRICTED
953         default n
954         help
955           When enabled, memory PLLM can be scaled at run time to reduce
956           granularity of possible memory rate steps. In this case PLLC
957           provides a backup memory clock while PLLM is re-locking to the
958           new rate.
959
960 config TEGRA_ATOMICS
961         bool "Support atomics operation"
962         depends on SMP
963         help
964           When enabled, spin lock type of synchronzation can be done between
965           two processors when global monitor is not available.
966
967 config TEGRA_USE_NCT
968         bool "Enable NCT partition access"
969         help
970           When enabled, we can read non-volatile items from NCT partition.
971
972 config TEGRA_VDD_CORE_OVERRIDE
973         bool "Enable core rail override support"
974         depends on TEGRA_SILICON_PLATFORM
975         default n
976         help
977           When enabled, core rail can be fixed and locked at specified voltage
978           within override range, and core modules clocks are capped at rates
979           safe at override level.
980 endif