Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

# SPDX-License-Identifier: GPL-2.0
menu "Platform support"

source "arch/powerpc/platforms/powernv/Kconfig"
source "arch/powerpc/platforms/pseries/Kconfig"
source "arch/powerpc/platforms/chrp/Kconfig"
source "arch/powerpc/platforms/512x/Kconfig"
source "arch/powerpc/platforms/52xx/Kconfig"
source "arch/powerpc/platforms/powermac/Kconfig"
source "arch/powerpc/platforms/maple/Kconfig"
source "arch/powerpc/platforms/pasemi/Kconfig"
source "arch/powerpc/platforms/ps3/Kconfig"
source "arch/powerpc/platforms/cell/Kconfig"
source "arch/powerpc/platforms/8xx/Kconfig"
source "arch/powerpc/platforms/82xx/Kconfig"
source "arch/powerpc/platforms/83xx/Kconfig"
source "arch/powerpc/platforms/85xx/Kconfig"
source "arch/powerpc/platforms/86xx/Kconfig"
source "arch/powerpc/platforms/embedded6xx/Kconfig"
source "arch/powerpc/platforms/44x/Kconfig"
source "arch/powerpc/platforms/40x/Kconfig"
source "arch/powerpc/platforms/amigaone/Kconfig"

config CONFIG_KVM_GUEST
	bool "KVM Guest support"
	select CONFIG_EPAPR_PARAVIRT
	---help---
	  This option enables various optimizations for running under the CONFIG_KVM
	  hypervisor. Overhead for the kernel when not running inside CONFIG_KVM should
	  be minimal.

	  In case of doubt, say Y

config CONFIG_EPAPR_PARAVIRT
	bool "ePAPR para-virtualization support"
	help
	  Enables ePAPR para-virtualization support for guests.

	  In case of doubt, say Y

config CONFIG_PPC_NATIVE
	bool
	depends on CONFIG_PPC_BOOK3S_32 || CONFIG_PPC64
	help
	  Support for running natively on the hardware, i.e. without
	  a hypervisor. This option is not user-selectable but should
	  be selected by all platforms that need it.

config CONFIG_PPC_OF_BOOT_TRAMPOLINE
	bool "Support booting from Open Firmware or yaboot"
	depends on CONFIG_PPC_BOOK3S_32 || CONFIG_PPC64
	default y
	help
	  Support from booting from Open Firmware or yaboot using an
	  Open Firmware client interface. This enables the kernel to
	  communicate with open firmware to retrieve system information
	  such as the device tree.

	  In case of doubt, say Y

config CONFIG_PPC_DT_CPU_FTRS
	bool "Device-tree based CPU feature discovery & setup"
	depends on CONFIG_PPC_BOOK3S_64
	default y
	help
	  This enables code to use a new device tree binding for describing CPU
	  compatibility and features. Saying Y here will attempt to use the new
	  binding if the firmware provides it. Currently only the skiboot
	  firmware provides this binding.
	  If you're not sure say Y.

config CONFIG_UDBG_RTAS_CONSOLE
	bool "RTAS based debug console"
	depends on CONFIG_PPC_RTAS

config CONFIG_PPC_SMP_MUXED_IPI
	bool
	help
	  Select this option if your platform supports CONFIG_SMP and your
	  interrupt controller provides less than 4 interrupts to each
	  cpu.	This will enable the generic code to multiplex the 4
	  messages on to one ipi.

config CONFIG_IPIC
	bool

config CONFIG_MPIC
	bool

config CONFIG_MPIC_TIMER
	bool "MPIC Global Timer"
	depends on CONFIG_MPIC && CONFIG_FSL_SOC
	help
	  The CONFIG_MPIC global timer is a hardware timer inside the
	  Freescale PIC complying with OpenPIC standard. When the
	  specified interval times out, the hardware timer generates
	  an interrupt. The driver currently is only tested on fsl
	  chip, but it can potentially support other global timers
	  complying with the OpenPIC standard.

