Merge tag 's390-6.8-1' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux
[linux-block.git] / drivers / char / ipmi / Kconfig
CommitLineData
ec8f24b7 1# SPDX-License-Identifier: GPL-2.0-only
1da177e4
LT
2#
3# IPMI device configuration
4#
5
bcf6b4bb 6menuconfig IPMI_HANDLER
599ea01c
KK
7 tristate 'IPMI top-level message handler'
8 depends on HAS_IOMEM
9 select IPMI_DMI_DECODE if DMI
10 help
11 This enables the central IPMI message handler, required for IPMI
12 to work.
1da177e4 13
599ea01c
KK
14 IPMI is a standard for managing sensors (temperature,
15 voltage, etc.) in a system.
1da177e4 16
283b69bf 17 See <file:Documentation/driver-api/ipmi.rst> for more details on the driver.
1da177e4 18
599ea01c 19 If unsure, say N.
1da177e4 20
9f88145f 21config IPMI_DMI_DECODE
599ea01c
KK
22 select IPMI_PLAT_DATA
23 bool
3cd83bac
CM
24
25config IPMI_PLAT_DATA
599ea01c 26 bool
9f88145f 27
bcf6b4bb
JE
28if IPMI_HANDLER
29
1da177e4 30config IPMI_PANIC_EVENT
599ea01c
KK
31 bool 'Generate a panic event to all BMCs on a panic'
32 help
33 When a panic occurs, this will cause the IPMI message handler to,
34 by default, generate an IPMI event describing the panic to each
35 interface registered with the message handler. This is always
36 available, the module parameter for ipmi_msghandler named
37 panic_op can be set to "event" to chose this value, this config
38 simply causes the default value to be set to "event".
1da177e4
LT
39
40config IPMI_PANIC_STRING
41 bool 'Generate OEM events containing the panic string'
42 depends on IPMI_PANIC_EVENT
43 help
1c9f98d1
CM
44 When a panic occurs, this will cause the IPMI message handler to,
45 by default, generate IPMI OEM type f0 events holding the IPMB
46 address of the panic generator (byte 4 of the event), a sequence
47 number for the string (byte 5 of the event) and part of the
48 string (the rest of the event). Bytes 1, 2, and 3 are the normal
49 usage for an OEM event. You can fetch these events and use the
50 sequence numbers to piece the string together. This config
51 parameter sets the default value to generate these events,
52 the module parameter for ipmi_msghandler named panic_op can
53 be set to "string" to chose this value, this config simply
54 causes the default value to be set to "string".
1da177e4
LT
55
56config IPMI_DEVICE_INTERFACE
599ea01c
KK
57 tristate 'Device interface for IPMI'
58 help
59 This provides an IOCTL interface to the IPMI message handler so
60 userland processes may use IPMI. It supports poll() and select().
1da177e4
LT
61
62config IPMI_SI
599ea01c
KK
63 tristate 'IPMI System Interface handler'
64 select IPMI_PLAT_DATA
65 help
66 Provides a driver for System Interfaces (KCS, SMIC, BT).
67 Currently, only KCS and SMIC are supported. If
68 you are using IPMI, you should probably say "y" here.
1da177e4 69
25930707 70config IPMI_SSIF
599ea01c 71 tristate 'IPMI SMBus handler (SSIF)'
8332cd49 72 depends on I2C
599ea01c
KK
73 help
74 Provides a driver for a SMBus interface to a BMC, meaning that you
75 have a driver that must be accessed over an I2C bus instead of a
76 standard interface. This module requires I2C support.
25930707 77
63c4eb34
CM
78config IPMI_IPMB
79 tristate 'IPMI IPMB interface'
ed83855f 80 depends on I2C && I2C_SLAVE
63c4eb34
CM
81 help
82 Provides a driver for a system running right on the IPMB bus.
83 It supports normal system interface messages to a BMC on the IPMB
84 bus, and it also supports direct messaging on the bus using
85 IPMB direct messages. This module requires I2C support.
86
6a11e5c6 87config IPMI_POWERNV
599ea01c
KK
88 depends on PPC_POWERNV
89 tristate 'POWERNV (OPAL firmware) IPMI interface'
90 help
91 Provides a driver for OPAL firmware-based IPMI interfaces.
6a11e5c6 92
1da177e4 93config IPMI_WATCHDOG
599ea01c
KK
94 tristate 'IPMI Watchdog Timer'
95 help
96 This enables the IPMI watchdog timer.
1da177e4
LT
97
98config IPMI_POWEROFF
599ea01c
KK
99 tristate 'IPMI Poweroff'
100 help
101 This enables a function to power off the system with IPMI if
102 the IPMI management controller is capable of this.
1da177e4 103
bcf6b4bb 104endif # IPMI_HANDLER
54f9c4d0 105
20d60f61
HW
106config IPMI_KCS_BMC
107 tristate
108
be2ed207
HW
109config ASPEED_KCS_IPMI_BMC
110 depends on ARCH_ASPEED || COMPILE_TEST
111 select IPMI_KCS_BMC
112 select REGMAP_MMIO
113 tristate "Aspeed KCS IPMI BMC driver"
114 help
115 Provides a driver for the KCS (Keyboard Controller Style) IPMI
116 interface found on Aspeed SOCs (AST2400 and AST2500).
117
118 The driver implements the BMC side of the KCS contorller, it
119 provides the access of KCS IO space for BMC side.
120
6b2e54f7 121config NPCM7XX_KCS_IPMI_BMC
dfef1acc 122 depends on ARCH_NPCM || COMPILE_TEST
6b2e54f7
HW
123 select IPMI_KCS_BMC
124 select REGMAP_MMIO
dfef1acc 125 tristate "NPCM KCS IPMI BMC driver"
6b2e54f7
HW
126 help
127 Provides a driver for the KCS (Keyboard Controller Style) IPMI
dfef1acc 128 interface found on Nuvoton NPCM SOCs.
6b2e54f7
HW
129
130 The driver implements the BMC side of the KCS contorller, it
131 provides the access of KCS IO space for BMC side.
132
133 This support is also available as a module. If so, the module
134 will be called kcs_bmc_npcm7xx.
135
7cafff99
AJ
136config IPMI_KCS_BMC_CDEV_IPMI
137 depends on IPMI_KCS_BMC
138 tristate "IPMI character device interface for BMC KCS devices"
139 help
140 Provides a BMC-side character device implementing IPMI
141 semantics for KCS IPMI devices.
142
143 Say YES if you wish to expose KCS devices on the BMC for IPMI
144 purposes.
145
146 This support is also available as a module. The module will be
147 called kcs_bmc_cdev_ipmi.
148
3a3d2f6a
AJ
149config IPMI_KCS_BMC_SERIO
150 depends on IPMI_KCS_BMC && SERIO
151 tristate "SerIO adaptor for BMC KCS devices"
152 help
153 Adapts the BMC KCS device for the SerIO subsystem. This allows users
154 to take advantage of userspace interfaces provided by SerIO where
155 appropriate.
156
157 Say YES if you wish to expose KCS devices on the BMC via SerIO
158 interfaces.
159
160 This support is also available as a module. The module will be
161 called kcs_bmc_serio.
162
54f9c4d0 163config ASPEED_BT_IPMI_BMC
eb994594 164 depends on ARCH_ASPEED || COMPILE_TEST
2a587b9a
RD
165 depends on MFD_SYSCON
166 select REGMAP_MMIO
54f9c4d0
AP
167 tristate "BT IPMI bmc driver"
168 help
169 Provides a driver for the BT (Block Transfer) IPMI interface
170 found on Aspeed SOCs (AST2400 and AST2500). The driver
171 implements the BMC side of the BT interface.
51bd6f29 172
dd2bc5cc
QN
173config SSIF_IPMI_BMC
174 tristate "SSIF IPMI BMC driver"
175 depends on I2C && I2C_SLAVE
176 help
177 This enables the IPMI SMBus system interface (SSIF) at the
178 management (BMC) side.
179
180 The driver implements the BMC side of the SMBus system
181 interface (SSIF).
182
51bd6f29
AM
183config IPMB_DEVICE_INTERFACE
184 tristate 'IPMB Interface handler'
102308f5 185 depends on I2C
51bd6f29
AM
186 depends on I2C_SLAVE
187 help
188 Provides a driver for a device (Satellite MC) to
189 receive requests and send responses back to the BMC via
190 the IPMB interface. This module requires I2C support.