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 87*d46651d4SBinbin Zhouconfig IPMI_LS2K 88*d46651d4SBinbin Zhou bool 'Loongson-2K IPMI interface' 89*d46651d4SBinbin Zhou depends on LOONGARCH 90*d46651d4SBinbin Zhou select MFD_LS2K_BMC_CORE 91*d46651d4SBinbin Zhou help 92*d46651d4SBinbin Zhou Provides a driver for Loongson-2K IPMI interfaces. 93*d46651d4SBinbin Zhou 946a11e5c6SJeremy Kerrconfig IPMI_POWERNV 956a11e5c6SJeremy Kerr depends on PPC_POWERNV 966a11e5c6SJeremy Kerr tristate 'POWERNV (OPAL firmware) IPMI interface' 976a11e5c6SJeremy Kerr help 986a11e5c6SJeremy Kerr Provides a driver for OPAL firmware-based IPMI interfaces. 996a11e5c6SJeremy Kerr 1001da177e4SLinus Torvaldsconfig IPMI_WATCHDOG 1011da177e4SLinus Torvalds tristate 'IPMI Watchdog Timer' 1021da177e4SLinus Torvalds help 1031da177e4SLinus Torvalds This enables the IPMI watchdog timer. 1041da177e4SLinus Torvalds 1051da177e4SLinus Torvaldsconfig IPMI_POWEROFF 1061da177e4SLinus Torvalds tristate 'IPMI Poweroff' 1071da177e4SLinus Torvalds help 1081da177e4SLinus Torvalds This enables a function to power off the system with IPMI if 1091da177e4SLinus Torvalds the IPMI management controller is capable of this. 1101da177e4SLinus Torvalds 111bcf6b4bbSJan Engelhardtendif # IPMI_HANDLER 11254f9c4d0SAlistair Popple 11320d60f61SHaiyue Wangconfig IPMI_KCS_BMC 11420d60f61SHaiyue Wang tristate 11520d60f61SHaiyue Wang 116be2ed207SHaiyue Wangconfig ASPEED_KCS_IPMI_BMC 117be2ed207SHaiyue Wang depends on ARCH_ASPEED || COMPILE_TEST 118be2ed207SHaiyue Wang select IPMI_KCS_BMC 119be2ed207SHaiyue Wang select REGMAP_MMIO 120be2ed207SHaiyue Wang tristate "Aspeed KCS IPMI BMC driver" 121be2ed207SHaiyue Wang help 122be2ed207SHaiyue Wang Provides a driver for the KCS (Keyboard Controller Style) IPMI 123be2ed207SHaiyue Wang interface found on Aspeed SOCs (AST2400 and AST2500). 124be2ed207SHaiyue Wang 125be2ed207SHaiyue Wang The driver implements the BMC side of the KCS contorller, it 126be2ed207SHaiyue Wang provides the access of KCS IO space for BMC side. 127be2ed207SHaiyue Wang 1286b2e54f7SHaiyue Wangconfig NPCM7XX_KCS_IPMI_BMC 129dfef1accSTomer Maimon depends on ARCH_NPCM || COMPILE_TEST 1306b2e54f7SHaiyue Wang select IPMI_KCS_BMC 1316b2e54f7SHaiyue Wang select REGMAP_MMIO 132dfef1accSTomer Maimon tristate "NPCM KCS IPMI BMC driver" 1336b2e54f7SHaiyue Wang help 1346b2e54f7SHaiyue Wang Provides a driver for the KCS (Keyboard Controller Style) IPMI 135dfef1accSTomer Maimon interface found on Nuvoton NPCM SOCs. 1366b2e54f7SHaiyue Wang 1376b2e54f7SHaiyue Wang The driver implements the BMC side of the KCS contorller, it 1386b2e54f7SHaiyue Wang provides the access of KCS IO space for BMC side. 1396b2e54f7SHaiyue Wang 1406b2e54f7SHaiyue Wang This support is also available as a module. If so, the module 1416b2e54f7SHaiyue Wang will be called kcs_bmc_npcm7xx. 1426b2e54f7SHaiyue Wang 1437cafff99SAndrew Jefferyconfig IPMI_KCS_BMC_CDEV_IPMI 1447cafff99SAndrew Jeffery depends on IPMI_KCS_BMC 1457cafff99SAndrew Jeffery tristate "IPMI character device interface for BMC KCS devices" 1467cafff99SAndrew Jeffery help 1477cafff99SAndrew Jeffery Provides a BMC-side character device implementing IPMI 1487cafff99SAndrew Jeffery semantics for KCS IPMI devices. 1497cafff99SAndrew Jeffery 1507cafff99SAndrew Jeffery Say YES if you wish to expose KCS devices on the BMC for IPMI 1517cafff99SAndrew Jeffery purposes. 1527cafff99SAndrew Jeffery 1537cafff99SAndrew Jeffery This support is also available as a module. The module will be 1547cafff99SAndrew Jeffery called kcs_bmc_cdev_ipmi. 1557cafff99SAndrew Jeffery 1563a3d2f6aSAndrew Jefferyconfig IPMI_KCS_BMC_SERIO 1573a3d2f6aSAndrew Jeffery depends on IPMI_KCS_BMC && SERIO 1583a3d2f6aSAndrew Jeffery tristate "SerIO adaptor for BMC KCS devices" 1593a3d2f6aSAndrew Jeffery help 1603a3d2f6aSAndrew Jeffery Adapts the BMC KCS device for the SerIO subsystem. This allows users 1613a3d2f6aSAndrew Jeffery to take advantage of userspace interfaces provided by SerIO where 1623a3d2f6aSAndrew Jeffery appropriate. 1633a3d2f6aSAndrew Jeffery 1643a3d2f6aSAndrew Jeffery Say YES if you wish to expose KCS devices on the BMC via SerIO 1653a3d2f6aSAndrew Jeffery interfaces. 1663a3d2f6aSAndrew Jeffery 1673a3d2f6aSAndrew Jeffery This support is also available as a module. The module will be 1683a3d2f6aSAndrew Jeffery called kcs_bmc_serio. 1693a3d2f6aSAndrew Jeffery 17054f9c4d0SAlistair Poppleconfig ASPEED_BT_IPMI_BMC 171eb994594SAndrew Jeffery depends on ARCH_ASPEED || COMPILE_TEST 1722a587b9aSRandy Dunlap depends on MFD_SYSCON 1732a587b9aSRandy Dunlap select REGMAP_MMIO 17454f9c4d0SAlistair Popple tristate "BT IPMI bmc driver" 17554f9c4d0SAlistair Popple help 17654f9c4d0SAlistair Popple Provides a driver for the BT (Block Transfer) IPMI interface 17754f9c4d0SAlistair Popple found on Aspeed SOCs (AST2400 and AST2500). The driver 17854f9c4d0SAlistair Popple implements the BMC side of the BT interface. 17951bd6f29SAsmaa Mnebhi 180dd2bc5ccSQuan Nguyenconfig SSIF_IPMI_BMC 181dd2bc5ccSQuan Nguyen tristate "SSIF IPMI BMC driver" 182dd2bc5ccSQuan Nguyen depends on I2C && I2C_SLAVE 183dd2bc5ccSQuan Nguyen help 184dd2bc5ccSQuan Nguyen This enables the IPMI SMBus system interface (SSIF) at the 185dd2bc5ccSQuan Nguyen management (BMC) side. 186dd2bc5ccSQuan Nguyen 187dd2bc5ccSQuan Nguyen The driver implements the BMC side of the SMBus system 188dd2bc5ccSQuan Nguyen interface (SSIF). 189dd2bc5ccSQuan Nguyen 19051bd6f29SAsmaa Mnebhiconfig IPMB_DEVICE_INTERFACE 19151bd6f29SAsmaa Mnebhi tristate 'IPMB Interface handler' 192102308f5SYueHaibing depends on I2C 19351bd6f29SAsmaa Mnebhi depends on I2C_SLAVE 19451bd6f29SAsmaa Mnebhi help 19551bd6f29SAsmaa Mnebhi Provides a driver for a device (Satellite MC) to 19651bd6f29SAsmaa Mnebhi receive requests and send responses back to the BMC via 19751bd6f29SAsmaa Mnebhi the IPMB interface. This module requires I2C support. 198