![Benjamin Herrenschmidt](/assets/img/avatar_default.png)
Remove the generic PPC_INDIRECT_IO and ensure we only add overhead to the right accessors. IE. If only CONFIG_PPC_INDIRECT_PIO is set, we don't add overhead to all MMIO accessors. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
366 lines
9.7 KiB
Plaintext
366 lines
9.7 KiB
Plaintext
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"
|
|
source "arch/powerpc/platforms/wsp/Kconfig"
|
|
|
|
config KVM_GUEST
|
|
bool "KVM Guest support"
|
|
default n
|
|
select EPAPR_PARAVIRT
|
|
---help---
|
|
This option enables various optimizations for running under the KVM
|
|
hypervisor. Overhead for the kernel when not running inside KVM should
|
|
be minimal.
|
|
|
|
In case of doubt, say Y
|
|
|
|
config EPAPR_PARAVIRT
|
|
bool "ePAPR para-virtualization support"
|
|
default n
|
|
help
|
|
Enables ePAPR para-virtualization support for guests.
|
|
|
|
In case of doubt, say Y
|
|
|
|
config PPC_NATIVE
|
|
bool
|
|
depends on 6xx || 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 PPC_OF_BOOT_TRAMPOLINE
|
|
bool "Support booting from Open Firmware or yaboot"
|
|
depends on 6xx || 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 UDBG_RTAS_CONSOLE
|
|
bool "RTAS based debug console"
|
|
depends on PPC_RTAS
|
|
default n
|
|
|
|
config PPC_SMP_MUXED_IPI
|
|
bool
|
|
help
|
|
Select this opton if your platform supports 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 PPC_UDBG_BEAT
|
|
bool "BEAT based debug console"
|
|
depends on PPC_CELLEB
|
|
default n
|
|
|
|
config IPIC
|
|
bool
|
|
default n
|
|
|
|
config MPIC
|
|
bool
|
|
default n
|
|
|
|
config MPIC_TIMER
|
|
bool "MPIC Global Timer"
|
|
depends on MPIC && FSL_SOC
|
|
default n
|
|
help
|
|
The 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 FSL_MPIC_TIMER_WAKEUP
|
|
tristate "Freescale MPIC global timer wakeup driver"
|
|
depends on FSL_SOC && MPIC_TIMER && PM
|
|
default n
|
|
help
|
|
The driver provides a way to wake up the system by MPIC
|
|
timer.
|
|
e.g. "echo 5 > /sys/devices/system/mpic/timer_wakeup"
|
|
|
|
config PPC_EPAPR_HV_PIC
|
|
bool
|
|
default n
|
|
select EPAPR_PARAVIRT
|
|
|
|
config MPIC_WEIRD
|
|
bool
|
|
default n
|
|
|
|
config MPIC_MSGR
|
|
bool "MPIC message register support"
|
|
depends on MPIC
|
|
default n
|
|
help
|
|
Enables support for the MPIC message registers. These
|
|
registers are used for inter-processor communication.
|
|
|
|
config PPC_I8259
|
|
bool
|
|
default n
|
|
|
|
config U3_DART
|
|
bool
|
|
depends on PPC64
|
|
default n
|
|
|
|
config PPC_RTAS
|
|
bool
|
|
default n
|
|
|
|
config RTAS_ERROR_LOGGING
|
|
bool
|
|
depends on PPC_RTAS
|
|
default n
|
|
|
|
config PPC_RTAS_DAEMON
|
|
bool
|
|
depends on PPC_RTAS
|
|
default n
|
|
|
|
config RTAS_PROC
|
|
bool "Proc interface to RTAS"
|
|
depends on PPC_RTAS && PROC_FS
|
|
default y
|
|
|
|
config RTAS_FLASH
|
|
tristate "Firmware flash interface"
|
|
depends on PPC64 && RTAS_PROC
|
|
|
|
config MMIO_NVRAM
|
|
bool
|
|
default n
|
|
|
|
config MPIC_U3_HT_IRQS
|
|
bool
|
|
default n
|
|
|
|
config MPIC_BROKEN_REGREAD
|
|
bool
|
|
depends on MPIC
|
|
help
|
|
This option enables a 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 IBMVIO
|
|
depends on PPC_PSERIES
|
|
bool
|
|
default y
|
|
|
|
config IBMEBUS
|
|
depends on PPC_PSERIES
|
|
bool "Support for GX bus based adapters"
|
|
help
|
|
Bus device driver for GX bus based adapters.
|
|
|
|
config EEH
|
|
bool
|
|
depends on (PPC_POWERNV || PPC_PSERIES) && PCI
|
|
default y
|
|
|
|
config PPC_MPC106
|
|
bool
|
|
default n
|
|
|
|
config PPC_970_NAP
|
|
bool
|
|
default n
|
|
|
|
config PPC_P7_NAP
|
|
bool
|
|
default n
|
|
|
|
config PPC_INDIRECT_PIO
|
|
bool
|
|
select GENERIC_IOMAP
|
|
|
|
config PPC_INDIRECT_MMIO
|
|
bool
|
|
|
|
config PPC_IO_WORKAROUNDS
|
|
bool
|
|
|
|
source "drivers/cpufreq/Kconfig"
|
|
|
|
menu "CPUIdle driver"
|
|
|
|
source "drivers/cpuidle/Kconfig"
|
|
|
|
endmenu
|
|
|
|
config PPC601_SYNC_FIX
|
|
bool "Workarounds for PPC601 bugs"
|
|
depends on 6xx && PPC_PMAC
|
|
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 TAU
|
|
bool "On-chip CPU temperature sensor support"
|
|
depends on 6xx
|
|
help
|
|
G3 and G4 processors have an on-chip temperature sensor called the
|
|
'Thermal Assist Unit (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 TAU_INT
|
|
bool "Interrupt driven TAU driver (DANGEROUS)"
|
|
depends on TAU
|
|
---help---
|
|
The 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 TAU interrupt hardware
|
|
is buggy and can cause a situation which would lead unexplained hard
|
|
lockups.
|
|
|
|
Unless you are extending the TAU driver, or enjoy kernel/hardware
|
|
debugging, leave this option off.
|
|
|
|
config TAU_AVERAGE
|
|
bool "Average high and low temp"
|
|
depends on TAU
|
|
---help---
|
|
The 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 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 QUICC_ENGINE
|
|
bool "Freescale QUICC Engine (QE) Support"
|
|
depends on FSL_SOC && PPC32
|
|
select PPC_LIB_RHEAP
|
|
select CRC32
|
|
help
|
|
The QUICC Engine (QE) is a new generation of communications
|
|
coprocessors on Freescale embedded CPUs (akin to CPM in older chips).
|
|
Selecting this option means that you wish to build a kernel
|
|
for a machine with a QE coprocessor.
|
|
|
|
config QE_GPIO
|
|
bool "QE GPIO support"
|
|
depends on QUICC_ENGINE
|
|
select ARCH_REQUIRE_GPIOLIB
|
|
help
|
|
Say Y here if you're going to use hardware that connects to the
|
|
QE GPIOs.
|
|
|
|
config CPM2
|
|
bool "Enable support for the CPM2 (Communications Processor Module)"
|
|
depends on (FSL_SOC_BOOKE && PPC32) || 8260
|
|
select CPM
|
|
select PPC_LIB_RHEAP
|
|
select PPC_PCI_CHOICE
|
|
select ARCH_REQUIRE_GPIOLIB
|
|
help
|
|
The 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 CPM2 coprocessor
|
|
on it (826x, 827x, 8560).
|
|
|
|
config AXON_RAM
|
|
tristate "Axon DDR2 memory device driver"
|
|
depends on PPC_IBM_CELL_BLADE && BLOCK
|
|
default m
|
|
help
|
|
It registers one block device per Axon's DDR2 memory bank found
|
|
on a system. Block devices are called axonram?, their major and
|
|
minor numbers are available in /proc/devices, /proc/partitions or
|
|
in /sys/block/axonram?/dev.
|
|
|
|
config FSL_ULI1575
|
|
bool
|
|
default n
|
|
select 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 CPM
|
|
bool
|
|
|
|
config OF_RTC
|
|
bool
|
|
help
|
|
Uses information from the OF or flattened device tree to instantiate
|
|
platform devices for direct mapped RTC chips like the DS1742 or DS1743.
|
|
|
|
config SIMPLE_GPIO
|
|
bool "Support for simple, memory-mapped GPIO controllers"
|
|
depends on PPC
|
|
select ARCH_REQUIRE_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/USB PHY's power and various other small
|
|
on-board peripherals.
|
|
|
|
config MCU_MPC8349EMITX
|
|
bool "MPC8349E-mITX MCU driver"
|
|
depends on I2C=y && PPC_83xx
|
|
select ARCH_REQUIRE_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 XILINX_PCI
|
|
bool "Xilinx PCI host bridge support"
|
|
depends on PCI && XILINX_VIRTEX
|
|
|
|
endmenu
|