1# SPDX-License-Identifier: GPL-2.0-only 2# 3# IPMI device configuration 4# 5 6menuconfig IPMI_HANDLER 7 tristate 'IPMI top-level message handler' 8 depends on HAS_IOMEM 9 select IPMI_DMI_DECODE if DMI 10 help 11 This enables the central IPMI message handler, required for IPMI 12 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_DECODE 22 select IPMI_PLAT_DATA 23 bool 24 25config IPMI_PLAT_DATA 26 bool 27 28if IPMI_HANDLER 29 30config IPMI_PANIC_EVENT 31 bool 'Generate a panic event to all BMCs on a panic' 32 help 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". 39 40config IPMI_PANIC_STRING 41 bool 'Generate OEM events containing the panic string' 42 depends on IPMI_PANIC_EVENT 43 help 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". 55 56config IPMI_DEVICE_INTERFACE 57 tristate 'Device interface for IPMI' 58 help 59 This provides an IOCTL interface to the IPMI message handler so 60 userland processes may use IPMI. It supports poll() and select(). 61 62config IPMI_SI 63 tristate 'IPMI System Interface handler' 64 select IPMI_PLAT_DATA 65 help 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. 69 70config IPMI_SSIF 71 tristate 'IPMI SMBus handler (SSIF)' 72 depends on I2C 73 help 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. 77 78config IPMI_IPMB 79 tristate 'IPMI IPMB interface' 80 depends on I2C && I2C_SLAVE 81 help 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. 86 87config IPMI_LS2K 88 bool 'Loongson-2K IPMI interface' 89 depends on LOONGARCH 90 select MFD_LS2K_BMC_CORE 91 help 92 Provides a driver for Loongson-2K IPMI interfaces. 93 94config IPMI_POWERNV 95 depends on PPC_POWERNV 96 tristate 'POWERNV (OPAL firmware) IPMI interface' 97 help 98 Provides a driver for OPAL firmware-based IPMI interfaces. 99 100config IPMI_WATCHDOG 101 tristate 'IPMI Watchdog Timer' 102 help 103 This enables the IPMI watchdog timer. 104 105config IPMI_POWEROFF 106 tristate 'IPMI Poweroff' 107 help 108 This enables a function to power off the system with IPMI if 109 the IPMI management controller is capable of this. 110 111endif # IPMI_HANDLER 112 113config IPMI_KCS_BMC 114 tristate 115 116config ASPEED_KCS_IPMI_BMC 117 depends on ARCH_ASPEED || COMPILE_TEST 118 select IPMI_KCS_BMC 119 select REGMAP_MMIO 120 tristate "Aspeed KCS IPMI BMC driver" 121 help 122 Provides a driver for the KCS (Keyboard Controller Style) IPMI 123 interface found on Aspeed SOCs (AST2400 and AST2500). 124 125 The driver implements the BMC side of the KCS contorller, it 126 provides the access of KCS IO space for BMC side. 127 128config NPCM7XX_KCS_IPMI_BMC 129 depends on ARCH_NPCM || COMPILE_TEST 130 select IPMI_KCS_BMC 131 select REGMAP_MMIO 132 tristate "NPCM KCS IPMI BMC driver" 133 help 134 Provides a driver for the KCS (Keyboard Controller Style) IPMI 135 interface found on Nuvoton NPCM SOCs. 136 137 The driver implements the BMC side of the KCS contorller, it 138 provides the access of KCS IO space for BMC side. 139 140 This support is also available as a module. If so, the module 141 will be called kcs_bmc_npcm7xx. 142 143config IPMI_KCS_BMC_CDEV_IPMI 144 depends on IPMI_KCS_BMC 145 tristate "IPMI character device interface for BMC KCS devices" 146 help 147 Provides a BMC-side character device implementing IPMI 148 semantics for KCS IPMI devices. 149 150 Say YES if you wish to expose KCS devices on the BMC for IPMI 151 purposes. 152 153 This support is also available as a module. The module will be 154 called kcs_bmc_cdev_ipmi. 155 156config IPMI_KCS_BMC_SERIO 157 depends on IPMI_KCS_BMC && SERIO 158 tristate "SerIO adaptor for BMC KCS devices" 159 help 160 Adapts the BMC KCS device for the SerIO subsystem. This allows users 161 to take advantage of userspace interfaces provided by SerIO where 162 appropriate. 163 164 Say YES if you wish to expose KCS devices on the BMC via SerIO 165 interfaces. 166 167 This support is also available as a module. The module will be 168 called kcs_bmc_serio. 169 170config ASPEED_BT_IPMI_BMC 171 depends on ARCH_ASPEED || COMPILE_TEST 172 depends on MFD_SYSCON 173 select REGMAP_MMIO 174 tristate "BT IPMI bmc driver" 175 help 176 Provides a driver for the BT (Block Transfer) IPMI interface 177 found on Aspeed SOCs (AST2400 and AST2500). The driver 178 implements the BMC side of the BT interface. 179 180config SSIF_IPMI_BMC 181 tristate "SSIF IPMI BMC driver" 182 depends on I2C && I2C_SLAVE 183 help 184 This enables the IPMI SMBus system interface (SSIF) at the 185 management (BMC) side. 186 187 The driver implements the BMC side of the SMBus system 188 interface (SSIF). 189 190config IPMB_DEVICE_INTERFACE 191 tristate 'IPMB Interface handler' 192 depends on I2C 193 depends on I2C_SLAVE 194 help 195 Provides a driver for a device (Satellite MC) to 196 receive requests and send responses back to the BMC via 197 the IPMB interface. This module requires I2C support. 198