mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-01 11:46:49 +07:00
ad562c7159
Not all e300 cores support the performance monitors, and the ones that don't will be confused by the mf/mtpmr instructions. This allows the support to be optional, so the 8349 can turn it off while the 8379 can turn it on. Sadly, those aren't config options, so it will be left to the defconfigs and the users to make that determination. Signed-off-by: Andy Fleming <afleming@freescale.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
332 lines
8.5 KiB
Plaintext
332 lines
8.5 KiB
Plaintext
menu "Platform support"
|
|
|
|
choice
|
|
prompt "Machine type"
|
|
depends on PPC64 || 6xx
|
|
default PPC_MULTIPLATFORM
|
|
|
|
config PPC_MULTIPLATFORM
|
|
bool "Generic desktop/server/laptop"
|
|
help
|
|
Select this option if configuring for an IBM pSeries or
|
|
RS/6000 machine, an Apple machine, or a PReP, CHRP,
|
|
Maple or Cell-based machine.
|
|
|
|
config PPC_82xx
|
|
bool "Freescale 82xx"
|
|
depends on 6xx
|
|
|
|
config PPC_83xx
|
|
bool "Freescale 83xx"
|
|
depends on 6xx
|
|
select FSL_SOC
|
|
select MPC83xx
|
|
select IPIC
|
|
|
|
config PPC_86xx
|
|
bool "Freescale 86xx"
|
|
depends on 6xx
|
|
select FSL_SOC
|
|
select ALTIVEC
|
|
help
|
|
The Freescale E600 SoCs have 74xx cores.
|
|
endchoice
|
|
|
|
config CLASSIC32
|
|
def_bool y
|
|
depends on 6xx && PPC_MULTIPLATFORM
|
|
|
|
source "arch/powerpc/platforms/pseries/Kconfig"
|
|
source "arch/powerpc/platforms/iseries/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/prep/Kconfig"
|
|
source "arch/powerpc/platforms/maple/Kconfig"
|
|
source "arch/powerpc/platforms/pasemi/Kconfig"
|
|
source "arch/powerpc/platforms/celleb/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"
|
|
|
|
config PPC_NATIVE
|
|
bool
|
|
depends on PPC_MULTIPLATFORM
|
|
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 UDBG_RTAS_CONSOLE
|
|
bool "RTAS based debug console"
|
|
depends on PPC_RTAS
|
|
default n
|
|
|
|
config PPC_UDBG_BEAT
|
|
bool "BEAT based debug console"
|
|
depends on PPC_CELLEB
|
|
default n
|
|
|
|
config XICS
|
|
depends on PPC_PSERIES
|
|
bool
|
|
default y
|
|
|
|
config IPIC
|
|
bool
|
|
default n
|
|
|
|
config MPIC
|
|
bool
|
|
default n
|
|
|
|
config MPIC_WEIRD
|
|
bool
|
|
default n
|
|
|
|
config PPC_I8259
|
|
bool
|
|
default n
|
|
|
|
config U3_DART
|
|
bool
|
|
depends on PPC_MULTIPLATFORM && PPC64
|
|
default n
|
|
|
|
config PPC_RTAS
|
|
bool
|
|
default n
|
|
|
|
config RTAS_ERROR_LOGGING
|
|
bool
|
|
depends on PPC_RTAS
|
|
default n
|
|
|
|
config RTAS_PROC
|
|
bool "Proc interface to RTAS"
|
|
depends on PPC_RTAS
|
|
default y
|
|
|
|
config RTAS_FLASH
|
|
tristate "Firmware flash interface"
|
|
depends on PPC64 && RTAS_PROC
|
|
|
|
config PPC_PMI
|
|
tristate "Support for PMI"
|
|
depends on PPC_IBM_CELL_BLADE
|
|
help
|
|
PMI (Platform Management Interrupt) is a way to
|
|
communicate with the BMC (Baseboard Management Controller).
|
|
It is used in some IBM Cell blades.
|
|
default m
|
|
|
|
config MMIO_NVRAM
|
|
bool
|
|
default n
|
|
|
|
config MPIC_U3_HT_IRQS
|
|
bool
|
|
depends on PPC_MAPLE
|
|
default y
|
|
|
|
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 || PPC_ISERIES
|
|
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 PPC_MPC106
|
|
bool
|
|
default n
|
|
|
|
config PPC_970_NAP
|
|
bool
|
|
default n
|
|
|
|
config PPC_INDIRECT_IO
|
|
bool
|
|
select GENERIC_IOMAP
|
|
default n
|
|
|
|
config GENERIC_IOMAP
|
|
bool
|
|
default n
|
|
|
|
source "drivers/cpufreq/Kconfig"
|
|
|
|
menu "CPU Frequency drivers"
|
|
depends on CPU_FREQ
|
|
|
|
config CPU_FREQ_PMAC
|
|
bool "Support for Apple PowerBooks"
|
|
depends on ADB_PMU && PPC32
|
|
select CPU_FREQ_TABLE
|
|
help
|
|
This adds support for frequency switching on Apple PowerBooks,
|
|
this currently includes some models of iBook & Titanium
|
|
PowerBook.
|
|
|
|
config CPU_FREQ_PMAC64
|
|
bool "Support for some Apple G5s"
|
|
depends on PPC_PMAC && PPC64
|
|
select CPU_FREQ_TABLE
|
|
help
|
|
This adds support for frequency switching on Apple iMac G5,
|
|
and some of the more recent desktop G5 machines as well.
|
|
|
|
config PPC_PASEMI_CPUFREQ
|
|
bool "Support for PA Semi PWRficient"
|
|
depends on PPC_PASEMI
|
|
default y
|
|
select CPU_FREQ_TABLE
|
|
help
|
|
This adds the support for frequency switching on PA Semi
|
|
PWRficient processors.
|
|
|
|
endmenu
|
|
|
|
config PPC601_SYNC_FIX
|
|
bool "Workarounds for PPC601 bugs"
|
|
depends on 6xx && (PPC_PREP || 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 CLASSIC32
|
|
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
|
|
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 CPM2
|
|
bool "Enable support for the CPM2 (Communications Processor Module)"
|
|
depends on MPC85xx || 8260
|
|
select CPM
|
|
select PPC_LIB_RHEAP
|
|
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 PPC_CPM_NEW_BINDING
|
|
bool
|
|
depends on CPM1 || CPM2
|
|
help
|
|
Select this if your board has been converted to use the new
|
|
device tree bindings for CPM, and no longer needs the
|
|
ioport callbacks or the platform device glue code.
|
|
|
|
The fs_enet and cpm_uart drivers will be built as
|
|
of_platform devices.
|
|
|
|
config AXON_RAM
|
|
tristate "Axon DDR2 memory device driver"
|
|
depends on PPC_IBM_CELL_BLADE
|
|
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 instatiate
|
|
platform devices for direct mapped RTC chips like the DS1742 or DS1743.
|
|
|
|
source "arch/powerpc/sysdev/bestcomm/Kconfig"
|
|
|
|
endmenu
|