xref: /openbmc/linux/arch/powerpc/platforms/Kconfig (revision 96de0e252cedffad61b3cb5e05662c591898e69a)
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	select WANT_DEVICE_TREE
19
20config PPC_83xx
21	bool "Freescale 83xx"
22	depends on 6xx
23	select FSL_SOC
24	select 83xx
25	select WANT_DEVICE_TREE
26
27config 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.
34endchoice
35
36config CLASSIC32
37	def_bool y
38	depends on 6xx && PPC_MULTIPLATFORM
39
40source "arch/powerpc/platforms/pseries/Kconfig"
41source "arch/powerpc/platforms/iseries/Kconfig"
42source "arch/powerpc/platforms/chrp/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 MPIC
84	bool
85	default n
86
87config MPIC_WEIRD
88	bool
89	default n
90
91config PPC_I8259
92	bool
93	default n
94
95config U3_DART
96	bool
97	depends on PPC_MULTIPLATFORM && PPC64
98	default n
99
100config PPC_RTAS
101	bool
102	default n
103
104config RTAS_ERROR_LOGGING
105	bool
106	depends on PPC_RTAS
107	default n
108
109config RTAS_PROC
110	bool "Proc interface to RTAS"
111	depends on PPC_RTAS
112	default y
113
114config RTAS_FLASH
115	tristate "Firmware flash interface"
116	depends on PPC64 && RTAS_PROC
117
118config 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 Mangement Controller).
124	  It is used in some IBM Cell blades.
125	default m
126
127config MMIO_NVRAM
128	bool
129	default n
130
131config MPIC_U3_HT_IRQS
132	bool
133	depends on PPC_MAPLE
134	default y
135
136config 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
146config IBMVIO
147	depends on PPC_PSERIES || PPC_ISERIES
148	bool
149	default y
150
151config 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
157config PPC_MPC106
158	bool
159	default n
160
161config PPC_970_NAP
162	bool
163	default n
164
165config PPC_INDIRECT_IO
166	bool
167	select GENERIC_IOMAP
168	default n
169
170config GENERIC_IOMAP
171	bool
172	default n
173
174source "drivers/cpufreq/Kconfig"
175
176menu "CPU Frequency drivers"
177	depends on CPU_FREQ
178
179config 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
188config 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
196config 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
205endmenu
206
207config 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
221config 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
234config 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
250config 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
265config 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
274config 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
285config 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
296config 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
306config 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
315config CPM
316	bool
317
318source "arch/powerpc/sysdev/bestcomm/Kconfig"
319
320endmenu
321