[POWERPC] Avoid unpaired stwcx. on some processors
[linux-2.6.git] / arch / powerpc / platforms / Kconfig
1 menu "Platform support"
2
3 choice
4         prompt "Machine type"
5         depends on PPC64 || 6xx
6         default PPC_MULTIPLATFORM
7
8 config PPC_MULTIPLATFORM
9         bool "Generic desktop/server/laptop"
10         help
11           Select this option if configuring for an IBM pSeries or
12           RS/6000 machine, an Apple machine, or a PReP, CHRP,
13           Maple or Cell-based machine.
14
15 config PPC_82xx
16         bool "Freescale 82xx"
17         depends on 6xx
18         select WANT_DEVICE_TREE
19
20 config PPC_83xx
21         bool "Freescale 83xx"
22         depends on 6xx
23         select FSL_SOC
24         select 83xx
25         select WANT_DEVICE_TREE
26
27 config PPC_86xx
28         bool "Freescale 86xx"
29         depends on 6xx
30         select FSL_SOC
31         select ALTIVEC
32         help
33           The Freescale E600 SoCs have 74xx cores.
34 endchoice
35
36 config CLASSIC32
37         def_bool y
38         depends on 6xx && PPC_MULTIPLATFORM
39
40 source "arch/powerpc/platforms/pseries/Kconfig"
41 source "arch/powerpc/platforms/iseries/Kconfig"
42 source "arch/powerpc/platforms/chrp/Kconfig"
43 source "arch/powerpc/platforms/52xx/Kconfig"
44 source "arch/powerpc/platforms/powermac/Kconfig"
45 source "arch/powerpc/platforms/prep/Kconfig"
46 source "arch/powerpc/platforms/maple/Kconfig"
47 source "arch/powerpc/platforms/pasemi/Kconfig"
48 source "arch/powerpc/platforms/celleb/Kconfig"
49 source "arch/powerpc/platforms/ps3/Kconfig"
50 source "arch/powerpc/platforms/cell/Kconfig"
51 source "arch/powerpc/platforms/8xx/Kconfig"
52 source "arch/powerpc/platforms/82xx/Kconfig"
53 source "arch/powerpc/platforms/83xx/Kconfig"
54 source "arch/powerpc/platforms/85xx/Kconfig"
55 source "arch/powerpc/platforms/86xx/Kconfig"
56 source "arch/powerpc/platforms/embedded6xx/Kconfig"
57 source "arch/powerpc/platforms/44x/Kconfig"
58 source "arch/powerpc/platforms/40x/Kconfig"
59
60 config PPC_NATIVE
61         bool
62         depends on PPC_MULTIPLATFORM
63         help
64           Support for running natively on the hardware, i.e. without
65           a hypervisor. This option is not user-selectable but should
66           be selected by all platforms that need it.
67
68 config UDBG_RTAS_CONSOLE
69         bool "RTAS based debug console"
70         depends on PPC_RTAS
71         default n
72
73 config PPC_UDBG_BEAT
74         bool "BEAT based debug console"
75         depends on PPC_CELLEB
76         default n
77
78 config XICS
79         depends on PPC_PSERIES
80         bool
81         default y
82
83 config MPIC
84         bool
85         default n
86
87 config MPIC_WEIRD
88         bool
89         default n
90
91 config PPC_I8259
92         bool
93         default n
94
95 config U3_DART
96         bool
97         depends on PPC_MULTIPLATFORM && PPC64
98         default n
99
100 config PPC_RTAS
101         bool
102         default n
103
104 config RTAS_ERROR_LOGGING
105         bool
106         depends on PPC_RTAS
107         default n
108
109 config RTAS_PROC
110         bool "Proc interface to RTAS"
111         depends on PPC_RTAS
112         default y
113
114 config RTAS_FLASH
115         tristate "Firmware flash interface"
116         depends on PPC64 && RTAS_PROC
117
118 config PPC_PMI
119         tristate "Support for PMI"
120         depends on PPC_IBM_CELL_BLADE
121         help
122           PMI (Platform Management Interrupt) is a way to
123           communicate with the BMC (Baseboard Management Controller).
124           It is used in some IBM Cell blades.
125         default m
126
127 config MMIO_NVRAM
128         bool
129         default n
130
131 config MPIC_U3_HT_IRQS
132         bool
133         depends on PPC_MAPLE
134         default y
135
136 config MPIC_BROKEN_REGREAD
137         bool
138         depends on MPIC
139         help
140           This option enables a MPIC driver workaround for some chips
141           that have a bug that causes some interrupt source information
142           to not read back properly. It is safe to use on other chips as
143           well, but enabling it uses about 8KB of memory to keep copies
144           of the register contents in software.
145
146 config IBMVIO
147         depends on PPC_PSERIES || PPC_ISERIES
148         bool
149         default y
150
151 config IBMEBUS
152         depends on PPC_PSERIES
153         bool "Support for GX bus based adapters"
154         help
155           Bus device driver for GX bus based adapters.
156
157 config PPC_MPC106
158         bool
159         default n
160
161 config PPC_970_NAP
162         bool
163         default n
164
165 config PPC_INDIRECT_IO
166         bool
167         select GENERIC_IOMAP
168         default n
169
170 config GENERIC_IOMAP
171         bool
172         default n
173
174 source "drivers/cpufreq/Kconfig"
175
176 menu "CPU Frequency drivers"
177         depends on CPU_FREQ
178
179 config CPU_FREQ_PMAC
180         bool "Support for Apple PowerBooks"
181         depends on ADB_PMU && PPC32
182         select CPU_FREQ_TABLE
183         help
184           This adds support for frequency switching on Apple PowerBooks,
185           this currently includes some models of iBook & Titanium
186           PowerBook.
187
188 config CPU_FREQ_PMAC64
189         bool "Support for some Apple G5s"
190         depends on PPC_PMAC && PPC64
191         select CPU_FREQ_TABLE
192         help
193           This adds support for frequency switching on Apple iMac G5,
194           and some of the more recent desktop G5 machines as well.
195
196 config PPC_PASEMI_CPUFREQ
197         bool "Support for PA Semi PWRficient"
198         depends on PPC_PASEMI
199         default y
200         select CPU_FREQ_TABLE
201         help
202           This adds the support for frequency switching on PA Semi
203           PWRficient processors.
204
205 endmenu
206
207 config PPC601_SYNC_FIX
208         bool "Workarounds for PPC601 bugs"
209         depends on 6xx && (PPC_PREP || PPC_PMAC)
210         help
211           Some versions of the PPC601 (the first PowerPC chip) have bugs which
212           mean that extra synchronization instructions are required near
213           certain instructions, typically those that make major changes to the
214           CPU state.  These extra instructions reduce performance slightly.
215           If you say N here, these extra instructions will not be included,
216           resulting in a kernel which will run faster but may not run at all
217           on some systems with the PPC601 chip.
218
219           If in doubt, say Y here.
220
221 config TAU
222         bool "On-chip CPU temperature sensor support"
223         depends on CLASSIC32
224         help
225           G3 and G4 processors have an on-chip temperature sensor called the
226           'Thermal Assist Unit (TAU)', which, in theory, can measure the on-die
227           temperature within 2-4 degrees Celsius. This option shows the current
228           on-die temperature in /proc/cpuinfo if the cpu supports it.
229
230           Unfortunately, on some chip revisions, this sensor is very inaccurate
231           and in many cases, does not work at all, so don't assume the cpu
232           temp is actually what /proc/cpuinfo says it is.
233
234 config TAU_INT
235         bool "Interrupt driven TAU driver (DANGEROUS)"
236         depends on TAU
237         ---help---
238           The TAU supports an interrupt driven mode which causes an interrupt
239           whenever the temperature goes out of range. This is the fastest way
240           to get notified the temp has exceeded a range. With this option off,
241           a timer is used to re-check the temperature periodically.
242
243           However, on some cpus it appears that the TAU interrupt hardware
244           is buggy and can cause a situation which would lead unexplained hard
245           lockups.
246
247           Unless you are extending the TAU driver, or enjoy kernel/hardware
248           debugging, leave this option off.
249
250 config TAU_AVERAGE
251         bool "Average high and low temp"
252         depends on TAU
253         ---help---
254           The TAU hardware can compare the temperature to an upper and lower
255           bound.  The default behavior is to show both the upper and lower
256           bound in /proc/cpuinfo. If the range is large, the temperature is
257           either changing a lot, or the TAU hardware is broken (likely on some
258           G4's). If the range is small (around 4 degrees), the temperature is
259           relatively stable.  If you say Y here, a single temperature value,
260           halfway between the upper and lower bounds, will be reported in
261           /proc/cpuinfo.
262
263           If in doubt, say N here.
264
265 config QUICC_ENGINE
266         bool
267         select PPC_LIB_RHEAP
268         help
269           The QUICC Engine (QE) is a new generation of communications
270           coprocessors on Freescale embedded CPUs (akin to CPM in older chips).
271           Selecting this option means that you wish to build a kernel
272           for a machine with a QE coprocessor.
273
274 config CPM2
275         bool
276         default n
277         select CPM
278         select PPC_LIB_RHEAP
279         help
280           The CPM2 (Communications Processor Module) is a coprocessor on
281           embedded CPUs made by Freescale.  Selecting this option means that
282           you wish to build a kernel for a machine with a CPM2 coprocessor
283           on it (826x, 827x, 8560).
284
285 config PPC_CPM_NEW_BINDING
286         bool
287         depends on CPM1 || CPM2
288         help
289           Select this if your board has been converted to use the new
290           device tree bindings for CPM, and no longer needs the
291           ioport callbacks or the platform device glue code.
292
293           The fs_enet and cpm_uart drivers will be built as
294           of_platform devices.
295
296 config AXON_RAM
297         tristate "Axon DDR2 memory device driver"
298         depends on PPC_IBM_CELL_BLADE
299         default m
300         help
301           It registers one block device per Axon's DDR2 memory bank found
302           on a system. Block devices are called axonram?, their major and
303           minor numbers are available in /proc/devices, /proc/partitions or
304           in /sys/block/axonram?/dev.
305
306 config FSL_ULI1575
307         bool
308         default n
309         select GENERIC_ISA_DMA
310         help
311           Supports for the ULI1575 PCIe south bridge that exists on some
312           Freescale reference boards. The boards all use the ULI in pretty
313           much the same way.
314
315 config CPM
316         bool
317
318 source "arch/powerpc/sysdev/bestcomm/Kconfig"
319
320 endmenu