0d752e2a8763920bf3feca071e99b8bd70f67f8d
[linux-3.10.git] / arch / arm / mach-tegra / Kconfig
1 if ARCH_TEGRA
2
3 comment "NVIDIA Tegra options"
4
5 config ARCH_TEGRA_2x_SOC
6         bool "Enable support for Tegra20 family"
7         depends on !ARCH_TEGRA_3x_SOC
8         select ARCH_NEEDS_CPU_IDLE_COUPLED if SMP
9         select ARCH_SUPPORTS_MSI if TEGRA_PCI
10         select ARCH_TEGRA_HAS_PCIE
11         select ARM_ERRATA_720789
12         select ARM_ERRATA_742230 if SMP
13         select ARM_ERRATA_751472
14         select ARM_ERRATA_754327 if SMP
15         select ARM_ERRATA_764369 if SMP
16         select ARM_GIC
17         select COMMON_CLK
18         select CPU_FREQ_TABLE if CPU_FREQ
19         select CPU_V7
20         select PCI_MSI if TEGRA_PCI
21         select PINCTRL
22         select PINCTRL_TEGRA20
23         select PL310_ERRATA_727915 if CACHE_L2X0
24         select PL310_ERRATA_769419 if CACHE_L2X0
25         select USB_ARCH_HAS_EHCI if USB_SUPPORT
26         select USB_ULPI if USB_PHY
27         select USB_ULPI_VIEWPORT if USB_PHY
28         help
29           Support for NVIDIA Tegra AP20 and T20 processors, based on the
30           ARM CortexA9MP CPU and the ARM PL310 L2 cache controller
31
32 config ARCH_TEGRA_3x_SOC
33         bool "Enable support for Tegra30 family"
34         select ARCH_SUPPORTS_MSI if TEGRA_PCI
35         select ARCH_TEGRA_HAS_PCIE
36         select ARCH_TEGRA_HAS_SATA
37         select ARCH_TEGRA_HAS_DUAL_3D
38         select ARCH_TEGRA_HAS_DUAL_CPU_CLUSTERS
39         select ARM_ERRATA_743622
40         select ARM_ERRATA_751472
41         select ARM_ERRATA_754322
42         select ARM_ERRATA_764369 if SMP
43         select ARM_GIC
44         select COMMON_CLK
45         select CPU_FREQ_TABLE if CPU_FREQ
46         select CPU_V7
47         select GIC_SET_MULTIPLE_CPUS if SMP
48         select PCI_MSI if TEGRA_PCI
49         select PINCTRL
50         select PINCTRL_TEGRA30
51         select PL310_ERRATA_769419 if CACHE_L2X0
52         select REPORT_PRESENT_CPUS if TEGRA_AUTO_HOTPLUG
53         select TEGRA_LP2_ARM_TWD if HAVE_ARM_TWD
54         select USB_ARCH_HAS_EHCI if USB_SUPPORT
55         select USB_ULPI if USB_PHY
56         select USB_ULPI_VIEWPORT if USB_PHY
57         help
58           Support for NVIDIA Tegra T30 processor family, based on the
59           ARM CortexA9MP CPU and the ARM PL310 L2 cache controller
60
61 config ARCH_TEGRA_HAS_DUAL_3D
62         bool
63
64 config ARCH_TEGRA_HAS_DUAL_CPU_CLUSTERS
65         bool
66
67 config ARCH_TEGRA_HAS_PCIE
68         bool
69
70 config ARCH_TEGRA_HAS_SATA
71         bool
72
73 config TEGRA_PCI
74         bool "PCIe host controller driver"
75         select PCI
76         depends on ARCH_TEGRA_HAS_PCIE
77         help
78           Adds PCIe Host controller driver for tegra based systems
79
80 config TEGRA_AHB
81         bool "Enable AHB driver for NVIDIA Tegra SoCs"
82         default y
83         help
84           Adds AHB configuration functionality for NVIDIA Tegra SoCs,
85           which controls AHB bus master arbitration and some
86           performance parameters(priority, prefech size).
87
88 comment "Tegra board type"
89
90 choice
91        prompt "Tegra platform type"
92        default TEGRA_SILICON_PLATFORM
93
94 config TEGRA_SILICON_PLATFORM
95         bool "Silicon"
96         help
97           This enables support for a Tegra silicon platform.
98
99 config TEGRA_SIMULATION_PLATFORM
100         bool "Simulation"
101         help
102           This enables support for a Tegra simulation platform.
103           Select this only if you are an NVIDIA developer working
104           on a simulation platform.
105
106 config TEGRA_FPGA_PLATFORM
107         bool "FPGA"
108         help
109           This enables support for a Tegra FPGA platform.
110           Select this only if you are an NVIDIA developer working
111           on a FPGA platform.
112 endchoice
113
114 config TEGRA_EMC_SCALING_ENABLE
115         bool "Enable scaling the memory frequency"
116         depends on TEGRA_SILICON_PLATFORM
117         default n
118
119 config TEGRA_CPU_DVFS
120         bool "Enable voltage scaling on Tegra CPU"
121         depends on TEGRA_SILICON_PLATFORM
122         default y
123
124 config TEGRA_CORE_DVFS
125         bool "Enable voltage scaling on Tegra core"
126         depends on TEGRA_SILICON_PLATFORM
127         depends on TEGRA_CPU_DVFS
128         default y
129
130 config TEGRA_AVP_KERNEL_ON_MMU
131         bool "Use AVP MMU to relocate AVP kernel"
132         depends on ARCH_TEGRA_2x_SOC
133         default y
134         help
135           Use AVP MMU to relocate AVP kernel (nvrm_avp.bin).
136
137 config TEGRA_AVP_KERNEL_ON_SMMU
138         bool "Use SMMU to relocate AVP kernel"
139         depends on TEGRA_IOVMM_SMMU
140         default y
141         help
142           Use SMMU to relocate AVP kernel (nvrm_avp.bin).
143
144 config TEGRA_ARB_SEMAPHORE
145         bool
146
147 config TEGRA_THERMAL_THROTTLE
148         bool "Enable throttling of CPU speed on overtemp"
149         depends on TEGRA_SILICON_PLATFORM
150         depends on CPU_FREQ
151         default y
152         help
153           Also requires enabling a temperature sensor such as NCT1008.
154
155 config WIFI_CONTROL_FUNC
156         bool "Enable WiFi control function abstraction"
157         help
158           Enables Power/Reset/Carddetect function abstraction
159
160 config TEGRA_CLOCK_DEBUG_WRITE
161         bool "Enable debugfs write access to clock tree"
162         depends on DEBUG_FS
163         default n
164
165 config TEGRA_CLUSTER_CONTROL
166         bool
167         depends on ARCH_TEGRA_HAS_DUAL_CPU_CLUSTERS
168         default y if PM_SLEEP
169
170 config TEGRA_AUTO_HOTPLUG
171         bool "Enable automatic CPU hot-plugging"
172         depends on HOTPLUG_CPU && CPU_FREQ && !ARCH_CPU_PROBE_RELEASE && !ARCH_TEGRA_2x_SOC
173         default y
174         help
175           This option enables turning CPUs off/on and switching tegra
176           high/low power CPU clusters automatically, corresponding to
177           CPU frequency scaling.
178
179 config TEGRA_EDP_LIMITS
180         bool "Enforce electrical design limits"
181         depends on TEGRA_SILICON_PLATFORM
182         depends on CPU_FREQ
183         default y if ARCH_TEGRA_3x_SOC
184         default n
185         help
186           Limit maximum CPU frequency based on temperature and number
187           of on-line CPUs to keep CPU rail current within power supply
188           capabilities.
189
190 config TEGRA_INTERNAL_TSENSOR_EDP_SUPPORT
191         bool "Enable EDP and thermal throttling using internal TSensor"
192         depends on TEGRA_EDP_LIMITS && ARCH_TEGRA_3x_SOC
193         help
194           When enabled, uses internal tsensor to support EDP and
195           thermal throttling on tegra platform
196
197 config TEGRA_EMC_TO_DDR_CLOCK
198         int "EMC to DDR clocks ratio"
199         default "2" if ARCH_TEGRA_2x_SOC
200         default "1"
201
202 config TEGRA_DYNAMIC_PWRDET
203         bool "Enable dynamic activation of IO level auto-detection"
204         depends on TEGRA_SILICON_PLATFORM
205         default n
206         help
207           This option allows turning off tegra IO level auto-detection
208           when IO power is stable. If set auto-detection cells are active
209           only during power transitions, otherwise, the cells are active
210           always
211
212 config TEGRA_EDP_EXACT_FREQ
213         bool "Use maximum possible cpu frequency when EDP capping"
214         depends on TEGRA_EDP_LIMITS
215         default y
216         help
217           When enabled the cpu will run at the exact frequency
218           specified in the EDP table when EDP capping is applied; when
219           disabled the next lower cpufreq frequency will be used.
220
221 config TEGRA_USB_MODEM_POWER
222         bool "Enable tegra usb modem power management"
223         default n
224         help
225           This option enables support for out-of_band remote wakeup, selective
226           suspend and system suspend/resume.
227
228 config TEGRA_THERMAL_SYSFS
229         bool "Enable Thermal driver to use Thermal Sysfs infrastructure"
230         depends on THERMAL
231         default y
232
233 config TEGRA_PLLM_RESTRICTED
234         bool "Restrict PLLM usage as module clock source"
235         depends on !ARCH_TEGRA_2x_SOC
236         default n
237         help
238           When enabled, PLLM usage may be restricted to modules with dividers
239           capable of dividing maximum PLLM frequency at minimum voltage. When
240           disabled, PLLM is used as a clock source with no restrictions (which
241           may effectively increase lower limit for core voltage).
242
243 config TEGRA_WDT_RECOVERY
244         bool "Enable suspend/resume watchdog recovery mechanism"
245         default n
246         help
247           Enables watchdog recovery mechanism to protect against
248           suspend/resume hangs.
249
250 config TEGRA_LP2_ARM_TWD
251         bool
252 endif
253
254 config TEGRA_SLOW_CSITE
255         bool "lower csite clock to 1 Mhz to reduce its power consumption"
256         default n
257         help
258           When enabled, csite will be running at 1 Mhz and the performance of
259           jtag, lauterbach and other debugger will be extremely slow.