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