# SPDX-License-Identifier: GPL-2.0-only
#
# IPMI device configuration
#
menuconfig [31mCONFIG_IPMI_HANDLER[0m
tristate 'IPMI top-level message handler'
depends on [31mCONFIG_HAS_IOMEM[0m
select [31mCONFIG_IPMI_DMI_DECODE[0m if [31mCONFIG_DMI[0m
help
This enables the central IPMI message handler, required for IPMI
to work.
IPMI is a standard for managing sensors (temperature,
voltage, etc.) in a system.
See <file:Documentation/IPMI.txt> for more details on the driver.
If unsure, say N.
config [31mCONFIG_IPMI_DMI_DECODE[0m
select [31mCONFIG_IPMI_PLAT_DATA[0m
bool
config [31mCONFIG_IPMI_PLAT_DATA[0m
bool
if [31mCONFIG_IPMI_HANDLER[0m
config [31mCONFIG_IPMI_PANIC_EVENT[0m
bool 'Generate a panic event to all BMCs on a panic'
help
When a panic occurs, this will cause the IPMI message handler to,
by default, generate an IPMI event describing the panic to each
interface registered with the message handler. This is always
available, the module parameter for ipmi_msghandler named
panic_op can be set to "event" to chose this value, this config
simply causes the default value to be set to "event".
config [31mCONFIG_IPMI_PANIC_STRING[0m
bool 'Generate OEM events containing the panic string'
depends on [31mCONFIG_IPMI_PANIC_EVENT[0m
help
When a panic occurs, this will cause the IPMI message handler to,
by default, generate IPMI OEM type f0 events holding the IPMB
address of the panic generator (byte 4 of the event), a sequence
number for the string (byte 5 of the event) and part of the
string (the rest of the event). Bytes 1, 2, and 3 are the normal
usage for an OEM event. You can fetch these events and use the
sequence numbers to piece the string together. This config
parameter sets the default value to generate these events,
the module parameter for ipmi_msghandler named panic_op can
be set to "string" to chose this value, this config simply
causes the default value to be set to "string".
config [31mCONFIG_IPMI_DEVICE_INTERFACE[0m
tristate 'Device interface for IPMI'
help
This provides an IOCTL interface to the IPMI message handler so
userland processes may use IPMI. It supports poll() and select().
config [31mCONFIG_IPMI_SI[0m
tristate 'IPMI System Interface handler'
select [31mCONFIG_IPMI_PLAT_DATA[0m
help
Provides a driver for System Interfaces (KCS, SMIC, [31mCONFIG_BT[0m).
Currently, only KCS and SMIC are supported. If
you are using IPMI, you should probably say "y" here.
config [31mCONFIG_IPMI_SSIF[0m
tristate 'IPMI SMBus handler (SSIF)'
select [31mCONFIG_I2C[0m
help
Provides a driver for a SMBus interface to a BMC, meaning that you
have a driver that must be accessed over an [31mCONFIG_I2C[0m bus instead of a
standard interface. This module requires [31mCONFIG_I2C[0m support.
config [31mCONFIG_IPMI_POWERNV[0m
depends on [31mCONFIG_PPC_POWERNV[0m
tristate 'POWERNV (OPAL firmware) IPMI interface'
help
Provides a driver for OPAL firmware-based IPMI interfaces.
config [31mCONFIG_IPMI_WATCHDOG[0m
tristate 'IPMI Watchdog Timer'
help
This enables the IPMI watchdog timer.
config [31mCONFIG_IPMI_POWEROFF[0m
tristate 'IPMI Poweroff'
help
This enables a function to power off the system with IPMI if
the IPMI management controller is capable of this.
endif # [31mCONFIG_IPMI_HANDLER[0m
config [31mCONFIG_IPMI_KCS_BMC[0m
tristate
config [31mCONFIG_ASPEED_KCS_IPMI_BMC[0m
depends on [31mCONFIG_ARCH_ASPEED[0m || [31mCONFIG_COMPILE_TEST[0m
select [31mCONFIG_IPMI_KCS_BMC[0m
select [31mCONFIG_REGMAP_MMIO[0m
tristate "Aspeed KCS IPMI BMC driver"
help
Provides a driver for the KCS (Keyboard Controller Style) IPMI
interface found on Aspeed SOCs (AST2400 and AST2500).
The driver implements the BMC side of the KCS contorller, it
provides the access of KCS IO space for BMC side.
config [31mCONFIG_NPCM7XX_KCS_IPMI_BMC[0m
depends on [31mCONFIG_ARCH_NPCM7XX[0m || [31mCONFIG_COMPILE_TEST[0m
select [31mCONFIG_IPMI_KCS_BMC[0m
select [31mCONFIG_REGMAP_MMIO[0m
tristate "NPCM7xx KCS IPMI BMC driver"
help
Provides a driver for the KCS (Keyboard Controller Style) IPMI
interface found on Nuvoton NPCM7xx SOCs.
The driver implements the BMC side of the KCS contorller, it
provides the access of KCS IO space for BMC side.
This support is also available as a module. If so, the module
will be called kcs_bmc_npcm7xx.
config [31mCONFIG_ASPEED_BT_IPMI_BMC[0m
depends on [31mCONFIG_ARCH_ASPEED[0m || [31mCONFIG_COMPILE_TEST[0m
depends on [31mCONFIG_REGMAP[0m && [31mCONFIG_REGMAP_MMIO[0m && [31mCONFIG_MFD_SYSCON[0m
tristate "BT IPMI bmc driver"
help
Provides a driver for the [31mCONFIG_BT[0m (Block Transfer) IPMI interface
found on Aspeed SOCs (AST2400 and AST2500). The driver
implements the BMC side of the [31mCONFIG_BT[0m interface.
config [31mCONFIG_IPMB_DEVICE_INTERFACE[0m
tristate 'IPMB Interface handler'
depends on [31mCONFIG_I2C[0m
depends on [31mCONFIG_I2C_SLAVE[0m
help
Provides a driver for a device (Satellite MC) to
receive requests and send responses back to the BMC via
the IPMB interface. This module requires [31mCONFIG_I2C[0m support.