summaryrefslogtreecommitdiff
path: root/drivers/char/ipmi/Kconfig
blob: 19f1efc0bc3d318010147170e0596880ee6964aa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
# SPDX-License-Identifier: GPL-2.0-only
#
# IPMI device configuration
#

menuconfig IPMI_HANDLER
	tristate 'IPMI top-level message handler'
	depends on HAS_IOMEM
	select IPMI_DMI_DECODE if DMI
	help
	  This enables the central IPMI message handler, required for IPMI
	  to work.

	  IPMI is a standard for managing sensors (temperature,
	  voltage, etc.) in a system.

	  See <file:Documentation/driver-api/ipmi.rst> for more details on the driver.

	  If unsure, say N.

config IPMI_DMI_DECODE
	select IPMI_PLAT_DATA
	bool

config IPMI_PLAT_DATA
	bool

if IPMI_HANDLER

config IPMI_PANIC_EVENT
	bool 'Generate a panic event to all BMCs on a panic'
	help
	  When a panic occurs, this will cause the IPMI message handler to,
	  by default, generate an IPMI event describing the panic to each
	  interface registered with the message handler.  This is always
	  available, the module parameter for ipmi_msghandler named
	  panic_op can be set to "event" to chose this value, this config
	  simply causes the default value to be set to "event".

config IPMI_PANIC_STRING
	bool 'Generate OEM events containing the panic string'
	depends on IPMI_PANIC_EVENT
	help
	  When a panic occurs, this will cause the IPMI message handler to,
	  by default, generate IPMI OEM type f0 events holding the IPMB
	  address of the panic generator (byte 4 of the event), a sequence
	  number for the string (byte 5 of the event) and part of the
	  string (the rest of the event).  Bytes 1, 2, and 3 are the normal
	  usage for an OEM event.  You can fetch these events and use the
	  sequence numbers to piece the string together.  This config
	  parameter sets the default value to generate these events,
	  the module parameter for ipmi_msghandler named panic_op can
	  be set to "string" to chose this value, this config simply
	  causes the default value to be set to "string".

config IPMI_DEVICE_INTERFACE
	tristate 'Device interface for IPMI'
	help
	  This provides an IOCTL interface to the IPMI message handler so
	  userland processes may use IPMI.  It supports poll() and select().

config IPMI_SI
	tristate 'IPMI System Interface handler'
	select IPMI_PLAT_DATA
	help
	  Provides a driver for System Interfaces (KCS, SMIC, BT).
	  Currently, only KCS and SMIC are supported.  If
	  you are using IPMI, you should probably say "y" here.

config IPMI_SSIF
	tristate 'IPMI SMBus handler (SSIF)'
	select I2C
	help
	  Provides a driver for a SMBus interface to a BMC, meaning that you
	  have a driver that must be accessed over an I2C bus instead of a
	  standard interface.  This module requires I2C support.

config IPMI_POWERNV
	depends on PPC_POWERNV
	tristate 'POWERNV (OPAL firmware) IPMI interface'
	help
	  Provides a driver for OPAL firmware-based IPMI interfaces.

config IPMI_WATCHDOG
	tristate 'IPMI Watchdog Timer'
	help
	  This enables the IPMI watchdog timer.

config IPMI_POWEROFF
	tristate 'IPMI Poweroff'
	help
	  This enables a function to power off the system with IPMI if
	  the IPMI management controller is capable of this.

endif # IPMI_HANDLER

config IPMI_KCS_BMC
	tristate

config ASPEED_KCS_IPMI_BMC
	depends on ARCH_ASPEED || COMPILE_TEST
	select IPMI_KCS_BMC
	select REGMAP_MMIO
	tristate "Aspeed KCS IPMI BMC driver"
	help
	  Provides a driver for the KCS (Keyboard Controller Style) IPMI
	  interface found on Aspeed SOCs (AST2400 and AST2500).

	  The driver implements the BMC side of the KCS contorller, it
	  provides the access of KCS IO space for BMC side.

config NPCM7XX_KCS_IPMI_BMC
	depends on ARCH_NPCM7XX || COMPILE_TEST
	select IPMI_KCS_BMC
	select REGMAP_MMIO
	tristate "NPCM7xx KCS IPMI BMC driver"
	help
	  Provides a driver for the KCS (Keyboard Controller Style) IPMI
	  interface found on Nuvoton NPCM7xx SOCs.

	  The driver implements the BMC side of the KCS contorller, it
	  provides the access of KCS IO space for BMC side.

	  This support is also available as a module.  If so, the module
	  will be called kcs_bmc_npcm7xx.

config IPMI_KCS_BMC_CDEV_IPMI
	depends on IPMI_KCS_BMC
	tristate "IPMI character device interface for BMC KCS devices"
	help
	  Provides a BMC-side character device implementing IPMI
	  semantics for KCS IPMI devices.

	  Say YES if you wish to expose KCS devices on the BMC for IPMI
	  purposes.

	  This support is also available as a module. The module will be
	  called kcs_bmc_cdev_ipmi.

config IPMI_KCS_BMC_SERIO
	depends on IPMI_KCS_BMC && SERIO
	tristate "SerIO adaptor for BMC KCS devices"
	help
	  Adapts the BMC KCS device for the SerIO subsystem. This allows users
	  to take advantage of userspace interfaces provided by SerIO where
	  appropriate.

	  Say YES if you wish to expose KCS devices on the BMC via SerIO
	  interfaces.

	  This support is also available as a module. The module will be
	  called kcs_bmc_serio.

config IPMI_KCS_BMC_CDEV_RAW
	depends on IPMI_KCS_BMC
	tristate "Raw character device interface for BMC KCS devices"
	help
	  Provides a BMC-side character device directly exposing the
	  data and status registers of a KCS device to userspace. While
	  KCS devices are commonly used to implement IPMI message
	  passing, they provide a general interface for exchange of
	  interrupts, data and status information between the BMC and
	  its host.

	  Say YES if you wish to use the KCS devices to implement
	  protocols that are not IPMI.

	  This support is also available as a module. The module will be
	  called kcs_bmc_cdev_raw.

config ASPEED_BT_IPMI_BMC
	depends on ARCH_ASPEED || COMPILE_TEST
	depends on REGMAP && REGMAP_MMIO && MFD_SYSCON
	tristate "BT IPMI bmc driver"
	help
	  Provides a driver for the BT (Block Transfer) IPMI interface
	  found on Aspeed SOCs (AST2400 and AST2500). The driver
	  implements the BMC side of the BT interface.

config IPMB_DEVICE_INTERFACE
	tristate 'IPMB Interface handler'
	depends on I2C
	depends on I2C_SLAVE
	help
	  Provides a driver for a device (Satellite MC) to
	  receive requests and send responses back to the BMC via
	  the IPMB interface. This module requires I2C support.