1 # SPDX-License-Identifier: GPL-2.0
2 menu "Platform support"
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"
25 bool "KVM Guest support"
29 This option enables various optimizations for running under the KVM
30 hypervisor. Overhead for the kernel when not running inside KVM should
33 In case of doubt, say Y
36 bool "ePAPR para-virtualization support"
39 Enables ePAPR para-virtualization support for guests.
41 In case of doubt, say Y
45 depends on 6xx || PPC64
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.
51 config PPC_OF_BOOT_TRAMPOLINE
52 bool "Support booting from Open Firmware or yaboot"
53 depends on 6xx || PPC64
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.
61 In case of doubt, say Y
63 config PPC_DT_CPU_FTRS
64 bool "Device-tree based CPU feature discovery & setup"
65 depends on PPC_BOOK3S_64
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.
74 config UDBG_RTAS_CONSOLE
75 bool "RTAS based debug console"
79 config PPC_SMP_MUXED_IPI
82 Select this option 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.
96 bool "MPIC Global Timer"
97 depends on MPIC && FSL_SOC
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.
107 config FSL_MPIC_TIMER_WAKEUP
108 tristate "Freescale MPIC global timer wakeup driver"
109 depends on FSL_SOC && MPIC_TIMER && PM
112 The driver provides a way to wake up the system by MPIC
114 e.g. "echo 5 > /sys/devices/system/mpic/timer_wakeup"
116 config PPC_EPAPR_HV_PIC
119 select EPAPR_PARAVIRT
126 bool "MPIC message register support"
130 Enables support for the MPIC message registers. These
131 registers are used for inter-processor communication.
146 config RTAS_ERROR_LOGGING
151 config PPC_RTAS_DAEMON
157 bool "Proc interface to RTAS"
158 depends on PPC_RTAS && PROC_FS
162 tristate "Firmware flash interface"
163 depends on PPC64 && RTAS_PROC
169 config MPIC_U3_HT_IRQS
173 config MPIC_BROKEN_REGREAD
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.
185 depends on (PPC_POWERNV || PPC_PSERIES) && PCI
200 config PPC_INDIRECT_PIO
204 config PPC_INDIRECT_MMIO
207 config PPC_IO_WORKAROUNDS
210 source "drivers/cpufreq/Kconfig"
212 menu "CPUIdle driver"
214 source "drivers/cpuidle/Kconfig"
218 config PPC601_SYNC_FIX
219 bool "Workarounds for PPC601 bugs"
220 depends on 6xx && PPC_PMAC
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.
230 If in doubt, say Y here.
233 bool "On-chip CPU temperature sensor support"
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.
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.
246 bool "Interrupt driven TAU driver (DANGEROUS)"
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.
254 However, on some cpus it appears that the TAU interrupt hardware
255 is buggy and can cause a situation which would lead unexplained hard
258 Unless you are extending the TAU driver, or enjoy kernel/hardware
259 debugging, leave this option off.
262 bool "Average high and low temp"
265 The TAU hardware can compare the temperature to an upper and lower
266 bound. The default behavior is to show both the upper and lower
267 bound in /proc/cpuinfo. If the range is large, the temperature is
268 either changing a lot, or the TAU hardware is broken (likely on some
269 G4's). If the range is small (around 4 degrees), the temperature is
270 relatively stable. If you say Y here, a single temperature value,
271 halfway between the upper and lower bounds, will be reported in
274 If in doubt, say N here.
277 bool "QE GPIO support"
278 depends on QUICC_ENGINE
281 Say Y here if you're going to use hardware that connects to the
285 bool "Enable support for the CPM2 (Communications Processor Module)"
286 depends on (FSL_SOC_BOOKE && PPC32) || 8260
288 select PPC_PCI_CHOICE
291 The CPM2 (Communications Processor Module) is a coprocessor on
292 embedded CPUs made by Freescale. Selecting this option means that
293 you wish to build a kernel for a machine with a CPM2 coprocessor
294 on it (826x, 827x, 8560).
299 select GENERIC_ISA_DMA
301 Supports for the ULI1575 PCIe south bridge that exists on some
302 Freescale reference boards. The boards all use the ULI in pretty
307 select GENERIC_ALLOCATOR
312 Uses information from the OF or flattened device tree to instantiate
313 platform devices for direct mapped RTC chips like the DS1742 or DS1743.
316 bool "Use the platform RTC operations from user space"
318 select RTC_DRV_GENERIC
320 This option provides backwards compatibility with the old gen_rtc.ko
321 module that was traditionally used for old PowerPC machines.
322 Platforms should migrate to enabling the RTC_DRV_GENERIC by hand
323 replacing their get_rtc_time/set_rtc_time callbacks with
324 a proper RTC device driver.
327 bool "Support for simple, memory-mapped GPIO controllers"
331 Say Y here to support simple, memory-mapped GPIO controllers.
332 These are usually BCSRs used to control board's switches, LEDs,
333 chip-selects, Ethernet/USB PHY's power and various other small
334 on-board peripherals.
336 config MCU_MPC8349EMITX
337 bool "MPC8349E-mITX MCU driver"
338 depends on I2C=y && PPC_83xx
341 Say Y here to enable soft power-off functionality on the Freescale
342 boards with the MPC8349E-mITX-compatible MCU chips. This driver will
343 also register MCU GPIOs with the generic GPIO API, so you'll able
344 to use MCU pins as GPIOs.
347 bool "Xilinx PCI host bridge support"
348 depends on PCI && XILINX_VIRTEX