config CONFIG_FSL_MPIC_TIMER_WAKEUP
	tristate "Freescale MPIC global timer wakeup driver"
	depends on CONFIG_FSL_SOC &&  CONFIG_MPIC_TIMER && CONFIG_PM
	help
	  The driver provides a way to wake up the system by CONFIG_MPIC
	  timer.
	  e.g. "echo 5 > /sys/devices/system/mpic/timer_wakeup"

config CONFIG_PPC_EPAPR_HV_PIC
	bool
	select CONFIG_EPAPR_PARAVIRT

config CONFIG_MPIC_WEIRD
	bool

config CONFIG_MPIC_MSGR
	bool "MPIC message register support"
	depends on CONFIG_MPIC
	help
	  Enables support for the CONFIG_MPIC message registers.  These
	  registers are used for inter-processor communication.

config CONFIG_PPC_I8259
	bool

config CONFIG_U3_DART
	bool
	depends on CONFIG_PPC64

config CONFIG_PPC_RTAS
	bool

config CONFIG_RTAS_ERROR_LOGGING
	bool
	depends on CONFIG_PPC_RTAS

config CONFIG_PPC_RTAS_DAEMON
	bool
	depends on CONFIG_PPC_RTAS

config CONFIG_RTAS_PROC
	bool "Proc interface to RTAS"
	depends on CONFIG_PPC_RTAS && CONFIG_PROC_FS
	default y

config CONFIG_RTAS_FLASH
	tristate "Firmware flash interface"
	depends on CONFIG_PPC64 && CONFIG_RTAS_PROC

config CONFIG_MMIO_NVRAM
	bool

config CONFIG_MPIC_U3_HT_IRQS
	bool

config CONFIG_MPIC_BROKEN_REGREAD
	bool
	depends on CONFIG_MPIC
	help
	  This option enables a CONFIG_MPIC driver workaround for some chips
	  that have a bug that causes some interrupt source information
	  to not read back properly. It is safe to use on other chips as
	  well, but enabling it uses about 8KB of memory to keep copies
	  of the register contents in software.

config CONFIG_EEH
	bool
	depends on (CONFIG_PPC_POWERNV || CONFIG_PPC_PSERIES) && CONFIG_PCI
	default y

config CONFIG_PPC_MPC106
	bool

config CONFIG_PPC_970_NAP
	bool

config CONFIG_PPC_P7_NAP
	bool

config CONFIG_PPC_INDIRECT_PIO
	bool
	select CONFIG_GENERIC_IOMAP

config CONFIG_PPC_INDIRECT_MMIO
	bool

config CONFIG_PPC_IO_WORKAROUNDS
	bool

source "drivers/cpufreq/Kconfig"

menu "CPUIdle driver"

source "drivers/cpuidle/Kconfig"

endmenu

config CONFIG_PPC601_SYNC_FIX
	bool "Workarounds for PPC601 bugs"
	depends on CONFIG_PPC_BOOK3S_601 && CONFIG_PPC_PMAC
	default y
	help
	  Some versions of the PPC601 (the first PowerPC chip) have bugs which
	  mean that extra synchronization instructions are required near
	  certain instructions, typically those that make major changes to the
	  CPU state.  These extra instructions reduce performance slightly.
	  If you say N here, these extra instructions will not be included,
	  resulting in a kernel which will run faster but may not run at all
	  on some systems with the PPC601 chip.

	  If in doubt, say Y here.

config CONFIG_TAU
	bool "On-chip CPU temperature sensor support"
	depends on CONFIG_PPC_BOOK3S_32
	help
	  G3 and G4 processors have an on-chip temperature sensor called the
	  'Thermal Assist Unit (CONFIG_TAU)', which, in theory, can measure the on-die
	  temperature within 2-4 degrees Celsius. This option shows the current
	  on-die temperature in /proc/cpuinfo if the cpu supports it.

	  Unfortunately, on some chip revisions, this sensor is very inaccurate
	  and in many cases, does not work at all, so don't assume the cpu
	  temp is actually what /proc/cpuinfo says it is.

