191 lines · plain
1# SPDX-License-Identifier: GPL-2.0-only2#3# IPMI device configuration4#5 6menuconfig IPMI_HANDLER7 tristate 'IPMI top-level message handler'8 depends on HAS_IOMEM9 select IPMI_DMI_DECODE if DMI10 help11 This enables the central IPMI message handler, required for IPMI12 to work.13 14 IPMI is a standard for managing sensors (temperature,15 voltage, etc.) in a system.16 17 See <file:Documentation/driver-api/ipmi.rst> for more details on the driver.18 19 If unsure, say N.20 21config IPMI_DMI_DECODE22 select IPMI_PLAT_DATA23 bool24 25config IPMI_PLAT_DATA26 bool27 28if IPMI_HANDLER29 30config IPMI_PANIC_EVENT31 bool 'Generate a panic event to all BMCs on a panic'32 help33 When a panic occurs, this will cause the IPMI message handler to,34 by default, generate an IPMI event describing the panic to each35 interface registered with the message handler. This is always36 available, the module parameter for ipmi_msghandler named37 panic_op can be set to "event" to chose this value, this config38 simply causes the default value to be set to "event".39 40config IPMI_PANIC_STRING41 bool 'Generate OEM events containing the panic string'42 depends on IPMI_PANIC_EVENT43 help44 When a panic occurs, this will cause the IPMI message handler to,45 by default, generate IPMI OEM type f0 events holding the IPMB46 address of the panic generator (byte 4 of the event), a sequence47 number for the string (byte 5 of the event) and part of the48 string (the rest of the event). Bytes 1, 2, and 3 are the normal49 usage for an OEM event. You can fetch these events and use the50 sequence numbers to piece the string together. This config51 parameter sets the default value to generate these events,52 the module parameter for ipmi_msghandler named panic_op can53 be set to "string" to chose this value, this config simply54 causes the default value to be set to "string".55 56config IPMI_DEVICE_INTERFACE57 tristate 'Device interface for IPMI'58 help59 This provides an IOCTL interface to the IPMI message handler so60 userland processes may use IPMI. It supports poll() and select().61 62config IPMI_SI63 tristate 'IPMI System Interface handler'64 select IPMI_PLAT_DATA65 help66 Provides a driver for System Interfaces (KCS, SMIC, BT).67 Currently, only KCS and SMIC are supported. If68 you are using IPMI, you should probably say "y" here.69 70config IPMI_SSIF71 tristate 'IPMI SMBus handler (SSIF)'72 depends on I2C73 help74 Provides a driver for a SMBus interface to a BMC, meaning that you75 have a driver that must be accessed over an I2C bus instead of a76 standard interface. This module requires I2C support.77 78config IPMI_IPMB79 tristate 'IPMI IPMB interface'80 depends on I2C && I2C_SLAVE81 help82 Provides a driver for a system running right on the IPMB bus.83 It supports normal system interface messages to a BMC on the IPMB84 bus, and it also supports direct messaging on the bus using85 IPMB direct messages. This module requires I2C support.86 87config IPMI_POWERNV88 depends on PPC_POWERNV89 tristate 'POWERNV (OPAL firmware) IPMI interface'90 help91 Provides a driver for OPAL firmware-based IPMI interfaces.92 93config IPMI_WATCHDOG94 tristate 'IPMI Watchdog Timer'95 help96 This enables the IPMI watchdog timer.97 98config IPMI_POWEROFF99 tristate 'IPMI Poweroff'100 help101 This enables a function to power off the system with IPMI if102 the IPMI management controller is capable of this.103 104endif # IPMI_HANDLER105 106config IPMI_KCS_BMC107 tristate108 109config ASPEED_KCS_IPMI_BMC110 depends on ARCH_ASPEED || COMPILE_TEST111 select IPMI_KCS_BMC112 select REGMAP_MMIO113 tristate "Aspeed KCS IPMI BMC driver"114 help115 Provides a driver for the KCS (Keyboard Controller Style) IPMI116 interface found on Aspeed SOCs (AST2400 and AST2500).117 118 The driver implements the BMC side of the KCS contorller, it119 provides the access of KCS IO space for BMC side.120 121config NPCM7XX_KCS_IPMI_BMC122 depends on ARCH_NPCM || COMPILE_TEST123 select IPMI_KCS_BMC124 select REGMAP_MMIO125 tristate "NPCM KCS IPMI BMC driver"126 help127 Provides a driver for the KCS (Keyboard Controller Style) IPMI128 interface found on Nuvoton NPCM SOCs.129 130 The driver implements the BMC side of the KCS contorller, it131 provides the access of KCS IO space for BMC side.132 133 This support is also available as a module. If so, the module134 will be called kcs_bmc_npcm7xx.135 136config IPMI_KCS_BMC_CDEV_IPMI137 depends on IPMI_KCS_BMC138 tristate "IPMI character device interface for BMC KCS devices"139 help140 Provides a BMC-side character device implementing IPMI141 semantics for KCS IPMI devices.142 143 Say YES if you wish to expose KCS devices on the BMC for IPMI144 purposes.145 146 This support is also available as a module. The module will be147 called kcs_bmc_cdev_ipmi.148 149config IPMI_KCS_BMC_SERIO150 depends on IPMI_KCS_BMC && SERIO151 tristate "SerIO adaptor for BMC KCS devices"152 help153 Adapts the BMC KCS device for the SerIO subsystem. This allows users154 to take advantage of userspace interfaces provided by SerIO where155 appropriate.156 157 Say YES if you wish to expose KCS devices on the BMC via SerIO158 interfaces.159 160 This support is also available as a module. The module will be161 called kcs_bmc_serio.162 163config ASPEED_BT_IPMI_BMC164 depends on ARCH_ASPEED || COMPILE_TEST165 depends on MFD_SYSCON166 select REGMAP_MMIO167 tristate "BT IPMI bmc driver"168 help169 Provides a driver for the BT (Block Transfer) IPMI interface170 found on Aspeed SOCs (AST2400 and AST2500). The driver171 implements the BMC side of the BT interface.172 173config SSIF_IPMI_BMC174 tristate "SSIF IPMI BMC driver"175 depends on I2C && I2C_SLAVE176 help177 This enables the IPMI SMBus system interface (SSIF) at the178 management (BMC) side.179 180 The driver implements the BMC side of the SMBus system181 interface (SSIF).182 183config IPMB_DEVICE_INTERFACE184 tristate 'IPMB Interface handler'185 depends on I2C186 depends on I2C_SLAVE187 help188 Provides a driver for a device (Satellite MC) to189 receive requests and send responses back to the BMC via190 the IPMB interface. This module requires I2C support.191