1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only 21da177e4SLinus Torvalds# 31da177e4SLinus Torvalds# IPMI device configuration 41da177e4SLinus Torvalds# 51da177e4SLinus Torvalds 6bcf6b4bbSJan Engelhardtmenuconfig IPMI_HANDLER 71da177e4SLinus Torvalds tristate 'IPMI top-level message handler' 8bcf6b4bbSJan Engelhardt depends on HAS_IOMEM 99f88145fSCorey Minyard select IPMI_DMI_DECODE if DMI 101da177e4SLinus Torvalds help 111da177e4SLinus Torvalds This enables the central IPMI message handler, required for IPMI 121da177e4SLinus Torvalds to work. 131da177e4SLinus Torvalds 141da177e4SLinus Torvalds IPMI is a standard for managing sensors (temperature, 151da177e4SLinus Torvalds voltage, etc.) in a system. 161da177e4SLinus Torvalds 17283b69bfSMauro Carvalho Chehab See <file:Documentation/driver-api/ipmi.rst> for more details on the driver. 181da177e4SLinus Torvalds 191da177e4SLinus Torvalds If unsure, say N. 201da177e4SLinus Torvalds 219f88145fSCorey Minyardconfig IPMI_DMI_DECODE 223cd83bacSCorey Minyard select IPMI_PLAT_DATA 233cd83bacSCorey Minyard bool 243cd83bacSCorey Minyard 253cd83bacSCorey Minyardconfig IPMI_PLAT_DATA 269f88145fSCorey Minyard bool 279f88145fSCorey Minyard 28bcf6b4bbSJan Engelhardtif IPMI_HANDLER 29bcf6b4bbSJan Engelhardt 301da177e4SLinus Torvaldsconfig IPMI_PANIC_EVENT 311da177e4SLinus Torvalds bool 'Generate a panic event to all BMCs on a panic' 321da177e4SLinus Torvalds help 331c9f98d1SCorey Minyard When a panic occurs, this will cause the IPMI message handler to, 341c9f98d1SCorey Minyard by default, generate an IPMI event describing the panic to each 351c9f98d1SCorey Minyard interface registered with the message handler. This is always 361c9f98d1SCorey Minyard available, the module parameter for ipmi_msghandler named 371c9f98d1SCorey Minyard panic_op can be set to "event" to chose this value, this config 381c9f98d1SCorey Minyard simply causes the default value to be set to "event". 391da177e4SLinus Torvalds 401da177e4SLinus Torvaldsconfig IPMI_PANIC_STRING 411da177e4SLinus Torvalds bool 'Generate OEM events containing the panic string' 421da177e4SLinus Torvalds depends on IPMI_PANIC_EVENT 431da177e4SLinus Torvalds help 441c9f98d1SCorey Minyard When a panic occurs, this will cause the IPMI message handler to, 451c9f98d1SCorey Minyard by default, generate IPMI OEM type f0 events holding the IPMB 461c9f98d1SCorey Minyard address of the panic generator (byte 4 of the event), a sequence 471c9f98d1SCorey Minyard number for the string (byte 5 of the event) and part of the 481c9f98d1SCorey Minyard string (the rest of the event). Bytes 1, 2, and 3 are the normal 491c9f98d1SCorey Minyard usage for an OEM event. You can fetch these events and use the 501c9f98d1SCorey Minyard sequence numbers to piece the string together. This config 511c9f98d1SCorey Minyard parameter sets the default value to generate these events, 521c9f98d1SCorey Minyard the module parameter for ipmi_msghandler named panic_op can 531c9f98d1SCorey Minyard be set to "string" to chose this value, this config simply 541c9f98d1SCorey Minyard causes the default value to be set to "string". 551da177e4SLinus Torvalds 561da177e4SLinus Torvaldsconfig IPMI_DEVICE_INTERFACE 571da177e4SLinus Torvalds tristate 'Device interface for IPMI' 581da177e4SLinus Torvalds help 591da177e4SLinus Torvalds This provides an IOCTL interface to the IPMI message handler so 601da177e4SLinus Torvalds userland processes may use IPMI. It supports poll() and select(). 611da177e4SLinus Torvalds 621da177e4SLinus Torvaldsconfig IPMI_SI 631da177e4SLinus Torvalds tristate 'IPMI System Interface handler' 643cd83bacSCorey Minyard select IPMI_PLAT_DATA 651da177e4SLinus Torvalds help 661da177e4SLinus Torvalds Provides a driver for System Interfaces (KCS, SMIC, BT). 671da177e4SLinus Torvalds Currently, only KCS and SMIC are supported. If 681da177e4SLinus Torvalds you are using IPMI, you should probably say "y" here. 691da177e4SLinus Torvalds 7025930707SCorey Minyardconfig IPMI_SSIF 7125930707SCorey Minyard tristate 'IPMI SMBus handler (SSIF)' 728332cd49SCorey Minyard depends on I2C 7325930707SCorey Minyard help 7425930707SCorey Minyard Provides a driver for a SMBus interface to a BMC, meaning that you 7525930707SCorey Minyard have a driver that must be accessed over an I2C bus instead of a 7625930707SCorey Minyard standard interface. This module requires I2C support. 7725930707SCorey Minyard 7863c4eb34SCorey Minyardconfig IPMI_IPMB 7963c4eb34SCorey Minyard tristate 'IPMI IPMB interface' 80ed83855fSRandy Dunlap depends on I2C && I2C_SLAVE 8163c4eb34SCorey Minyard help 8263c4eb34SCorey Minyard Provides a driver for a system running right on the IPMB bus. 8363c4eb34SCorey Minyard It supports normal system interface messages to a BMC on the IPMB 8463c4eb34SCorey Minyard bus, and it also supports direct messaging on the bus using 8563c4eb34SCorey Minyard IPMB direct messages. This module requires I2C support. 8663c4eb34SCorey Minyard 876a11e5c6SJeremy Kerrconfig IPMI_POWERNV 886a11e5c6SJeremy Kerr depends on PPC_POWERNV 896a11e5c6SJeremy Kerr tristate 'POWERNV (OPAL firmware) IPMI interface' 906a11e5c6SJeremy Kerr help 916a11e5c6SJeremy Kerr Provides a driver for OPAL firmware-based IPMI interfaces. 926a11e5c6SJeremy Kerr 931da177e4SLinus Torvaldsconfig IPMI_WATCHDOG 941da177e4SLinus Torvalds tristate 'IPMI Watchdog Timer' 951da177e4SLinus Torvalds help 961da177e4SLinus Torvalds This enables the IPMI watchdog timer. 971da177e4SLinus Torvalds 981da177e4SLinus Torvaldsconfig IPMI_POWEROFF 991da177e4SLinus Torvalds tristate 'IPMI Poweroff' 1001da177e4SLinus Torvalds help 1011da177e4SLinus Torvalds This enables a function to power off the system with IPMI if 1021da177e4SLinus Torvalds the IPMI management controller is capable of this. 1031da177e4SLinus Torvalds 104bcf6b4bbSJan Engelhardtendif # IPMI_HANDLER 10554f9c4d0SAlistair Popple 10620d60f61SHaiyue Wangconfig IPMI_KCS_BMC 10720d60f61SHaiyue Wang tristate 10820d60f61SHaiyue Wang 109be2ed207SHaiyue Wangconfig ASPEED_KCS_IPMI_BMC 110be2ed207SHaiyue Wang depends on ARCH_ASPEED || COMPILE_TEST 111be2ed207SHaiyue Wang select IPMI_KCS_BMC 112be2ed207SHaiyue Wang select REGMAP_MMIO 113be2ed207SHaiyue Wang tristate "Aspeed KCS IPMI BMC driver" 114be2ed207SHaiyue Wang help 115be2ed207SHaiyue Wang Provides a driver for the KCS (Keyboard Controller Style) IPMI 116be2ed207SHaiyue Wang interface found on Aspeed SOCs (AST2400 and AST2500). 117be2ed207SHaiyue Wang 118be2ed207SHaiyue Wang The driver implements the BMC side of the KCS contorller, it 119be2ed207SHaiyue Wang provides the access of KCS IO space for BMC side. 120be2ed207SHaiyue Wang 1216b2e54f7SHaiyue Wangconfig NPCM7XX_KCS_IPMI_BMC 122dfef1accSTomer Maimon depends on ARCH_NPCM || COMPILE_TEST 1236b2e54f7SHaiyue Wang select IPMI_KCS_BMC 1246b2e54f7SHaiyue Wang select REGMAP_MMIO 125dfef1accSTomer Maimon tristate "NPCM KCS IPMI BMC driver" 1266b2e54f7SHaiyue Wang help 1276b2e54f7SHaiyue Wang Provides a driver for the KCS (Keyboard Controller Style) IPMI 128dfef1accSTomer Maimon interface found on Nuvoton NPCM SOCs. 1296b2e54f7SHaiyue Wang 1306b2e54f7SHaiyue Wang The driver implements the BMC side of the KCS contorller, it 1316b2e54f7SHaiyue Wang provides the access of KCS IO space for BMC side. 1326b2e54f7SHaiyue Wang 1336b2e54f7SHaiyue Wang This support is also available as a module. If so, the module 1346b2e54f7SHaiyue Wang will be called kcs_bmc_npcm7xx. 1356b2e54f7SHaiyue Wang 1367cafff99SAndrew Jefferyconfig IPMI_KCS_BMC_CDEV_IPMI 1377cafff99SAndrew Jeffery depends on IPMI_KCS_BMC 1387cafff99SAndrew Jeffery tristate "IPMI character device interface for BMC KCS devices" 1397cafff99SAndrew Jeffery help 1407cafff99SAndrew Jeffery Provides a BMC-side character device implementing IPMI 1417cafff99SAndrew Jeffery semantics for KCS IPMI devices. 1427cafff99SAndrew Jeffery 1437cafff99SAndrew Jeffery Say YES if you wish to expose KCS devices on the BMC for IPMI 1447cafff99SAndrew Jeffery purposes. 1457cafff99SAndrew Jeffery 1467cafff99SAndrew Jeffery This support is also available as a module. The module will be 1477cafff99SAndrew Jeffery called kcs_bmc_cdev_ipmi. 1487cafff99SAndrew Jeffery 1493a3d2f6aSAndrew Jefferyconfig IPMI_KCS_BMC_SERIO 1503a3d2f6aSAndrew Jeffery depends on IPMI_KCS_BMC && SERIO 1513a3d2f6aSAndrew Jeffery tristate "SerIO adaptor for BMC KCS devices" 1523a3d2f6aSAndrew Jeffery help 1533a3d2f6aSAndrew Jeffery Adapts the BMC KCS device for the SerIO subsystem. This allows users 1543a3d2f6aSAndrew Jeffery to take advantage of userspace interfaces provided by SerIO where 1553a3d2f6aSAndrew Jeffery appropriate. 1563a3d2f6aSAndrew Jeffery 1573a3d2f6aSAndrew Jeffery Say YES if you wish to expose KCS devices on the BMC via SerIO 1583a3d2f6aSAndrew Jeffery interfaces. 1593a3d2f6aSAndrew Jeffery 1603a3d2f6aSAndrew Jeffery This support is also available as a module. The module will be 1613a3d2f6aSAndrew Jeffery called kcs_bmc_serio. 1623a3d2f6aSAndrew Jeffery 16354f9c4d0SAlistair Poppleconfig ASPEED_BT_IPMI_BMC 164eb994594SAndrew Jeffery depends on ARCH_ASPEED || COMPILE_TEST 165*2a587b9aSRandy Dunlap depends on MFD_SYSCON 166*2a587b9aSRandy Dunlap select REGMAP_MMIO 16754f9c4d0SAlistair Popple tristate "BT IPMI bmc driver" 16854f9c4d0SAlistair Popple help 16954f9c4d0SAlistair Popple Provides a driver for the BT (Block Transfer) IPMI interface 17054f9c4d0SAlistair Popple found on Aspeed SOCs (AST2400 and AST2500). The driver 17154f9c4d0SAlistair Popple implements the BMC side of the BT interface. 17251bd6f29SAsmaa Mnebhi 173dd2bc5ccSQuan Nguyenconfig SSIF_IPMI_BMC 174dd2bc5ccSQuan Nguyen tristate "SSIF IPMI BMC driver" 175dd2bc5ccSQuan Nguyen depends on I2C && I2C_SLAVE 176dd2bc5ccSQuan Nguyen help 177dd2bc5ccSQuan Nguyen This enables the IPMI SMBus system interface (SSIF) at the 178dd2bc5ccSQuan Nguyen management (BMC) side. 179dd2bc5ccSQuan Nguyen 180dd2bc5ccSQuan Nguyen The driver implements the BMC side of the SMBus system 181dd2bc5ccSQuan Nguyen interface (SSIF). 182dd2bc5ccSQuan Nguyen 18351bd6f29SAsmaa Mnebhiconfig IPMB_DEVICE_INTERFACE 18451bd6f29SAsmaa Mnebhi tristate 'IPMB Interface handler' 185102308f5SYueHaibing depends on I2C 18651bd6f29SAsmaa Mnebhi depends on I2C_SLAVE 18751bd6f29SAsmaa Mnebhi help 18851bd6f29SAsmaa Mnebhi Provides a driver for a device (Satellite MC) to 18951bd6f29SAsmaa Mnebhi receive requests and send responses back to the BMC via 19051bd6f29SAsmaa Mnebhi the IPMB interface. This module requires I2C support. 191