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