Commit | Line | Data |
---|---|---|
ec8f24b7 | 1 | # SPDX-License-Identifier: GPL-2.0-only |
1da177e4 LT |
2 | # |
3 | # IPMI device configuration | |
4 | # | |
5 | ||
bcf6b4bb | 6 | menuconfig 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 | 21 | config IPMI_DMI_DECODE |
599ea01c KK |
22 | select IPMI_PLAT_DATA |
23 | bool | |
3cd83bac CM |
24 | |
25 | config IPMI_PLAT_DATA | |
599ea01c | 26 | bool |
9f88145f | 27 | |
bcf6b4bb JE |
28 | if IPMI_HANDLER |
29 | ||
1da177e4 | 30 | config 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 | |
40 | config 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 | |
56 | config 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 | |
62 | config 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 | 70 | config 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 |
78 | config 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 | 87 | config 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 | 93 | config IPMI_WATCHDOG |
599ea01c KK |
94 | tristate 'IPMI Watchdog Timer' |
95 | help | |
96 | This enables the IPMI watchdog timer. | |
1da177e4 LT |
97 | |
98 | config 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 | 104 | endif # IPMI_HANDLER |
54f9c4d0 | 105 | |
20d60f61 HW |
106 | config IPMI_KCS_BMC |
107 | tristate | |
108 | ||
be2ed207 HW |
109 | config 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 | 121 | config 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 |
136 | config 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 |
149 | config 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 | 163 | config 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 |
173 | config 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 |
183 | config 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. |