Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

# SPDX-License-Identifier: GPL-2.0-only
#
# IPMI device configuration
#

menuconfig CONFIG_IPMI_HANDLER
       tristate 'IPMI top-level message handler'
       depends on CONFIG_HAS_IOMEM
       select CONFIG_IPMI_DMI_DECODE if CONFIG_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 CONFIG_IPMI_DMI_DECODE
       select CONFIG_IPMI_PLAT_DATA
       bool

config CONFIG_IPMI_PLAT_DATA
       bool

if CONFIG_IPMI_HANDLER

config 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 CONFIG_IPMI_PANIC_STRING
	bool 'Generate OEM events containing the panic string'
	depends on CONFIG_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 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 CONFIG_IPMI_SI
       tristate 'IPMI System Interface handler'
       select CONFIG_IPMI_PLAT_DATA
       help
         Provides a driver for System Interfaces (KCS, SMIC, CONFIG_BT).
	 Currently, only KCS and SMIC are supported.  If
	 you are using IPMI, you should probably say "y" here.

config CONFIG_IPMI_SSIF
       tristate 'IPMI SMBus handler (SSIF)'
       select CONFIG_I2C
       help
         Provides a driver for a SMBus interface to a BMC, meaning that you
	 have a driver that must be accessed over an CONFIG_I2C bus instead of a
	 standard interface.  This module requires CONFIG_I2C support.

config CONFIG_IPMI_POWERNV
       depends on CONFIG_PPC_POWERNV
       tristate 'POWERNV (OPAL firmware) IPMI interface'
       help
         Provides a driver for OPAL firmware-based IPMI interfaces.

config CONFIG_IPMI_WATCHDOG
       tristate 'IPMI Watchdog Timer'
       help
         This enables the IPMI watchdog timer.

config 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 # CONFIG_IPMI_HANDLER

config CONFIG_IPMI_KCS_BMC
	tristate

config CONFIG_ASPEED_KCS_IPMI_BMC
	depends on CONFIG_ARCH_ASPEED || CONFIG_COMPILE_TEST
	select CONFIG_IPMI_KCS_BMC
	select CONFIG_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 CONFIG_NPCM7XX_KCS_IPMI_BMC
	depends on CONFIG_ARCH_NPCM7XX || CONFIG_COMPILE_TEST
	select CONFIG_IPMI_KCS_BMC
	select CONFIG_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 CONFIG_ASPEED_BT_IPMI_BMC
	depends on CONFIG_ARCH_ASPEED || CONFIG_COMPILE_TEST
       depends on CONFIG_REGMAP && CONFIG_REGMAP_MMIO && CONFIG_MFD_SYSCON
	tristate "BT IPMI bmc driver"
	help
	  Provides a driver for the CONFIG_BT (Block Transfer) IPMI interface
	  found on Aspeed SOCs (AST2400 and AST2500). The driver
	  implements the BMC side of the CONFIG_BT interface.

config CONFIG_IPMB_DEVICE_INTERFACE
	tristate 'IPMB Interface handler'
	depends on CONFIG_I2C
	depends on CONFIG_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 CONFIG_I2C support.