18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only 28c2ecf20Sopenharmony_ci# 38c2ecf20Sopenharmony_ci# IPMI device configuration 48c2ecf20Sopenharmony_ci# 58c2ecf20Sopenharmony_ci 68c2ecf20Sopenharmony_cimenuconfig IPMI_HANDLER 78c2ecf20Sopenharmony_ci tristate 'IPMI top-level message handler' 88c2ecf20Sopenharmony_ci depends on HAS_IOMEM 98c2ecf20Sopenharmony_ci select IPMI_DMI_DECODE if DMI 108c2ecf20Sopenharmony_ci help 118c2ecf20Sopenharmony_ci This enables the central IPMI message handler, required for IPMI 128c2ecf20Sopenharmony_ci to work. 138c2ecf20Sopenharmony_ci 148c2ecf20Sopenharmony_ci IPMI is a standard for managing sensors (temperature, 158c2ecf20Sopenharmony_ci voltage, etc.) in a system. 168c2ecf20Sopenharmony_ci 178c2ecf20Sopenharmony_ci See <file:Documentation/driver-api/ipmi.rst> for more details on the driver. 188c2ecf20Sopenharmony_ci 198c2ecf20Sopenharmony_ci If unsure, say N. 208c2ecf20Sopenharmony_ci 218c2ecf20Sopenharmony_ciconfig IPMI_DMI_DECODE 228c2ecf20Sopenharmony_ci select IPMI_PLAT_DATA 238c2ecf20Sopenharmony_ci bool 248c2ecf20Sopenharmony_ci 258c2ecf20Sopenharmony_ciconfig IPMI_PLAT_DATA 268c2ecf20Sopenharmony_ci bool 278c2ecf20Sopenharmony_ci 288c2ecf20Sopenharmony_ciif IPMI_HANDLER 298c2ecf20Sopenharmony_ci 308c2ecf20Sopenharmony_ciconfig IPMI_PANIC_EVENT 318c2ecf20Sopenharmony_ci bool 'Generate a panic event to all BMCs on a panic' 328c2ecf20Sopenharmony_ci help 338c2ecf20Sopenharmony_ci When a panic occurs, this will cause the IPMI message handler to, 348c2ecf20Sopenharmony_ci by default, generate an IPMI event describing the panic to each 358c2ecf20Sopenharmony_ci interface registered with the message handler. This is always 368c2ecf20Sopenharmony_ci available, the module parameter for ipmi_msghandler named 378c2ecf20Sopenharmony_ci panic_op can be set to "event" to chose this value, this config 388c2ecf20Sopenharmony_ci simply causes the default value to be set to "event". 398c2ecf20Sopenharmony_ci 408c2ecf20Sopenharmony_ciconfig IPMI_PANIC_STRING 418c2ecf20Sopenharmony_ci bool 'Generate OEM events containing the panic string' 428c2ecf20Sopenharmony_ci depends on IPMI_PANIC_EVENT 438c2ecf20Sopenharmony_ci help 448c2ecf20Sopenharmony_ci When a panic occurs, this will cause the IPMI message handler to, 458c2ecf20Sopenharmony_ci by default, generate IPMI OEM type f0 events holding the IPMB 468c2ecf20Sopenharmony_ci address of the panic generator (byte 4 of the event), a sequence 478c2ecf20Sopenharmony_ci number for the string (byte 5 of the event) and part of the 488c2ecf20Sopenharmony_ci string (the rest of the event). Bytes 1, 2, and 3 are the normal 498c2ecf20Sopenharmony_ci usage for an OEM event. You can fetch these events and use the 508c2ecf20Sopenharmony_ci sequence numbers to piece the string together. This config 518c2ecf20Sopenharmony_ci parameter sets the default value to generate these events, 528c2ecf20Sopenharmony_ci the module parameter for ipmi_msghandler named panic_op can 538c2ecf20Sopenharmony_ci be set to "string" to chose this value, this config simply 548c2ecf20Sopenharmony_ci causes the default value to be set to "string". 558c2ecf20Sopenharmony_ci 568c2ecf20Sopenharmony_ciconfig IPMI_DEVICE_INTERFACE 578c2ecf20Sopenharmony_ci tristate 'Device interface for IPMI' 588c2ecf20Sopenharmony_ci help 598c2ecf20Sopenharmony_ci This provides an IOCTL interface to the IPMI message handler so 608c2ecf20Sopenharmony_ci userland processes may use IPMI. It supports poll() and select(). 618c2ecf20Sopenharmony_ci 628c2ecf20Sopenharmony_ciconfig IPMI_SI 638c2ecf20Sopenharmony_ci tristate 'IPMI System Interface handler' 648c2ecf20Sopenharmony_ci select IPMI_PLAT_DATA 658c2ecf20Sopenharmony_ci help 668c2ecf20Sopenharmony_ci Provides a driver for System Interfaces (KCS, SMIC, BT). 678c2ecf20Sopenharmony_ci Currently, only KCS and SMIC are supported. If 688c2ecf20Sopenharmony_ci you are using IPMI, you should probably say "y" here. 698c2ecf20Sopenharmony_ci 708c2ecf20Sopenharmony_ciconfig IPMI_SSIF 718c2ecf20Sopenharmony_ci tristate 'IPMI SMBus handler (SSIF)' 728c2ecf20Sopenharmony_ci select I2C 738c2ecf20Sopenharmony_ci help 748c2ecf20Sopenharmony_ci Provides a driver for a SMBus interface to a BMC, meaning that you 758c2ecf20Sopenharmony_ci have a driver that must be accessed over an I2C bus instead of a 768c2ecf20Sopenharmony_ci standard interface. This module requires I2C support. 778c2ecf20Sopenharmony_ci 788c2ecf20Sopenharmony_ciconfig IPMI_POWERNV 798c2ecf20Sopenharmony_ci depends on PPC_POWERNV 808c2ecf20Sopenharmony_ci tristate 'POWERNV (OPAL firmware) IPMI interface' 818c2ecf20Sopenharmony_ci help 828c2ecf20Sopenharmony_ci Provides a driver for OPAL firmware-based IPMI interfaces. 838c2ecf20Sopenharmony_ci 848c2ecf20Sopenharmony_ciconfig IPMI_WATCHDOG 858c2ecf20Sopenharmony_ci tristate 'IPMI Watchdog Timer' 868c2ecf20Sopenharmony_ci help 878c2ecf20Sopenharmony_ci This enables the IPMI watchdog timer. 888c2ecf20Sopenharmony_ci 898c2ecf20Sopenharmony_ciconfig IPMI_POWEROFF 908c2ecf20Sopenharmony_ci tristate 'IPMI Poweroff' 918c2ecf20Sopenharmony_ci help 928c2ecf20Sopenharmony_ci This enables a function to power off the system with IPMI if 938c2ecf20Sopenharmony_ci the IPMI management controller is capable of this. 948c2ecf20Sopenharmony_ci 958c2ecf20Sopenharmony_ciendif # IPMI_HANDLER 968c2ecf20Sopenharmony_ci 978c2ecf20Sopenharmony_ciconfig IPMI_KCS_BMC 988c2ecf20Sopenharmony_ci tristate 998c2ecf20Sopenharmony_ci 1008c2ecf20Sopenharmony_ciconfig ASPEED_KCS_IPMI_BMC 1018c2ecf20Sopenharmony_ci depends on ARCH_ASPEED || COMPILE_TEST 1028c2ecf20Sopenharmony_ci select IPMI_KCS_BMC 1038c2ecf20Sopenharmony_ci select REGMAP_MMIO 1048c2ecf20Sopenharmony_ci tristate "Aspeed KCS IPMI BMC driver" 1058c2ecf20Sopenharmony_ci help 1068c2ecf20Sopenharmony_ci Provides a driver for the KCS (Keyboard Controller Style) IPMI 1078c2ecf20Sopenharmony_ci interface found on Aspeed SOCs (AST2400 and AST2500). 1088c2ecf20Sopenharmony_ci 1098c2ecf20Sopenharmony_ci The driver implements the BMC side of the KCS contorller, it 1108c2ecf20Sopenharmony_ci provides the access of KCS IO space for BMC side. 1118c2ecf20Sopenharmony_ci 1128c2ecf20Sopenharmony_ciconfig NPCM7XX_KCS_IPMI_BMC 1138c2ecf20Sopenharmony_ci depends on ARCH_NPCM7XX || COMPILE_TEST 1148c2ecf20Sopenharmony_ci select IPMI_KCS_BMC 1158c2ecf20Sopenharmony_ci select REGMAP_MMIO 1168c2ecf20Sopenharmony_ci tristate "NPCM7xx KCS IPMI BMC driver" 1178c2ecf20Sopenharmony_ci help 1188c2ecf20Sopenharmony_ci Provides a driver for the KCS (Keyboard Controller Style) IPMI 1198c2ecf20Sopenharmony_ci interface found on Nuvoton NPCM7xx SOCs. 1208c2ecf20Sopenharmony_ci 1218c2ecf20Sopenharmony_ci The driver implements the BMC side of the KCS contorller, it 1228c2ecf20Sopenharmony_ci provides the access of KCS IO space for BMC side. 1238c2ecf20Sopenharmony_ci 1248c2ecf20Sopenharmony_ci This support is also available as a module. If so, the module 1258c2ecf20Sopenharmony_ci will be called kcs_bmc_npcm7xx. 1268c2ecf20Sopenharmony_ci 1278c2ecf20Sopenharmony_ciconfig ASPEED_BT_IPMI_BMC 1288c2ecf20Sopenharmony_ci depends on ARCH_ASPEED || COMPILE_TEST 1298c2ecf20Sopenharmony_ci depends on MFD_SYSCON 1308c2ecf20Sopenharmony_ci select REGMAP_MMIO 1318c2ecf20Sopenharmony_ci tristate "BT IPMI bmc driver" 1328c2ecf20Sopenharmony_ci help 1338c2ecf20Sopenharmony_ci Provides a driver for the BT (Block Transfer) IPMI interface 1348c2ecf20Sopenharmony_ci found on Aspeed SOCs (AST2400 and AST2500). The driver 1358c2ecf20Sopenharmony_ci implements the BMC side of the BT interface. 1368c2ecf20Sopenharmony_ci 1378c2ecf20Sopenharmony_ciconfig IPMB_DEVICE_INTERFACE 1388c2ecf20Sopenharmony_ci tristate 'IPMB Interface handler' 1398c2ecf20Sopenharmony_ci depends on I2C 1408c2ecf20Sopenharmony_ci depends on I2C_SLAVE 1418c2ecf20Sopenharmony_ci help 1428c2ecf20Sopenharmony_ci Provides a driver for a device (Satellite MC) to 1438c2ecf20Sopenharmony_ci receive requests and send responses back to the BMC via 1448c2ecf20Sopenharmony_ci the IPMB interface. This module requires I2C support. 145