xref: /openbmc/linux/arch/powerpc/platforms/Kconfig (revision 22246614)
1menu "Platform support"
2
3choice
4	prompt "Machine type"
5	depends on PPC64 || 6xx
6	default PPC_MULTIPLATFORM
7
8config 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
15config PPC_82xx
16	bool "Freescale 82xx"
17	depends on 6xx
18
19config PPC_83xx
20	bool "Freescale 83xx"
21	depends on 6xx
22	select FSL_SOC
23	select MPC83xx
24	select IPIC
25
26config 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.
33endchoice
34
35config CLASSIC32
36	def_bool y
37	depends on 6xx && PPC_MULTIPLATFORM
38
39source "arch/powerpc/platforms/pseries/Kconfig"
40source "arch/powerpc/platforms/iseries/Kconfig"
41source "arch/powerpc/platforms/chrp/Kconfig"
42source "arch/powerpc/platforms/512x/Kconfig"
43source "arch/powerpc/platforms/52xx/Kconfig"
44source "arch/powerpc/platforms/powermac/Kconfig"
45source "arch/powerpc/platforms/prep/Kconfig"
46source "arch/powerpc/platforms/maple/Kconfig"
47source "arch/powerpc/platforms/pasemi/Kconfig"
48source "arch/powerpc/platforms/ps3/Kconfig"
49source "arch/powerpc/platforms/cell/Kconfig"
50source "arch/powerpc/platforms/8xx/Kconfig"
51source "arch/powerpc/platforms/82xx/Kconfig"
52source "arch/powerpc/platforms/83xx/Kconfig"
53source "arch/powerpc/platforms/85xx/Kconfig"
54source "arch/powerpc/platforms/86xx/Kconfig"
55source "arch/powerpc/platforms/embedded6xx/Kconfig"
56source "arch/powerpc/platforms/44x/Kconfig"
57source "arch/powerpc/platforms/40x/Kconfig"
58
59config 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
67config UDBG_RTAS_CONSOLE
68	bool "RTAS based debug console"
69	depends on PPC_RTAS
70	default n
71
72config PPC_UDBG_BEAT
73	bool "BEAT based debug console"
74	depends on PPC_CELLEB
75	default n
76
77config XICS
78	depends on PPC_PSERIES
79	bool
80	default y
81
82config IPIC
83	bool
84	default n
85
86config MPIC
87	bool
88	default n
89
90config MPIC_WEIRD
91	bool
92	default n
93
94config PPC_I8259
95	bool
96	default n
97
98config U3_DART
99	bool
100	depends on PPC_MULTIPLATFORM && PPC64
101	default n
102
103config PPC_RTAS
104	bool
105	default n
106
107config RTAS_ERROR_LOGGING
108	bool
109	depends on PPC_RTAS
110	default n
111
112config RTAS_PROC
113	bool "Proc interface to RTAS"
114	depends on PPC_RTAS
115	default y
116
117config RTAS_FLASH
118	tristate "Firmware flash interface"
119	depends on PPC64 && RTAS_PROC
120
121config 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
130config MMIO_NVRAM
131	bool
132	default n
133
134config MPIC_U3_HT_IRQS
135	bool
136	depends on PPC_MAPLE
137	default y
138
139config 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
149config IBMVIO
150	depends on PPC_PSERIES || PPC_ISERIES
151	bool
152	default y
153
154config 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
160config PPC_MPC106
161	bool
162	default n
163
164config PPC_970_NAP
165	bool
166	default n
167
168config PPC_INDIRECT_IO
169	bool
170	select GENERIC_IOMAP
171	default n
172
173config GENERIC_IOMAP
174	bool
175	default n
176
177source "drivers/cpufreq/Kconfig"
178
179menu "CPU Frequency drivers"
180	depends on CPU_FREQ
181
182config 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
191config 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
199config 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
208endmenu
209
210config 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
224config 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
237config 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
253config 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
268config 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
278config 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
289config PPC_CPM_NEW_BINDING
290	bool
291	depends on CPM1 || CPM2
292	default y
293
294config 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
304config 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
313config CPM
314	bool
315
316config 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
322source "arch/powerpc/sysdev/bestcomm/Kconfig"
323
324endmenu
325