GNU Linux-libre 4.14.251-gnu1
[releases.git] / arch / powerpc / platforms / Kconfig
1 # SPDX-License-Identifier: GPL-2.0
2 menu "Platform support"
3
4 source "arch/powerpc/platforms/powernv/Kconfig"
5 source "arch/powerpc/platforms/pseries/Kconfig"
6 source "arch/powerpc/platforms/chrp/Kconfig"
7 source "arch/powerpc/platforms/512x/Kconfig"
8 source "arch/powerpc/platforms/52xx/Kconfig"
9 source "arch/powerpc/platforms/powermac/Kconfig"
10 source "arch/powerpc/platforms/maple/Kconfig"
11 source "arch/powerpc/platforms/pasemi/Kconfig"
12 source "arch/powerpc/platforms/ps3/Kconfig"
13 source "arch/powerpc/platforms/cell/Kconfig"
14 source "arch/powerpc/platforms/8xx/Kconfig"
15 source "arch/powerpc/platforms/82xx/Kconfig"
16 source "arch/powerpc/platforms/83xx/Kconfig"
17 source "arch/powerpc/platforms/85xx/Kconfig"
18 source "arch/powerpc/platforms/86xx/Kconfig"
19 source "arch/powerpc/platforms/embedded6xx/Kconfig"
20 source "arch/powerpc/platforms/44x/Kconfig"
21 source "arch/powerpc/platforms/40x/Kconfig"
22 source "arch/powerpc/platforms/amigaone/Kconfig"
23
24 config KVM_GUEST
25         bool "KVM Guest support"
26         default n
27         select EPAPR_PARAVIRT
28         ---help---
29           This option enables various optimizations for running under the KVM
30           hypervisor. Overhead for the kernel when not running inside KVM should
31           be minimal.
32
33           In case of doubt, say Y
34
35 config EPAPR_PARAVIRT
36         bool "ePAPR para-virtualization support"
37         default n
38         help
39           Enables ePAPR para-virtualization support for guests.
40
41           In case of doubt, say Y
42
43 config PPC_NATIVE
44         bool
45         depends on 6xx || PPC64
46         help
47           Support for running natively on the hardware, i.e. without
48           a hypervisor. This option is not user-selectable but should
49           be selected by all platforms that need it.
50
51 config PPC_OF_BOOT_TRAMPOLINE
52         bool "Support booting from Open Firmware or yaboot"
53         depends on 6xx || PPC64
54         default y
55         help
56           Support from booting from Open Firmware or yaboot using an
57           Open Firmware client interface. This enables the kernel to
58           communicate with open firmware to retrieve system information
59           such as the device tree.
60
61           In case of doubt, say Y
62
63 config PPC_DT_CPU_FTRS
64         bool "Device-tree based CPU feature discovery & setup"
65         depends on PPC_BOOK3S_64
66         default y
67         help
68           This enables code to use a new device tree binding for describing CPU
69           compatibility and features. Saying Y here will attempt to use the new
70           binding if the firmware provides it. Currently only the skiboot
71           firmware provides this binding.
72           If you're not sure say Y.
73
74 config UDBG_RTAS_CONSOLE
75         bool "RTAS based debug console"
76         depends on PPC_RTAS
77         default n
78
79 config PPC_SMP_MUXED_IPI
80         bool
81         help
82           Select this opton if your platform supports SMP and your
83           interrupt controller provides less than 4 interrupts to each
84           cpu.  This will enable the generic code to multiplex the 4
85           messages on to one ipi.
86
87 config IPIC
88         bool
89         default n
90
91 config MPIC
92         bool
93         default n
94
95 config MPIC_TIMER
96         bool "MPIC Global Timer"
97         depends on MPIC && FSL_SOC
98         default n
99         help
100           The MPIC global timer is a hardware timer inside the
101           Freescale PIC complying with OpenPIC standard. When the
102           specified interval times out, the hardware timer generates
103           an interrupt. The driver currently is only tested on fsl
104           chip, but it can potentially support other global timers
105           complying with the OpenPIC standard.
106
107 config FSL_MPIC_TIMER_WAKEUP
108         tristate "Freescale MPIC global timer wakeup driver"
109         depends on FSL_SOC &&  MPIC_TIMER && PM
110         default n
111         help
112           The driver provides a way to wake up the system by MPIC
113           timer.
114           e.g. "echo 5 > /sys/devices/system/mpic/timer_wakeup"
115
116 config PPC_EPAPR_HV_PIC
117         bool
118         default n
119         select EPAPR_PARAVIRT
120
121 config MPIC_WEIRD
122         bool
123         default n
124
125 config MPIC_MSGR
126         bool "MPIC message register support"
127         depends on MPIC
128         default n
129         help
130           Enables support for the MPIC message registers.  These
131           registers are used for inter-processor communication.
132
133 config PPC_I8259
134         bool
135         default n
136
137 config U3_DART
138         bool
139         depends on PPC64
140         default n
141
142 config PPC_RTAS
143         bool
144         default n
145
146 config RTAS_ERROR_LOGGING
147         bool
148         depends on PPC_RTAS
149         default n
150
151 config PPC_RTAS_DAEMON
152         bool
153         depends on PPC_RTAS
154         default n
155
156 config RTAS_PROC
157         bool "Proc interface to RTAS"
158         depends on PPC_RTAS && PROC_FS
159         default y
160
161 config RTAS_FLASH
162         tristate "Firmware flash interface"
163         depends on PPC64 && RTAS_PROC
164
165 config MMIO_NVRAM
166         bool
167         default n
168
169 config MPIC_U3_HT_IRQS
170         bool
171         default n
172
173 config MPIC_BROKEN_REGREAD
174         bool
175         depends on MPIC
176         help
177           This option enables a MPIC driver workaround for some chips
178           that have a bug that causes some interrupt source information
179           to not read back properly. It is safe to use on other chips as
180           well, but enabling it uses about 8KB of memory to keep copies
181           of the register contents in software.
182
183 config EEH
184         bool
185         depends on (PPC_POWERNV || PPC_PSERIES) && PCI
186         default y
187
188 config PPC_MPC106
189         bool
190         default n
191
192 config PPC_970_NAP
193         bool
194         default n
195
196 config PPC_P7_NAP
197         bool
198         default n
199
200 config PPC_INDIRECT_PIO
201         bool
202         select GENERIC_IOMAP
203
204 config PPC_INDIRECT_MMIO
205         bool
206
207 config PPC_IO_WORKAROUNDS
208         bool
209
210 source "drivers/cpufreq/Kconfig"
211
212 menu "CPUIdle driver"
213
214 source "drivers/cpuidle/Kconfig"
215
216 endmenu
217
218 config PPC601_SYNC_FIX
219         bool "Workarounds for PPC601 bugs"
220         depends on 6xx && PPC_PMAC
221         help
222           Some versions of the PPC601 (the first PowerPC chip) have bugs which
223           mean that extra synchronization instructions are required near
224           certain instructions, typically those that make major changes to the
225           CPU state.  These extra instructions reduce performance slightly.
226           If you say N here, these extra instructions will not be included,
227           resulting in a kernel which will run faster but may not run at all
228           on some systems with the PPC601 chip.
229
230           If in doubt, say Y here.
231
232 config TAU
233         bool "On-chip CPU temperature sensor support"
234         depends on 6xx
235         help
236           G3 and G4 processors have an on-chip temperature sensor called the
237           'Thermal Assist Unit (TAU)', which, in theory, can measure the on-die
238           temperature within 2-4 degrees Celsius. This option shows the current
239           on-die temperature in /proc/cpuinfo if the cpu supports it.
240
241           Unfortunately, on some chip revisions, this sensor is very inaccurate
242           and in many cases, does not work at all, so don't assume the cpu
243           temp is actually what /proc/cpuinfo says it is.
244
245 config TAU_INT
246         bool "Interrupt driven TAU driver (EXPERIMENTAL)"
247         depends on TAU
248         ---help---
249           The TAU supports an interrupt driven mode which causes an interrupt
250           whenever the temperature goes out of range. This is the fastest way
251           to get notified the temp has exceeded a range. With this option off,
252           a timer is used to re-check the temperature periodically.
253
254           If in doubt, say N here.
255
256 config TAU_AVERAGE
257         bool "Average high and low temp"
258         depends on TAU
259         ---help---
260           The TAU hardware can compare the temperature to an upper and lower
261           bound.  The default behavior is to show both the upper and lower
262           bound in /proc/cpuinfo. If the range is large, the temperature is
263           either changing a lot, or the TAU hardware is broken (likely on some
264           G4's). If the range is small (around 4 degrees), the temperature is
265           relatively stable.  If you say Y here, a single temperature value,
266           halfway between the upper and lower bounds, will be reported in
267           /proc/cpuinfo.
268
269           If in doubt, say N here.
270
271 config QE_GPIO
272         bool "QE GPIO support"
273         depends on QUICC_ENGINE
274         select GPIOLIB
275         help
276           Say Y here if you're going to use hardware that connects to the
277           QE GPIOs.
278
279 config CPM2
280         bool "Enable support for the CPM2 (Communications Processor Module)"
281         depends on (FSL_SOC_BOOKE && PPC32) || 8260
282         select CPM
283         select PPC_PCI_CHOICE
284         select GPIOLIB
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
291 config AXON_RAM
292         tristate "Axon DDR2 memory device driver"
293         depends on PPC_IBM_CELL_BLADE && BLOCK
294         select DAX
295         default m
296         help
297           It registers one block device per Axon's DDR2 memory bank found
298           on a system. Block devices are called axonram?, their major and
299           minor numbers are available in /proc/devices, /proc/partitions or
300           in /sys/block/axonram?/dev.
301
302 config FSL_ULI1575
303         bool
304         default n
305         select GENERIC_ISA_DMA
306         help
307           Supports for the ULI1575 PCIe south bridge that exists on some
308           Freescale reference boards. The boards all use the ULI in pretty
309           much the same way.
310
311 config CPM
312         bool
313         select GENERIC_ALLOCATOR
314
315 config OF_RTC
316         bool
317         help
318           Uses information from the OF or flattened device tree to instantiate
319           platform devices for direct mapped RTC chips like the DS1742 or DS1743.
320
321 config GEN_RTC
322         bool "Use the platform RTC operations from user space"
323         select RTC_CLASS
324         select RTC_DRV_GENERIC
325         help
326           This option provides backwards compatibility with the old gen_rtc.ko
327           module that was traditionally used for old PowerPC machines.
328           Platforms should migrate to enabling the RTC_DRV_GENERIC by hand
329           replacing their get_rtc_time/set_rtc_time callbacks with
330           a proper RTC device driver.
331
332 config SIMPLE_GPIO
333         bool "Support for simple, memory-mapped GPIO controllers"
334         depends on PPC
335         select GPIOLIB
336         help
337           Say Y here to support simple, memory-mapped GPIO controllers.
338           These are usually BCSRs used to control board's switches, LEDs,
339           chip-selects, Ethernet/USB PHY's power and various other small
340           on-board peripherals.
341
342 config MCU_MPC8349EMITX
343         bool "MPC8349E-mITX MCU driver"
344         depends on I2C=y && PPC_83xx
345         select GPIOLIB
346         help
347           Say Y here to enable soft power-off functionality on the Freescale
348           boards with the MPC8349E-mITX-compatible MCU chips. This driver will
349           also register MCU GPIOs with the generic GPIO API, so you'll able
350           to use MCU pins as GPIOs.
351
352 config XILINX_PCI
353         bool "Xilinx PCI host bridge support"
354         depends on PCI && XILINX_VIRTEX
355
356 endmenu