Loading...
1#
2# IPMI device configuration
3#
4
5menuconfig IPMI_HANDLER
6 tristate 'IPMI top-level message handler'
7 depends on HAS_IOMEM
8 help
9 This enables the central IPMI message handler, required for IPMI
10 to work.
11
12 IPMI is a standard for managing sensors (temperature,
13 voltage, etc.) in a system.
14
15 See <file:Documentation/IPMI.txt> for more details on the driver.
16
17 If unsure, say N.
18
19if IPMI_HANDLER
20
21config IPMI_PANIC_EVENT
22 bool 'Generate a panic event to all BMCs on a panic'
23 help
24 When a panic occurs, this will cause the IPMI message handler to
25 generate an IPMI event describing the panic to each interface
26 registered with the message handler.
27
28config IPMI_PANIC_STRING
29 bool 'Generate OEM events containing the panic string'
30 depends on IPMI_PANIC_EVENT
31 help
32 When a panic occurs, this will cause the IPMI message handler to
33 generate IPMI OEM type f0 events holding the IPMB address of the
34 panic generator (byte 4 of the event), a sequence number for the
35 string (byte 5 of the event) and part of the string (the rest of the
36 event). Bytes 1, 2, and 3 are the normal usage for an OEM event.
37 You can fetch these events and use the sequence numbers to piece the
38 string together.
39
40config IPMI_DEVICE_INTERFACE
41 tristate 'Device interface for IPMI'
42 help
43 This provides an IOCTL interface to the IPMI message handler so
44 userland processes may use IPMI. It supports poll() and select().
45
46config IPMI_SI
47 tristate 'IPMI System Interface handler'
48 help
49 Provides a driver for System Interfaces (KCS, SMIC, BT).
50 Currently, only KCS and SMIC are supported. If
51 you are using IPMI, you should probably say "y" here.
52
53config IPMI_WATCHDOG
54 tristate 'IPMI Watchdog Timer'
55 help
56 This enables the IPMI watchdog timer.
57
58config IPMI_POWEROFF
59 tristate 'IPMI Poweroff'
60 help
61 This enables a function to power off the system with IPMI if
62 the IPMI management controller is capable of this.
63
64endif # IPMI_HANDLER
1# SPDX-License-Identifier: GPL-2.0-only
2#
3# IPMI device configuration
4#
5
6menuconfig IPMI_HANDLER
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.
13
14 IPMI is a standard for managing sensors (temperature,
15 voltage, etc.) in a system.
16
17 See <file:Documentation/driver-api/ipmi.rst> for more details on the driver.
18
19 If unsure, say N.
20
21config IPMI_DMI_DECODE
22 select IPMI_PLAT_DATA
23 bool
24
25config IPMI_PLAT_DATA
26 bool
27
28if IPMI_HANDLER
29
30config IPMI_PANIC_EVENT
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".
39
40config IPMI_PANIC_STRING
41 bool 'Generate OEM events containing the panic string'
42 depends on IPMI_PANIC_EVENT
43 help
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".
55
56config IPMI_DEVICE_INTERFACE
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().
61
62config IPMI_SI
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.
69
70config IPMI_SSIF
71 tristate 'IPMI SMBus handler (SSIF)'
72 select I2C
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.
77
78config IPMI_POWERNV
79 depends on PPC_POWERNV
80 tristate 'POWERNV (OPAL firmware) IPMI interface'
81 help
82 Provides a driver for OPAL firmware-based IPMI interfaces.
83
84config IPMI_WATCHDOG
85 tristate 'IPMI Watchdog Timer'
86 help
87 This enables the IPMI watchdog timer.
88
89config IPMI_POWEROFF
90 tristate 'IPMI Poweroff'
91 help
92 This enables a function to power off the system with IPMI if
93 the IPMI management controller is capable of this.
94
95endif # IPMI_HANDLER
96
97config IPMI_KCS_BMC
98 tristate
99
100config ASPEED_KCS_IPMI_BMC
101 depends on ARCH_ASPEED || COMPILE_TEST
102 select IPMI_KCS_BMC
103 select REGMAP_MMIO
104 tristate "Aspeed KCS IPMI BMC driver"
105 help
106 Provides a driver for the KCS (Keyboard Controller Style) IPMI
107 interface found on Aspeed SOCs (AST2400 and AST2500).
108
109 The driver implements the BMC side of the KCS contorller, it
110 provides the access of KCS IO space for BMC side.
111
112config NPCM7XX_KCS_IPMI_BMC
113 depends on ARCH_NPCM7XX || COMPILE_TEST
114 select IPMI_KCS_BMC
115 select REGMAP_MMIO
116 tristate "NPCM7xx KCS IPMI BMC driver"
117 help
118 Provides a driver for the KCS (Keyboard Controller Style) IPMI
119 interface found on Nuvoton NPCM7xx SOCs.
120
121 The driver implements the BMC side of the KCS contorller, it
122 provides the access of KCS IO space for BMC side.
123
124 This support is also available as a module. If so, the module
125 will be called kcs_bmc_npcm7xx.
126
127config ASPEED_BT_IPMI_BMC
128 depends on ARCH_ASPEED || COMPILE_TEST
129 depends on REGMAP && REGMAP_MMIO && MFD_SYSCON
130 tristate "BT IPMI bmc driver"
131 help
132 Provides a driver for the BT (Block Transfer) IPMI interface
133 found on Aspeed SOCs (AST2400 and AST2500). The driver
134 implements the BMC side of the BT interface.
135
136config IPMB_DEVICE_INTERFACE
137 tristate 'IPMB Interface handler'
138 depends on I2C
139 depends on I2C_SLAVE
140 help
141 Provides a driver for a device (Satellite MC) to
142 receive requests and send responses back to the BMC via
143 the IPMB interface. This module requires I2C support.