xref: /openbmc/linux/arch/powerpc/platforms/Kconfig (revision be34fff0)
1b2441318SGreg Kroah-Hartman# SPDX-License-Identifier: GPL-2.0
24330f5daSKumar Galamenu "Platform support"
34330f5daSKumar Gala
455190f88SBenjamin Herrenschmidtsource "arch/powerpc/platforms/powernv/Kconfig"
54330f5daSKumar Galasource "arch/powerpc/platforms/pseries/Kconfig"
64330f5daSKumar Galasource "arch/powerpc/platforms/chrp/Kconfig"
7e177edcdSJohn Rigbysource "arch/powerpc/platforms/512x/Kconfig"
84330f5daSKumar Galasource "arch/powerpc/platforms/52xx/Kconfig"
94330f5daSKumar Galasource "arch/powerpc/platforms/powermac/Kconfig"
104330f5daSKumar Galasource "arch/powerpc/platforms/maple/Kconfig"
114330f5daSKumar Galasource "arch/powerpc/platforms/pasemi/Kconfig"
1298750261SKumar Galasource "arch/powerpc/platforms/ps3/Kconfig"
1398750261SKumar Galasource "arch/powerpc/platforms/cell/Kconfig"
14c8a55f3dSKumar Galasource "arch/powerpc/platforms/8xx/Kconfig"
15d6071f88SKumar Galasource "arch/powerpc/platforms/82xx/Kconfig"
16b5a48346SKumar Galasource "arch/powerpc/platforms/83xx/Kconfig"
17db947808SKumar Galasource "arch/powerpc/platforms/85xx/Kconfig"
184a89f7faSKumar Galasource "arch/powerpc/platforms/86xx/Kconfig"
1998750261SKumar Galasource "arch/powerpc/platforms/embedded6xx/Kconfig"
20f6dfc805SDavid Gibsonsource "arch/powerpc/platforms/44x/Kconfig"
21545c069cSJosh Boyersource "arch/powerpc/platforms/40x/Kconfig"
2254b318aaSGerhard Pirchersource "arch/powerpc/platforms/amigaone/Kconfig"
234330f5daSKumar Gala
24d17051cbSAlexander Grafconfig KVM_GUEST
25d17051cbSAlexander Graf	bool "KVM Guest support"
262e1ae9c0SLiu Yu-B13201	select EPAPR_PARAVIRT
27d17051cbSAlexander Graf	---help---
28d17051cbSAlexander Graf	  This option enables various optimizations for running under the KVM
29d17051cbSAlexander Graf	  hypervisor. Overhead for the kernel when not running inside KVM should
30d17051cbSAlexander Graf	  be minimal.
31d17051cbSAlexander Graf
32d17051cbSAlexander Graf	  In case of doubt, say Y
33d17051cbSAlexander Graf
342e1ae9c0SLiu Yu-B13201config EPAPR_PARAVIRT
352e1ae9c0SLiu Yu-B13201	bool "ePAPR para-virtualization support"
362e1ae9c0SLiu Yu-B13201	help
372e1ae9c0SLiu Yu-B13201	  Enables ePAPR para-virtualization support for guests.
382e1ae9c0SLiu Yu-B13201
392e1ae9c0SLiu Yu-B13201	  In case of doubt, say Y
402e1ae9c0SLiu Yu-B13201
414330f5daSKumar Galaconfig PPC_NATIVE
424330f5daSKumar Gala	bool
43be34fff0SChristophe Leroy	depends on PPC_BOOK3S_32 || PPC64
444330f5daSKumar Gala	help
454330f5daSKumar Gala	  Support for running natively on the hardware, i.e. without
464330f5daSKumar Gala	  a hypervisor. This option is not user-selectable but should
474330f5daSKumar Gala	  be selected by all platforms that need it.
484330f5daSKumar Gala
4928794d34SBenjamin Herrenschmidtconfig PPC_OF_BOOT_TRAMPOLINE
5028794d34SBenjamin Herrenschmidt	bool "Support booting from Open Firmware or yaboot"
51be34fff0SChristophe Leroy	depends on PPC_BOOK3S_32 || PPC64
5228794d34SBenjamin Herrenschmidt	default y
5328794d34SBenjamin Herrenschmidt	help
5428794d34SBenjamin Herrenschmidt	  Support from booting from Open Firmware or yaboot using an
5528794d34SBenjamin Herrenschmidt	  Open Firmware client interface. This enables the kernel to
56f65e51d7SSylvestre Ledru	  communicate with open firmware to retrieve system information
5728794d34SBenjamin Herrenschmidt	  such as the device tree.
5828794d34SBenjamin Herrenschmidt
5928794d34SBenjamin Herrenschmidt	  In case of doubt, say Y
6028794d34SBenjamin Herrenschmidt
61c6ee9619SMichael Ellermanconfig PPC_DT_CPU_FTRS
62c6ee9619SMichael Ellerman	bool "Device-tree based CPU feature discovery & setup"
63c6ee9619SMichael Ellerman	depends on PPC_BOOK3S_64
64c6ee9619SMichael Ellerman	default y
65c6ee9619SMichael Ellerman	help
66c6ee9619SMichael Ellerman	  This enables code to use a new device tree binding for describing CPU
67c6ee9619SMichael Ellerman	  compatibility and features. Saying Y here will attempt to use the new
68c6ee9619SMichael Ellerman	  binding if the firmware provides it. Currently only the skiboot
69c6ee9619SMichael Ellerman	  firmware provides this binding.
70c6ee9619SMichael Ellerman	  If you're not sure say Y.
71c6ee9619SMichael Ellerman
724330f5daSKumar Galaconfig UDBG_RTAS_CONSOLE
734330f5daSKumar Gala	bool "RTAS based debug console"
744330f5daSKumar Gala	depends on PPC_RTAS
754330f5daSKumar Gala
761ece355bSMilton Millerconfig PPC_SMP_MUXED_IPI
771ece355bSMilton Miller	bool
781ece355bSMilton Miller	help
7983fc61a5SMasanari Iida	  Select this option if your platform supports SMP and your
801ece355bSMilton Miller	  interrupt controller provides less than 4 interrupts to each
811ece355bSMilton Miller	  cpu.	This will enable the generic code to multiplex the 4
821ece355bSMilton Miller	  messages on to one ipi.
831ece355bSMilton Miller
84b0bbad60SJohn Rigbyconfig IPIC
85b0bbad60SJohn Rigby	bool
86b0bbad60SJohn Rigby
8798750261SKumar Galaconfig MPIC
8898750261SKumar Gala	bool
8998750261SKumar Gala
9036ca09beSDongsheng.wang@freescale.comconfig MPIC_TIMER
9136ca09beSDongsheng.wang@freescale.com	bool "MPIC Global Timer"
9236ca09beSDongsheng.wang@freescale.com	depends on MPIC && FSL_SOC
9336ca09beSDongsheng.wang@freescale.com	help
9436ca09beSDongsheng.wang@freescale.com	  The MPIC global timer is a hardware timer inside the
9536ca09beSDongsheng.wang@freescale.com	  Freescale PIC complying with OpenPIC standard. When the
9636ca09beSDongsheng.wang@freescale.com	  specified interval times out, the hardware timer generates
9736ca09beSDongsheng.wang@freescale.com	  an interrupt. The driver currently is only tested on fsl
9836ca09beSDongsheng.wang@freescale.com	  chip, but it can potentially support other global timers
9936ca09beSDongsheng.wang@freescale.com	  complying with the OpenPIC standard.
10036ca09beSDongsheng.wang@freescale.com
101a63b3bc7SDongsheng.wang@freescale.comconfig FSL_MPIC_TIMER_WAKEUP
102a63b3bc7SDongsheng.wang@freescale.com	tristate "Freescale MPIC global timer wakeup driver"
103a63b3bc7SDongsheng.wang@freescale.com	depends on FSL_SOC &&  MPIC_TIMER && PM
104a63b3bc7SDongsheng.wang@freescale.com	help
105a63b3bc7SDongsheng.wang@freescale.com	  The driver provides a way to wake up the system by MPIC
106a63b3bc7SDongsheng.wang@freescale.com	  timer.
107a63b3bc7SDongsheng.wang@freescale.com	  e.g. "echo 5 > /sys/devices/system/mpic/timer_wakeup"
108a63b3bc7SDongsheng.wang@freescale.com
1093a93261fSAshish Kalraconfig PPC_EPAPR_HV_PIC
1103a93261fSAshish Kalra	bool
11140656397SStuart Yoder	select EPAPR_PARAVIRT
1123a93261fSAshish Kalra
11398750261SKumar Galaconfig MPIC_WEIRD
11498750261SKumar Gala	bool
11598750261SKumar Gala
1168626816eSJia Hongtaoconfig MPIC_MSGR
1178626816eSJia Hongtao	bool "MPIC message register support"
1188626816eSJia Hongtao	depends on MPIC
1198626816eSJia Hongtao	help
1208626816eSJia Hongtao	  Enables support for the MPIC message registers.  These
1218626816eSJia Hongtao	  registers are used for inter-processor communication.
1228626816eSJia Hongtao
12398750261SKumar Galaconfig PPC_I8259
12498750261SKumar Gala	bool
12598750261SKumar Gala
1264330f5daSKumar Galaconfig U3_DART
1274330f5daSKumar Gala	bool
12828794d34SBenjamin Herrenschmidt	depends on PPC64
1294330f5daSKumar Gala
1304330f5daSKumar Galaconfig PPC_RTAS
1314330f5daSKumar Gala	bool
1324330f5daSKumar Gala
1334330f5daSKumar Galaconfig RTAS_ERROR_LOGGING
1344330f5daSKumar Gala	bool
1354330f5daSKumar Gala	depends on PPC_RTAS
1364330f5daSKumar Gala
1373d541c4bSBenjamin Herrenschmidtconfig PPC_RTAS_DAEMON
1383d541c4bSBenjamin Herrenschmidt	bool
1393d541c4bSBenjamin Herrenschmidt	depends on PPC_RTAS
1403d541c4bSBenjamin Herrenschmidt
1414330f5daSKumar Galaconfig RTAS_PROC
1424330f5daSKumar Gala	bool "Proc interface to RTAS"
143b80ec3dcSMichael Ellerman	depends on PPC_RTAS && PROC_FS
1444330f5daSKumar Gala	default y
1454330f5daSKumar Gala
1464330f5daSKumar Galaconfig RTAS_FLASH
1474330f5daSKumar Gala	tristate "Firmware flash interface"
1484330f5daSKumar Gala	depends on PPC64 && RTAS_PROC
1494330f5daSKumar Gala
1504330f5daSKumar Galaconfig MMIO_NVRAM
1514330f5daSKumar Gala	bool
1524330f5daSKumar Gala
1536cfef5b2SMichael Ellermanconfig MPIC_U3_HT_IRQS
1544330f5daSKumar Gala	bool
1554330f5daSKumar Gala
1560d72ba93SOlof Johanssonconfig MPIC_BROKEN_REGREAD
1570d72ba93SOlof Johansson	bool
1580d72ba93SOlof Johansson	depends on MPIC
1590d72ba93SOlof Johansson	help
1600d72ba93SOlof Johansson	  This option enables a MPIC driver workaround for some chips
1610d72ba93SOlof Johansson	  that have a bug that causes some interrupt source information
1620d72ba93SOlof Johansson	  to not read back properly. It is safe to use on other chips as
1630d72ba93SOlof Johansson	  well, but enabling it uses about 8KB of memory to keep copies
1640d72ba93SOlof Johansson	  of the register contents in software.
1650d72ba93SOlof Johansson
166317f06deSGavin Shanconfig EEH
167317f06deSGavin Shan	bool
168317f06deSGavin Shan	depends on (PPC_POWERNV || PPC_PSERIES) && PCI
169317f06deSGavin Shan	default y
170317f06deSGavin Shan
1714330f5daSKumar Galaconfig PPC_MPC106
1724330f5daSKumar Gala	bool
1734330f5daSKumar Gala
1744330f5daSKumar Galaconfig PPC_970_NAP
1754330f5daSKumar Gala	bool
1764330f5daSKumar Gala
177948cf67cSBenjamin Herrenschmidtconfig PPC_P7_NAP
178948cf67cSBenjamin Herrenschmidt	bool
179948cf67cSBenjamin Herrenschmidt
180ecd73cc5SBenjamin Herrenschmidtconfig PPC_INDIRECT_PIO
1814330f5daSKumar Gala	bool
1824330f5daSKumar Gala	select GENERIC_IOMAP
18321176fedSMichael Ellerman
18421176fedSMichael Ellermanconfig PPC_INDIRECT_MMIO
18521176fedSMichael Ellerman	bool
1864330f5daSKumar Gala
1873cc30d07SMichael Ellermanconfig PPC_IO_WORKAROUNDS
1883cc30d07SMichael Ellerman	bool
1893cc30d07SMichael Ellerman
1904330f5daSKumar Galasource "drivers/cpufreq/Kconfig"
1914330f5daSKumar Gala
192e179816cSDeepthi Dharwarmenu "CPUIdle driver"
193e179816cSDeepthi Dharwar
194e179816cSDeepthi Dharwarsource "drivers/cpuidle/Kconfig"
195e179816cSDeepthi Dharwar
196e179816cSDeepthi Dharwarendmenu
197e179816cSDeepthi Dharwar
1984330f5daSKumar Galaconfig PPC601_SYNC_FIX
1994330f5daSKumar Gala	bool "Workarounds for PPC601 bugs"
200be34fff0SChristophe Leroy	depends on PPC_BOOK3S_32 && PPC_PMAC
2014330f5daSKumar Gala	help
2024330f5daSKumar Gala	  Some versions of the PPC601 (the first PowerPC chip) have bugs which
2034330f5daSKumar Gala	  mean that extra synchronization instructions are required near
2044330f5daSKumar Gala	  certain instructions, typically those that make major changes to the
2054330f5daSKumar Gala	  CPU state.  These extra instructions reduce performance slightly.
2064330f5daSKumar Gala	  If you say N here, these extra instructions will not be included,
2074330f5daSKumar Gala	  resulting in a kernel which will run faster but may not run at all
2084330f5daSKumar Gala	  on some systems with the PPC601 chip.
2094330f5daSKumar Gala
2104330f5daSKumar Gala	  If in doubt, say Y here.
2114330f5daSKumar Gala
2124330f5daSKumar Galaconfig TAU
2134330f5daSKumar Gala	bool "On-chip CPU temperature sensor support"
214be34fff0SChristophe Leroy	depends on PPC_BOOK3S_32
2154330f5daSKumar Gala	help
2164330f5daSKumar Gala	  G3 and G4 processors have an on-chip temperature sensor called the
2174330f5daSKumar Gala	  'Thermal Assist Unit (TAU)', which, in theory, can measure the on-die
2184330f5daSKumar Gala	  temperature within 2-4 degrees Celsius. This option shows the current
2194330f5daSKumar Gala	  on-die temperature in /proc/cpuinfo if the cpu supports it.
2204330f5daSKumar Gala
2214330f5daSKumar Gala	  Unfortunately, on some chip revisions, this sensor is very inaccurate
2224330f5daSKumar Gala	  and in many cases, does not work at all, so don't assume the cpu
2234330f5daSKumar Gala	  temp is actually what /proc/cpuinfo says it is.
2244330f5daSKumar Gala
2254330f5daSKumar Galaconfig TAU_INT
2264330f5daSKumar Gala	bool "Interrupt driven TAU driver (DANGEROUS)"
2274330f5daSKumar Gala	depends on TAU
2284330f5daSKumar Gala	---help---
2294330f5daSKumar Gala	  The TAU supports an interrupt driven mode which causes an interrupt
2304330f5daSKumar Gala	  whenever the temperature goes out of range. This is the fastest way
2314330f5daSKumar Gala	  to get notified the temp has exceeded a range. With this option off,
2324330f5daSKumar Gala	  a timer is used to re-check the temperature periodically.
2334330f5daSKumar Gala
2344330f5daSKumar Gala	  However, on some cpus it appears that the TAU interrupt hardware
2354330f5daSKumar Gala	  is buggy and can cause a situation which would lead unexplained hard
2364330f5daSKumar Gala	  lockups.
2374330f5daSKumar Gala
2384330f5daSKumar Gala	  Unless you are extending the TAU driver, or enjoy kernel/hardware
2394330f5daSKumar Gala	  debugging, leave this option off.
2404330f5daSKumar Gala
2414330f5daSKumar Galaconfig TAU_AVERAGE
2424330f5daSKumar Gala	bool "Average high and low temp"
2434330f5daSKumar Gala	depends on TAU
2444330f5daSKumar Gala	---help---
2454330f5daSKumar Gala	  The TAU hardware can compare the temperature to an upper and lower
2464330f5daSKumar Gala	  bound.  The default behavior is to show both the upper and lower
2474330f5daSKumar Gala	  bound in /proc/cpuinfo. If the range is large, the temperature is
2484330f5daSKumar Gala	  either changing a lot, or the TAU hardware is broken (likely on some
2494330f5daSKumar Gala	  G4's). If the range is small (around 4 degrees), the temperature is
2504330f5daSKumar Gala	  relatively stable.  If you say Y here, a single temperature value,
2514330f5daSKumar Gala	  halfway between the upper and lower bounds, will be reported in
2524330f5daSKumar Gala	  /proc/cpuinfo.
2534330f5daSKumar Gala
2544330f5daSKumar Gala	  If in doubt, say N here.
2554330f5daSKumar Gala
2565c091193SAnton Vorontsovconfig QE_GPIO
2575c091193SAnton Vorontsov	bool "QE GPIO support"
2585c091193SAnton Vorontsov	depends on QUICC_ENGINE
25986c55af4SLinus Walleij	select GPIOLIB
2605c091193SAnton Vorontsov	help
2615c091193SAnton Vorontsov	  Say Y here if you're going to use hardware that connects to the
2625c091193SAnton Vorontsov	  QE GPIOs.
2635c091193SAnton Vorontsov
264d6071f88SKumar Galaconfig CPM2
265b8b3caf3SPaul Gortmaker	bool "Enable support for the CPM2 (Communications Processor Module)"
2665753c082SKumar Gala	depends on (FSL_SOC_BOOKE && PPC32) || 8260
267c374e00eSScott Wood	select CPM
268b500563bSJohn Rigby	select PPC_PCI_CHOICE
26986c55af4SLinus Walleij	select GPIOLIB
270d6071f88SKumar Gala	help
271d6071f88SKumar Gala	  The CPM2 (Communications Processor Module) is a coprocessor on
272d6071f88SKumar Gala	  embedded CPUs made by Freescale.  Selecting this option means that
273d6071f88SKumar Gala	  you wish to build a kernel for a machine with a CPM2 coprocessor
274d6071f88SKumar Gala	  on it (826x, 827x, 8560).
275d6071f88SKumar Gala
276b66510cbSKumar Galaconfig FSL_ULI1575
277b66510cbSKumar Gala	bool
278fb4f0e88SKumar Gala	select GENERIC_ISA_DMA
279b66510cbSKumar Gala	help
280b66510cbSKumar Gala	  Supports for the ULI1575 PCIe south bridge that exists on some
281b66510cbSKumar Gala	  Freescale reference boards. The boards all use the ULI in pretty
282b66510cbSKumar Gala	  much the same way.
283b66510cbSKumar Gala
284c374e00eSScott Woodconfig CPM
285c374e00eSScott Wood	bool
2860e6e01ffSZhao Qiang	select GENERIC_ALLOCATOR
287c374e00eSScott Wood
28822258fa4SDavid Gibsonconfig OF_RTC
28922258fa4SDavid Gibson	bool
29022258fa4SDavid Gibson	help
291692105b8SMatt LaPlante	  Uses information from the OF or flattened device tree to instantiate
29222258fa4SDavid Gibson	  platform devices for direct mapped RTC chips like the DS1742 or DS1743.
29322258fa4SDavid Gibson
294835ea93eSArnd Bergmannconfig GEN_RTC
295835ea93eSArnd Bergmann	bool "Use the platform RTC operations from user space"
296835ea93eSArnd Bergmann	select RTC_CLASS
297835ea93eSArnd Bergmann	select RTC_DRV_GENERIC
298835ea93eSArnd Bergmann	help
299835ea93eSArnd Bergmann	  This option provides backwards compatibility with the old gen_rtc.ko
300835ea93eSArnd Bergmann	  module that was traditionally used for old PowerPC machines.
301835ea93eSArnd Bergmann	  Platforms should migrate to enabling the RTC_DRV_GENERIC by hand
302835ea93eSArnd Bergmann	  replacing their get_rtc_time/set_rtc_time callbacks with
303835ea93eSArnd Bergmann	  a proper RTC device driver.
304835ea93eSArnd Bergmann
3053d64de9cSAnton Vorontsovconfig SIMPLE_GPIO
3063d64de9cSAnton Vorontsov	bool "Support for simple, memory-mapped GPIO controllers"
3073d64de9cSAnton Vorontsov	depends on PPC
30886c55af4SLinus Walleij	select GPIOLIB
3093d64de9cSAnton Vorontsov	help
3103d64de9cSAnton Vorontsov	  Say Y here to support simple, memory-mapped GPIO controllers.
3113d64de9cSAnton Vorontsov	  These are usually BCSRs used to control board's switches, LEDs,
3123d64de9cSAnton Vorontsov	  chip-selects, Ethernet/USB PHY's power and various other small
3133d64de9cSAnton Vorontsov	  on-board peripherals.
3143d64de9cSAnton Vorontsov
315ea0105eaSAnton Vorontsovconfig MCU_MPC8349EMITX
3166ca6ca5dSFabio Baltieri	bool "MPC8349E-mITX MCU driver"
31782640a6bSAl Viro	depends on I2C=y && PPC_83xx
31886c55af4SLinus Walleij	select GPIOLIB
319ea0105eaSAnton Vorontsov	help
320ea0105eaSAnton Vorontsov	  Say Y here to enable soft power-off functionality on the Freescale
321ea0105eaSAnton Vorontsov	  boards with the MPC8349E-mITX-compatible MCU chips. This driver will
322ea0105eaSAnton Vorontsov	  also register MCU GPIOs with the generic GPIO API, so you'll able
323ea0105eaSAnton Vorontsov	  to use MCU pins as GPIOs.
324ea0105eaSAnton Vorontsov
32564f16502SRoderick Colenbranderconfig XILINX_PCI
32664f16502SRoderick Colenbrander	bool "Xilinx PCI host bridge support"
32764f16502SRoderick Colenbrander	depends on PCI && XILINX_VIRTEX
32864f16502SRoderick Colenbrander
3294330f5daSKumar Galaendmenu
330