1 # SPDX-License-Identifier: GPL-2.0-only
3 # IPMI device configuration
6 menuconfig IPMI_HANDLER
7 tristate 'IPMI top-level message handler'
9 select IPMI_DMI_DECODE if DMI
11 This enables the central IPMI message handler, required for IPMI
14 IPMI is a standard for managing sensors (temperature,
15 voltage, etc.) in a system.
17 See <file:Documentation/driver-api/ipmi.rst> for more details on the driver.
21 config IPMI_DMI_DECODE
30 config IPMI_PANIC_EVENT
31 bool 'Generate a panic event to all BMCs on a panic'
33 When a panic occurs, this will cause the IPMI message handler to,
34 by default, generate an IPMI event describing the panic to each
35 interface registered with the message handler. This is always
36 available, the module parameter for ipmi_msghandler named
37 panic_op can be set to "event" to chose this value, this config
38 simply causes the default value to be set to "event".
40 config IPMI_PANIC_STRING
41 bool 'Generate OEM events containing the panic string'
42 depends on IPMI_PANIC_EVENT
44 When a panic occurs, this will cause the IPMI message handler to,
45 by default, generate IPMI OEM type f0 events holding the IPMB
46 address of the panic generator (byte 4 of the event), a sequence
47 number for the string (byte 5 of the event) and part of the
48 string (the rest of the event). Bytes 1, 2, and 3 are the normal
49 usage for an OEM event. You can fetch these events and use the
50 sequence numbers to piece the string together. This config
51 parameter sets the default value to generate these events,
52 the module parameter for ipmi_msghandler named panic_op can
53 be set to "string" to chose this value, this config simply
54 causes the default value to be set to "string".
56 config IPMI_DEVICE_INTERFACE
57 tristate 'Device interface for IPMI'
59 This provides an IOCTL interface to the IPMI message handler so
60 userland processes may use IPMI. It supports poll() and select().
63 tristate 'IPMI System Interface handler'
66 Provides a driver for System Interfaces (KCS, SMIC, BT).
67 Currently, only KCS and SMIC are supported. If
68 you are using IPMI, you should probably say "y" here.
71 tristate 'IPMI SMBus handler (SSIF)'
74 Provides a driver for a SMBus interface to a BMC, meaning that you
75 have a driver that must be accessed over an I2C bus instead of a
76 standard interface. This module requires I2C support.
79 tristate 'IPMI IPMB interface'
80 depends on I2C && I2C_SLAVE
82 Provides a driver for a system running right on the IPMB bus.
83 It supports normal system interface messages to a BMC on the IPMB
84 bus, and it also supports direct messaging on the bus using
85 IPMB direct messages. This module requires I2C support.
88 depends on PPC_POWERNV
89 tristate 'POWERNV (OPAL firmware) IPMI interface'
91 Provides a driver for OPAL firmware-based IPMI interfaces.
94 tristate 'IPMI Watchdog Timer'
96 This enables the IPMI watchdog timer.
99 tristate 'IPMI Poweroff'
101 This enables a function to power off the system with IPMI if
102 the IPMI management controller is capable of this.
109 config ASPEED_KCS_IPMI_BMC
110 depends on ARCH_ASPEED || COMPILE_TEST
113 tristate "Aspeed KCS IPMI BMC driver"
115 Provides a driver for the KCS (Keyboard Controller Style) IPMI
116 interface found on Aspeed SOCs (AST2400 and AST2500).
118 The driver implements the BMC side of the KCS contorller, it
119 provides the access of KCS IO space for BMC side.
121 config NPCM7XX_KCS_IPMI_BMC
122 depends on ARCH_NPCM || COMPILE_TEST
125 tristate "NPCM KCS IPMI BMC driver"
127 Provides a driver for the KCS (Keyboard Controller Style) IPMI
128 interface found on Nuvoton NPCM SOCs.
130 The driver implements the BMC side of the KCS contorller, it
131 provides the access of KCS IO space for BMC side.
133 This support is also available as a module. If so, the module
134 will be called kcs_bmc_npcm7xx.
136 config IPMI_KCS_BMC_CDEV_IPMI
137 depends on IPMI_KCS_BMC
138 tristate "IPMI character device interface for BMC KCS devices"
140 Provides a BMC-side character device implementing IPMI
141 semantics for KCS IPMI devices.
143 Say YES if you wish to expose KCS devices on the BMC for IPMI
146 This support is also available as a module. The module will be
147 called kcs_bmc_cdev_ipmi.
149 config IPMI_KCS_BMC_SERIO
150 depends on IPMI_KCS_BMC && SERIO
151 tristate "SerIO adaptor for BMC KCS devices"
153 Adapts the BMC KCS device for the SerIO subsystem. This allows users
154 to take advantage of userspace interfaces provided by SerIO where
157 Say YES if you wish to expose KCS devices on the BMC via SerIO
160 This support is also available as a module. The module will be
161 called kcs_bmc_serio.
163 config ASPEED_BT_IPMI_BMC
164 depends on ARCH_ASPEED || COMPILE_TEST
165 depends on MFD_SYSCON
167 tristate "BT IPMI bmc driver"
169 Provides a driver for the BT (Block Transfer) IPMI interface
170 found on Aspeed SOCs (AST2400 and AST2500). The driver
171 implements the BMC side of the BT interface.
174 tristate "SSIF IPMI BMC driver"
175 depends on I2C && I2C_SLAVE
177 This enables the IPMI SMBus system interface (SSIF) at the
178 management (BMC) side.
180 The driver implements the BMC side of the SMBus system
183 config IPMB_DEVICE_INTERFACE
184 tristate 'IPMB Interface handler'
188 Provides a driver for a device (Satellite MC) to
189 receive requests and send responses back to the BMC via
190 the IPMB interface. This module requires I2C support.