| # SPDX-License-Identifier: GPL-2.0-only | 
 | # | 
 | # IPMI device configuration | 
 | # | 
 |  | 
 | menuconfig IPMI_HANDLER | 
 | 	tristate 'IPMI top-level message handler' | 
 | 	depends on HAS_IOMEM | 
 | 	select IPMI_DMI_DECODE if DMI | 
 | 	help | 
 | 	  This enables the central IPMI message handler, required for IPMI | 
 | 	  to work. | 
 |  | 
 | 	  IPMI is a standard for managing sensors (temperature, | 
 | 	  voltage, etc.) in a system. | 
 |  | 
 | 	  See <file:Documentation/IPMI.txt> for more details on the driver. | 
 |  | 
 | 	  If unsure, say N. | 
 |  | 
 | config IPMI_DMI_DECODE | 
 | 	select IPMI_PLAT_DATA | 
 | 	bool | 
 |  | 
 | config IPMI_PLAT_DATA | 
 | 	bool | 
 |  | 
 | if IPMI_HANDLER | 
 |  | 
 | config IPMI_PANIC_EVENT | 
 | 	bool 'Generate a panic event to all BMCs on a panic' | 
 | 	help | 
 | 	  When a panic occurs, this will cause the IPMI message handler to, | 
 | 	  by default, generate an IPMI event describing the panic to each | 
 | 	  interface registered with the message handler.  This is always | 
 | 	  available, the module parameter for ipmi_msghandler named | 
 | 	  panic_op can be set to "event" to chose this value, this config | 
 | 	  simply causes the default value to be set to "event". | 
 |  | 
 | config IPMI_PANIC_STRING | 
 | 	bool 'Generate OEM events containing the panic string' | 
 | 	depends on IPMI_PANIC_EVENT | 
 | 	help | 
 | 	  When a panic occurs, this will cause the IPMI message handler to, | 
 | 	  by default, generate IPMI OEM type f0 events holding the IPMB | 
 | 	  address of the panic generator (byte 4 of the event), a sequence | 
 | 	  number for the string (byte 5 of the event) and part of the | 
 | 	  string (the rest of the event).  Bytes 1, 2, and 3 are the normal | 
 | 	  usage for an OEM event.  You can fetch these events and use the | 
 | 	  sequence numbers to piece the string together.  This config | 
 | 	  parameter sets the default value to generate these events, | 
 | 	  the module parameter for ipmi_msghandler named panic_op can | 
 | 	  be set to "string" to chose this value, this config simply | 
 | 	  causes the default value to be set to "string". | 
 |  | 
 | config IPMI_DEVICE_INTERFACE | 
 | 	tristate 'Device interface for IPMI' | 
 | 	help | 
 | 	  This provides an IOCTL interface to the IPMI message handler so | 
 | 	  userland processes may use IPMI.  It supports poll() and select(). | 
 |  | 
 | config IPMI_SI | 
 | 	tristate 'IPMI System Interface handler' | 
 | 	select IPMI_PLAT_DATA | 
 | 	help | 
 | 	  Provides a driver for System Interfaces (KCS, SMIC, BT). | 
 | 	  Currently, only KCS and SMIC are supported.  If | 
 | 	  you are using IPMI, you should probably say "y" here. | 
 |  | 
 | config IPMI_SSIF | 
 | 	tristate 'IPMI SMBus handler (SSIF)' | 
 | 	select I2C | 
 | 	help | 
 | 	  Provides a driver for a SMBus interface to a BMC, meaning that you | 
 | 	  have a driver that must be accessed over an I2C bus instead of a | 
 | 	  standard interface.  This module requires I2C support. | 
 |  | 
 | config IPMI_POWERNV | 
 | 	depends on PPC_POWERNV | 
 | 	tristate 'POWERNV (OPAL firmware) IPMI interface' | 
 | 	help | 
 | 	  Provides a driver for OPAL firmware-based IPMI interfaces. | 
 |  | 
 | config IPMI_WATCHDOG | 
 | 	tristate 'IPMI Watchdog Timer' | 
 | 	help | 
 | 	  This enables the IPMI watchdog timer. | 
 |  | 
 | config IPMI_POWEROFF | 
 | 	tristate 'IPMI Poweroff' | 
 | 	help | 
 | 	  This enables a function to power off the system with IPMI if | 
 | 	  the IPMI management controller is capable of this. | 
 |  | 
 | endif # IPMI_HANDLER | 
 |  | 
 | config IPMI_KCS_BMC | 
 | 	tristate | 
 |  | 
 | config ASPEED_KCS_IPMI_BMC | 
 | 	depends on ARCH_ASPEED || COMPILE_TEST | 
 | 	select IPMI_KCS_BMC | 
 | 	select REGMAP_MMIO | 
 | 	tristate "Aspeed KCS IPMI BMC driver" | 
 | 	help | 
 | 	  Provides a driver for the KCS (Keyboard Controller Style) IPMI | 
 | 	  interface found on Aspeed SOCs (AST2400 and AST2500). | 
 |  | 
 | 	  The driver implements the BMC side of the KCS contorller, it | 
 | 	  provides the access of KCS IO space for BMC side. | 
 |  | 
 | config NPCM7XX_KCS_IPMI_BMC | 
 | 	depends on ARCH_NPCM7XX || COMPILE_TEST | 
 | 	select IPMI_KCS_BMC | 
 | 	select REGMAP_MMIO | 
 | 	tristate "NPCM7xx KCS IPMI BMC driver" | 
 | 	help | 
 | 	  Provides a driver for the KCS (Keyboard Controller Style) IPMI | 
 | 	  interface found on Nuvoton NPCM7xx SOCs. | 
 |  | 
 | 	  The driver implements the BMC side of the KCS contorller, it | 
 | 	  provides the access of KCS IO space for BMC side. | 
 |  | 
 | 	  This support is also available as a module.  If so, the module | 
 | 	  will be called kcs_bmc_npcm7xx. | 
 |  | 
 | config ASPEED_BT_IPMI_BMC | 
 | 	depends on ARCH_ASPEED || COMPILE_TEST | 
 | 	depends on REGMAP && REGMAP_MMIO && MFD_SYSCON | 
 | 	tristate "BT IPMI bmc driver" | 
 | 	help | 
 | 	  Provides a driver for the BT (Block Transfer) IPMI interface | 
 | 	  found on Aspeed SOCs (AST2400 and AST2500). The driver | 
 | 	  implements the BMC side of the BT interface. | 
 |  | 
 | config IPMB_DEVICE_INTERFACE | 
 | 	tristate 'IPMB Interface handler' | 
 | 	depends on I2C | 
 | 	depends on I2C_SLAVE | 
 | 	help | 
 | 	  Provides a driver for a device (Satellite MC) to | 
 | 	  receive requests and send responses back to the BMC via | 
 | 	  the IPMB interface. This module requires I2C support. |