xref: /openbmc/linux/drivers/char/ipmi/Kconfig (revision 7156fc29)
1#
2# IPMI device configuration
3#
4
5menuconfig IPMI_HANDLER
6       tristate 'IPMI top-level message handler'
7       depends on HAS_IOMEM
8       select IPMI_DMI_DECODE if DMI
9       help
10         This enables the central IPMI message handler, required for IPMI
11	 to work.
12
13         IPMI is a standard for managing sensors (temperature,
14         voltage, etc.) in a system.
15
16         See <file:Documentation/IPMI.txt> for more details on the driver.
17
18	 If unsure, say N.
19
20config IPMI_DMI_DECODE
21       bool
22
23if IPMI_HANDLER
24
25config IPMI_PROC_INTERFACE
26       bool 'Provide an interface for IPMI stats in /proc (deprecated)'
27       depends on PROC_FS
28       default y
29       help
30         Do not use this any more, use sysfs for this info.  It will be
31	 removed in future kernel versions.
32
33config IPMI_PANIC_EVENT
34       bool 'Generate a panic event to all BMCs on a panic'
35       help
36	 When a panic occurs, this will cause the IPMI message handler to,
37	 by default, generate an IPMI event describing the panic to each
38	 interface registered with the message handler.  This is always
39	 available, the module parameter for ipmi_msghandler named
40	 panic_op can be set to "event" to chose this value, this config
41	 simply causes the default value to be set to "event".
42
43config IPMI_PANIC_STRING
44	bool 'Generate OEM events containing the panic string'
45	depends on IPMI_PANIC_EVENT
46	help
47	  When a panic occurs, this will cause the IPMI message handler to,
48	  by default, generate IPMI OEM type f0 events holding the IPMB
49	  address of the panic generator (byte 4 of the event), a sequence
50	  number for the string (byte 5 of the event) and part of the
51	  string (the rest of the event).  Bytes 1, 2, and 3 are the normal
52	  usage for an OEM event.  You can fetch these events and use the
53	  sequence numbers to piece the string together.  This config
54	  parameter sets the default value to generate these events,
55	  the module parameter for ipmi_msghandler named panic_op can
56	  be set to "string" to chose this value, this config simply
57	  causes the default value to be set to "string".
58
59config IPMI_DEVICE_INTERFACE
60       tristate 'Device interface for IPMI'
61       help
62         This provides an IOCTL interface to the IPMI message handler so
63	 userland processes may use IPMI.  It supports poll() and select().
64
65config IPMI_SI
66       tristate 'IPMI System Interface handler'
67       help
68         Provides a driver for System Interfaces (KCS, SMIC, BT).
69	 Currently, only KCS and SMIC are supported.  If
70	 you are using IPMI, you should probably say "y" here.
71
72config IPMI_SSIF
73       tristate 'IPMI SMBus handler (SSIF)'
74       select I2C
75       help
76         Provides a driver for a SMBus interface to a BMC, meaning that you
77	 have a driver that must be accessed over an I2C bus instead of a
78	 standard interface.  This module requires I2C support.
79
80config IPMI_POWERNV
81       depends on PPC_POWERNV
82       tristate 'POWERNV (OPAL firmware) IPMI interface'
83       help
84         Provides a driver for OPAL firmware-based IPMI interfaces.
85
86config IPMI_WATCHDOG
87       tristate 'IPMI Watchdog Timer'
88       help
89         This enables the IPMI watchdog timer.
90
91config IPMI_POWEROFF
92       tristate 'IPMI Poweroff'
93       help
94         This enables a function to power off the system with IPMI if
95	 the IPMI management controller is capable of this.
96
97endif # IPMI_HANDLER
98
99config IPMI_KCS_BMC
100	tristate
101
102config ASPEED_KCS_IPMI_BMC
103	depends on ARCH_ASPEED || COMPILE_TEST
104	select IPMI_KCS_BMC
105	select REGMAP_MMIO
106	tristate "Aspeed KCS IPMI BMC driver"
107	help
108	  Provides a driver for the KCS (Keyboard Controller Style) IPMI
109	  interface found on Aspeed SOCs (AST2400 and AST2500).
110
111	  The driver implements the BMC side of the KCS contorller, it
112	  provides the access of KCS IO space for BMC side.
113
114config ASPEED_BT_IPMI_BMC
115	depends on ARCH_ASPEED || COMPILE_TEST
116       depends on REGMAP && REGMAP_MMIO && MFD_SYSCON
117	tristate "BT IPMI bmc driver"
118	help
119	  Provides a driver for the BT (Block Transfer) IPMI interface
120	  found on Aspeed SOCs (AST2400 and AST2500). The driver
121	  implements the BMC side of the BT interface.
122