config CONFIG_TAU_INT
	bool "Interrupt driven TAU driver (DANGEROUS)"
	depends on CONFIG_TAU
	---help---
	  The CONFIG_TAU supports an interrupt driven mode which causes an interrupt
	  whenever the temperature goes out of range. This is the fastest way
	  to get notified the temp has exceeded a range. With this option off,
	  a timer is used to re-check the temperature periodically.

	  However, on some cpus it appears that the CONFIG_TAU interrupt hardware
	  is buggy and can cause a situation which would lead unexplained hard
	  lockups.

	  Unless you are extending the CONFIG_TAU driver, or enjoy kernel/hardware
	  debugging, leave this option off.

config CONFIG_TAU_AVERAGE
	bool "Average high and low temp"
	depends on CONFIG_TAU
	---help---
	  The CONFIG_TAU hardware can compare the temperature to an upper and lower
	  bound.  The default behavior is to show both the upper and lower
	  bound in /proc/cpuinfo. If the range is large, the temperature is
	  either changing a lot, or the CONFIG_TAU hardware is broken (likely on some
	  G4's). If the range is small (around 4 degrees), the temperature is
	  relatively stable.  If you say Y here, a single temperature value,
	  halfway between the upper and lower bounds, will be reported in
	  /proc/cpuinfo.

	  If in doubt, say N here.

config CONFIG_QE_GPIO
	bool "QE GPIO support"
	depends on CONFIG_QUICC_ENGINE
	select CONFIG_GPIOLIB
	help
	  Say Y here if you're going to use hardware that connects to the
	  QE GPIOs.

config CONFIG_CPM2
	bool "Enable support for the CPM2 (Communications Processor Module)"
	depends on (CONFIG_FSL_SOC_BOOKE && CONFIG_PPC32) || CONFIG_8260
	select CONFIG_CPM
	select CONFIG_HAVE_PCI
	select CONFIG_GPIOLIB
	help
	  The CONFIG_CPM2 (Communications Processor Module) is a coprocessor on
	  embedded CPUs made by Freescale.  Selecting this option means that
	  you wish to build a kernel for a machine with a CONFIG_CPM2 coprocessor
	  on it (826x, 827x, 8560).

config CONFIG_FSL_ULI1575
	bool
	select CONFIG_GENERIC_ISA_DMA
	help
	  Supports for the ULI1575 PCIe south bridge that exists on some
	  Freescale reference boards. The boards all use the ULI in pretty
	  much the same way.

config CONFIG_CPM
	bool
	select CONFIG_GENERIC_ALLOCATOR

config CONFIG_OF_RTC
	bool
	help
	  Uses information from the CONFIG_OF or flattened device tree to instantiate
	  platform devices for direct mapped CONFIG_RTC chips like the DS1742 or DS1743.

config CONFIG_GEN_RTC
	bool "Use the platform RTC operations from user space"
	select CONFIG_RTC_CLASS
	select CONFIG_RTC_DRV_GENERIC
	help
	  This option provides backwards compatibility with the old gen_rtc.ko
	  module that was traditionally used for old PowerPC machines.
	  Platforms should migrate to enabling the CONFIG_RTC_DRV_GENERIC by hand
	  replacing their get_rtc_time/set_rtc_time callbacks with
	  a proper CONFIG_RTC device driver.

config CONFIG_SIMPLE_GPIO
	bool "Support for simple, memory-mapped GPIO controllers"
	depends on CONFIG_PPC
	select CONFIG_GPIOLIB
	help
	  Say Y here to support simple, memory-mapped GPIO controllers.
	  These are usually BCSRs used to control board's switches, LEDs,
	  chip-selects, Ethernet/CONFIG_USB PHY's power and various other small
	  on-board peripherals.

config CONFIG_MCU_MPC8349EMITX
	bool "MPC8349E-mITX MCU driver"
	depends on CONFIG_I2C=y && CONFIG_PPC_83xx
	select CONFIG_GPIOLIB
	help
	  Say Y here to enable soft power-off functionality on the Freescale
	  boards with the MPC8349E-mITX-compatible MCU chips. This driver will
	  also register MCU GPIOs with the generic GPIO API, so you'll able
	  to use MCU pins as GPIOs.

config CONFIG_XILINX_PCI
	bool "Xilinx PCI host bridge support"
	depends on CONFIG_PCI && CONFIG_XILINX_VIRTEX

endmenu