| # SPDX-License-Identifier: GPL-2.0-only |
| # |
| # IPMI device configuration |
| # |
| |
| menuconfig IPMI_HANDLER |
| tristate 'IPMI top-level message handler' |
| depends on HAS_IOMEM |
| select IPMI_DMI_DECODE if DMI |
| 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/driver-api/ipmi.rst> for more details on the driver. |
| |
| If unsure, say N. |
| |
| config IPMI_DMI_DECODE |
| select IPMI_PLAT_DATA |
| bool |
| |
| config IPMI_PLAT_DATA |
| bool |
| |
| if IPMI_HANDLER |
| |
| config IPMI_PANIC_EVENT |
| 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 IPMI_PANIC_STRING |
| bool 'Generate OEM events containing the panic string' |
| depends on IPMI_PANIC_EVENT |
| 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 IPMI_DEVICE_INTERFACE |
| 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 IPMI_SI |
| tristate 'IPMI System Interface handler' |
| select IPMI_PLAT_DATA |
| help |
| Provides a driver for System Interfaces (KCS, SMIC, BT). |
| Currently, only KCS and SMIC are supported. If |
| you are using IPMI, you should probably say "y" here. |
| |
| config IPMI_SSIF |
| tristate 'IPMI SMBus handler (SSIF)' |
| depends on I2C |
| help |
| Provides a driver for a SMBus interface to a BMC, meaning that you |
| have a driver that must be accessed over an I2C bus instead of a |
| standard interface. This module requires I2C support. |
| |
| config IPMI_IPMB |
| tristate 'IPMI IPMB interface' |
| depends on I2C && I2C_SLAVE |
| help |
| Provides a driver for a system running right on the IPMB bus. |
| It supports normal system interface messages to a BMC on the IPMB |
| bus, and it also supports direct messaging on the bus using |
| IPMB direct messages. This module requires I2C support. |
| |
| config IPMI_POWERNV |
| depends on PPC_POWERNV |
| tristate 'POWERNV (OPAL firmware) IPMI interface' |
| help |
| Provides a driver for OPAL firmware-based IPMI interfaces. |
| |
| config IPMI_WATCHDOG |
| tristate 'IPMI Watchdog Timer' |
| help |
| This enables the IPMI watchdog timer. |
| |
| config IPMI_POWEROFF |
| 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 # IPMI_HANDLER |
| |
| config IPMI_KCS_BMC |
| tristate |
| |
| config ASPEED_KCS_IPMI_BMC |
| depends on ARCH_ASPEED || COMPILE_TEST |
| select IPMI_KCS_BMC |
| select REGMAP_MMIO |
| 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 NPCM7XX_KCS_IPMI_BMC |
| depends on ARCH_NPCM7XX || COMPILE_TEST |
| select IPMI_KCS_BMC |
| select REGMAP_MMIO |
| 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 IPMI_KCS_BMC_CDEV_IPMI |
| depends on IPMI_KCS_BMC |
| tristate "IPMI character device interface for BMC KCS devices" |
| help |
| Provides a BMC-side character device implementing IPMI |
| semantics for KCS IPMI devices. |
| |
| Say YES if you wish to expose KCS devices on the BMC for IPMI |
| purposes. |
| |
| This support is also available as a module. The module will be |
| called kcs_bmc_cdev_ipmi. |
| |
| config IPMI_KCS_BMC_SERIO |
| depends on IPMI_KCS_BMC && SERIO |
| tristate "SerIO adaptor for BMC KCS devices" |
| help |
| Adapts the BMC KCS device for the SerIO subsystem. This allows users |
| to take advantage of userspace interfaces provided by SerIO where |
| appropriate. |
| |
| Say YES if you wish to expose KCS devices on the BMC via SerIO |
| interfaces. |
| |
| This support is also available as a module. The module will be |
| called kcs_bmc_serio. |
| |
| config ASPEED_BT_IPMI_BMC |
| depends on ARCH_ASPEED || COMPILE_TEST |
| depends on REGMAP && REGMAP_MMIO && MFD_SYSCON |
| tristate "BT IPMI bmc driver" |
| help |
| Provides a driver for the BT (Block Transfer) IPMI interface |
| found on Aspeed SOCs (AST2400 and AST2500). The driver |
| implements the BMC side of the BT interface. |
| |
| config IPMB_DEVICE_INTERFACE |
| tristate 'IPMB Interface handler' |
| depends on I2C |
| depends on I2C_SLAVE |
| 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 I2C support. |