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"
23 source "arch/powerpc/platforms/book3s/Kconfig"
26 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"
38 Enables ePAPR para-virtualization support for guests.
40 In case of doubt, say Y
44 depends on PPC_BOOK3S_32 || PPC64
46 Support for running natively on the hardware, i.e. without
47 a hypervisor. This option is not user-selectable but should
48 be selected by all platforms that need it.
50 config PPC_OF_BOOT_TRAMPOLINE
51 bool "Support booting from Open Firmware or yaboot"
52 depends on PPC_BOOK3S_32 || PPC64
55 Support from booting from Open Firmware or yaboot using an
56 Open Firmware client interface. This enables the kernel to
57 communicate with open firmware to retrieve system information
58 such as the device tree.
60 In case of doubt, say Y
62 config PPC_DT_CPU_FTRS
63 bool "Device-tree based CPU feature discovery & setup"
64 depends on PPC_BOOK3S_64
67 This enables code to use a new device tree binding for describing CPU
68 compatibility and features. Saying Y here will attempt to use the new
69 binding if the firmware provides it. Currently only the skiboot
70 firmware provides this binding.
71 If you're not sure say Y.
73 config UDBG_RTAS_CONSOLE
74 bool "RTAS based debug console"
77 config PPC_SMP_MUXED_IPI
80 Select this option if your platform supports SMP and your
81 interrupt controller provides less than 4 interrupts to each
82 cpu. This will enable the generic code to multiplex the 4
83 messages on to one ipi.
92 bool "MPIC Global Timer"
93 depends on MPIC && FSL_SOC
95 The MPIC global timer is a hardware timer inside the
96 Freescale PIC complying with OpenPIC standard. When the
97 specified interval times out, the hardware timer generates
98 an interrupt. The driver currently is only tested on fsl
99 chip, but it can potentially support other global timers
100 complying with the OpenPIC standard.
102 config FSL_MPIC_TIMER_WAKEUP
103 tristate "Freescale MPIC global timer wakeup driver"
104 depends on FSL_SOC && MPIC_TIMER && PM
106 The driver provides a way to wake up the system by MPIC
108 e.g. "echo 5 > /sys/devices/system/mpic/timer_wakeup"
110 config PPC_EPAPR_HV_PIC
112 select EPAPR_PARAVIRT
118 bool "MPIC message register support"
121 Enables support for the MPIC message registers. These
122 registers are used for inter-processor communication.
134 config RTAS_ERROR_LOGGING
138 config PPC_RTAS_DAEMON
143 bool "Proc interface to RTAS"
144 depends on PPC_RTAS && PROC_FS
148 tristate "Firmware flash interface"
149 depends on PPC64 && RTAS_PROC
154 config MPIC_U3_HT_IRQS
157 config MPIC_BROKEN_REGREAD
161 This option enables a MPIC driver workaround for some chips
162 that have a bug that causes some interrupt source information
163 to not read back properly. It is safe to use on other chips as
164 well, but enabling it uses about 8KB of memory to keep copies
165 of the register contents in software.
169 depends on (PPC_POWERNV || PPC_PSERIES) && PCI
181 config PPC_BOOK3S_IDLE
183 depends on (PPC_970_NAP || PPC_P7_NAP)
185 config PPC_INDIRECT_PIO
189 config PPC_INDIRECT_MMIO
192 config PPC_IO_WORKAROUNDS
195 source "drivers/cpufreq/Kconfig"
197 menu "CPUIdle driver"
199 source "drivers/cpuidle/Kconfig"
204 bool "On-chip CPU temperature sensor support"
205 depends on PPC_BOOK3S_32
207 G3 and G4 processors have an on-chip temperature sensor called the
208 'Thermal Assist Unit (TAU)', which, in theory, can measure the on-die
209 temperature within 2-4 degrees Celsius. This option shows the current
210 on-die temperature in /proc/cpuinfo if the cpu supports it.
212 Unfortunately, this sensor is very inaccurate when uncalibrated, so
213 don't assume the cpu temp is actually what /proc/cpuinfo says it is.
216 bool "Interrupt driven TAU driver (EXPERIMENTAL)"
219 The TAU supports an interrupt driven mode which causes an interrupt
220 whenever the temperature goes out of range. This is the fastest way
221 to get notified the temp has exceeded a range. With this option off,
222 a timer is used to re-check the temperature periodically.
224 If in doubt, say N here.
227 bool "Average high and low temp"
230 The TAU hardware can compare the temperature to an upper and lower
231 bound. The default behavior is to show both the upper and lower
232 bound in /proc/cpuinfo. If the range is large, the temperature is
233 either changing a lot, or the TAU hardware is broken (likely on some
234 G4's). If the range is small (around 4 degrees), the temperature is
235 relatively stable. If you say Y here, a single temperature value,
236 halfway between the upper and lower bounds, will be reported in
239 If in doubt, say N here.
242 bool "QE GPIO support"
243 depends on QUICC_ENGINE
246 Say Y here if you're going to use hardware that connects to the
250 bool "Enable support for the CPM2 (Communications Processor Module)"
251 depends on (FSL_SOC_BOOKE && PPC32) || 8260
256 The CPM2 (Communications Processor Module) is a coprocessor on
257 embedded CPUs made by Freescale. Selecting this option means that
258 you wish to build a kernel for a machine with a CPM2 coprocessor
259 on it (826x, 827x, 8560).
263 select GENERIC_ISA_DMA
265 Supports for the ULI1575 PCIe south bridge that exists on some
266 Freescale reference boards. The boards all use the ULI in pretty
271 select GENERIC_ALLOCATOR
276 Uses information from the OF or flattened device tree to instantiate
277 platform devices for direct mapped RTC chips like the DS1742 or DS1743.
280 bool "Use the platform RTC operations from user space"
282 select RTC_DRV_GENERIC
284 This option provides backwards compatibility with the old gen_rtc.ko
285 module that was traditionally used for old PowerPC machines.
286 Platforms should migrate to enabling the RTC_DRV_GENERIC by hand
287 replacing their get_rtc_time/set_rtc_time callbacks with
288 a proper RTC device driver.
290 config MCU_MPC8349EMITX
291 bool "MPC8349E-mITX MCU driver"
292 depends on I2C=y && PPC_83xx
295 Say Y here to enable soft power-off functionality on the Freescale
296 boards with the MPC8349E-mITX-compatible MCU chips. This driver will
297 also register MCU GPIOs with the generic GPIO API, so you'll able
298 to use MCU pins as GPIOs.