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