xref: /linux/drivers/char/ipmi/Kconfig (revision 6b2e54f7babea6c782a9c1af9d01c7f999bb4c7d)
11da177e4SLinus Torvalds#
21da177e4SLinus Torvalds# IPMI device configuration
31da177e4SLinus Torvalds#
41da177e4SLinus Torvalds
5bcf6b4bbSJan Engelhardtmenuconfig IPMI_HANDLER
61da177e4SLinus Torvalds       tristate 'IPMI top-level message handler'
7bcf6b4bbSJan Engelhardt       depends on HAS_IOMEM
89f88145fSCorey Minyard       select IPMI_DMI_DECODE if DMI
91da177e4SLinus Torvalds       help
101da177e4SLinus Torvalds         This enables the central IPMI message handler, required for IPMI
111da177e4SLinus Torvalds	 to work.
121da177e4SLinus Torvalds
131da177e4SLinus Torvalds         IPMI is a standard for managing sensors (temperature,
141da177e4SLinus Torvalds         voltage, etc.) in a system.
151da177e4SLinus Torvalds
161da177e4SLinus Torvalds         See <file:Documentation/IPMI.txt> for more details on the driver.
171da177e4SLinus Torvalds
181da177e4SLinus Torvalds	 If unsure, say N.
191da177e4SLinus Torvalds
209f88145fSCorey Minyardconfig IPMI_DMI_DECODE
219f88145fSCorey Minyard       bool
229f88145fSCorey Minyard
23bcf6b4bbSJan Engelhardtif IPMI_HANDLER
24bcf6b4bbSJan Engelhardt
2555f91cb6SCorey Minyardconfig IPMI_PROC_INTERFACE
2655f91cb6SCorey Minyard       bool 'Provide an interface for IPMI stats in /proc (deprecated)'
2755f91cb6SCorey Minyard       depends on PROC_FS
2855f91cb6SCorey Minyard       default y
2955f91cb6SCorey Minyard       help
3055f91cb6SCorey Minyard         Do not use this any more, use sysfs for this info.  It will be
3155f91cb6SCorey Minyard	 removed in future kernel versions.
3255f91cb6SCorey Minyard
331da177e4SLinus Torvaldsconfig IPMI_PANIC_EVENT
341da177e4SLinus Torvalds       bool 'Generate a panic event to all BMCs on a panic'
351da177e4SLinus Torvalds       help
361c9f98d1SCorey Minyard	 When a panic occurs, this will cause the IPMI message handler to,
371c9f98d1SCorey Minyard	 by default, generate an IPMI event describing the panic to each
381c9f98d1SCorey Minyard	 interface registered with the message handler.  This is always
391c9f98d1SCorey Minyard	 available, the module parameter for ipmi_msghandler named
401c9f98d1SCorey Minyard	 panic_op can be set to "event" to chose this value, this config
411c9f98d1SCorey Minyard	 simply causes the default value to be set to "event".
421da177e4SLinus Torvalds
431da177e4SLinus Torvaldsconfig IPMI_PANIC_STRING
441da177e4SLinus Torvalds	bool 'Generate OEM events containing the panic string'
451da177e4SLinus Torvalds	depends on IPMI_PANIC_EVENT
461da177e4SLinus Torvalds	help
471c9f98d1SCorey Minyard	  When a panic occurs, this will cause the IPMI message handler to,
481c9f98d1SCorey Minyard	  by default, generate IPMI OEM type f0 events holding the IPMB
491c9f98d1SCorey Minyard	  address of the panic generator (byte 4 of the event), a sequence
501c9f98d1SCorey Minyard	  number for the string (byte 5 of the event) and part of the
511c9f98d1SCorey Minyard	  string (the rest of the event).  Bytes 1, 2, and 3 are the normal
521c9f98d1SCorey Minyard	  usage for an OEM event.  You can fetch these events and use the
531c9f98d1SCorey Minyard	  sequence numbers to piece the string together.  This config
541c9f98d1SCorey Minyard	  parameter sets the default value to generate these events,
551c9f98d1SCorey Minyard	  the module parameter for ipmi_msghandler named panic_op can
561c9f98d1SCorey Minyard	  be set to "string" to chose this value, this config simply
571c9f98d1SCorey Minyard	  causes the default value to be set to "string".
581da177e4SLinus Torvalds
591da177e4SLinus Torvaldsconfig IPMI_DEVICE_INTERFACE
601da177e4SLinus Torvalds       tristate 'Device interface for IPMI'
611da177e4SLinus Torvalds       help
621da177e4SLinus Torvalds         This provides an IOCTL interface to the IPMI message handler so
631da177e4SLinus Torvalds	 userland processes may use IPMI.  It supports poll() and select().
641da177e4SLinus Torvalds
651da177e4SLinus Torvaldsconfig IPMI_SI
661da177e4SLinus Torvalds       tristate 'IPMI System Interface handler'
671da177e4SLinus Torvalds       help
681da177e4SLinus Torvalds         Provides a driver for System Interfaces (KCS, SMIC, BT).
691da177e4SLinus Torvalds	 Currently, only KCS and SMIC are supported.  If
701da177e4SLinus Torvalds	 you are using IPMI, you should probably say "y" here.
711da177e4SLinus Torvalds
7225930707SCorey Minyardconfig IPMI_SSIF
7325930707SCorey Minyard       tristate 'IPMI SMBus handler (SSIF)'
7425930707SCorey Minyard       select I2C
7525930707SCorey Minyard       help
7625930707SCorey Minyard         Provides a driver for a SMBus interface to a BMC, meaning that you
7725930707SCorey Minyard	 have a driver that must be accessed over an I2C bus instead of a
7825930707SCorey Minyard	 standard interface.  This module requires I2C support.
7925930707SCorey Minyard
806a11e5c6SJeremy Kerrconfig IPMI_POWERNV
816a11e5c6SJeremy Kerr       depends on PPC_POWERNV
826a11e5c6SJeremy Kerr       tristate 'POWERNV (OPAL firmware) IPMI interface'
836a11e5c6SJeremy Kerr       help
846a11e5c6SJeremy Kerr         Provides a driver for OPAL firmware-based IPMI interfaces.
856a11e5c6SJeremy Kerr
861da177e4SLinus Torvaldsconfig IPMI_WATCHDOG
871da177e4SLinus Torvalds       tristate 'IPMI Watchdog Timer'
881da177e4SLinus Torvalds       help
891da177e4SLinus Torvalds         This enables the IPMI watchdog timer.
901da177e4SLinus Torvalds
911da177e4SLinus Torvaldsconfig IPMI_POWEROFF
921da177e4SLinus Torvalds       tristate 'IPMI Poweroff'
931da177e4SLinus Torvalds       help
941da177e4SLinus Torvalds         This enables a function to power off the system with IPMI if
951da177e4SLinus Torvalds	 the IPMI management controller is capable of this.
961da177e4SLinus Torvalds
97bcf6b4bbSJan Engelhardtendif # IPMI_HANDLER
9854f9c4d0SAlistair Popple
9920d60f61SHaiyue Wangconfig IPMI_KCS_BMC
10020d60f61SHaiyue Wang	tristate
10120d60f61SHaiyue Wang
102be2ed207SHaiyue Wangconfig ASPEED_KCS_IPMI_BMC
103be2ed207SHaiyue Wang	depends on ARCH_ASPEED || COMPILE_TEST
104be2ed207SHaiyue Wang	select IPMI_KCS_BMC
105be2ed207SHaiyue Wang	select REGMAP_MMIO
106be2ed207SHaiyue Wang	tristate "Aspeed KCS IPMI BMC driver"
107be2ed207SHaiyue Wang	help
108be2ed207SHaiyue Wang	  Provides a driver for the KCS (Keyboard Controller Style) IPMI
109be2ed207SHaiyue Wang	  interface found on Aspeed SOCs (AST2400 and AST2500).
110be2ed207SHaiyue Wang
111be2ed207SHaiyue Wang	  The driver implements the BMC side of the KCS contorller, it
112be2ed207SHaiyue Wang	  provides the access of KCS IO space for BMC side.
113be2ed207SHaiyue Wang
114*6b2e54f7SHaiyue Wangconfig NPCM7XX_KCS_IPMI_BMC
115*6b2e54f7SHaiyue Wang	depends on ARCH_NPCM7XX || COMPILE_TEST
116*6b2e54f7SHaiyue Wang	select IPMI_KCS_BMC
117*6b2e54f7SHaiyue Wang	select REGMAP_MMIO
118*6b2e54f7SHaiyue Wang	tristate "NPCM7xx KCS IPMI BMC driver"
119*6b2e54f7SHaiyue Wang	help
120*6b2e54f7SHaiyue Wang	  Provides a driver for the KCS (Keyboard Controller Style) IPMI
121*6b2e54f7SHaiyue Wang	  interface found on Nuvoton NPCM7xx SOCs.
122*6b2e54f7SHaiyue Wang
123*6b2e54f7SHaiyue Wang	  The driver implements the BMC side of the KCS contorller, it
124*6b2e54f7SHaiyue Wang	  provides the access of KCS IO space for BMC side.
125*6b2e54f7SHaiyue Wang
126*6b2e54f7SHaiyue Wang	  This support is also available as a module.  If so, the module
127*6b2e54f7SHaiyue Wang	  will be called kcs_bmc_npcm7xx.
128*6b2e54f7SHaiyue Wang
12954f9c4d0SAlistair Poppleconfig ASPEED_BT_IPMI_BMC
130eb994594SAndrew Jeffery	depends on ARCH_ASPEED || COMPILE_TEST
131eb994594SAndrew Jeffery       depends on REGMAP && REGMAP_MMIO && MFD_SYSCON
13254f9c4d0SAlistair Popple	tristate "BT IPMI bmc driver"
13354f9c4d0SAlistair Popple	help
13454f9c4d0SAlistair Popple	  Provides a driver for the BT (Block Transfer) IPMI interface
13554f9c4d0SAlistair Popple	  found on Aspeed SOCs (AST2400 and AST2500). The driver
13654f9c4d0SAlistair Popple	  implements the BMC side of the BT interface.
137