GNU Linux-libre 4.19.286-gnu1
[releases.git] / drivers / char / ipmi / Kconfig
1 #
2 # IPMI device configuration
3 #
4
5 menuconfig 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
20 config IPMI_DMI_DECODE
21        bool
22
23 if IPMI_HANDLER
24
25 config IPMI_PANIC_EVENT
26        bool 'Generate a panic event to all BMCs on a panic'
27        help
28          When a panic occurs, this will cause the IPMI message handler to,
29          by default, generate an IPMI event describing the panic to each
30          interface registered with the message handler.  This is always
31          available, the module parameter for ipmi_msghandler named
32          panic_op can be set to "event" to chose this value, this config
33          simply causes the default value to be set to "event".
34
35 config IPMI_PANIC_STRING
36         bool 'Generate OEM events containing the panic string'
37         depends on IPMI_PANIC_EVENT
38         help
39           When a panic occurs, this will cause the IPMI message handler to,
40           by default, generate IPMI OEM type f0 events holding the IPMB
41           address of the panic generator (byte 4 of the event), a sequence
42           number for the string (byte 5 of the event) and part of the
43           string (the rest of the event).  Bytes 1, 2, and 3 are the normal
44           usage for an OEM event.  You can fetch these events and use the
45           sequence numbers to piece the string together.  This config
46           parameter sets the default value to generate these events,
47           the module parameter for ipmi_msghandler named panic_op can
48           be set to "string" to chose this value, this config simply
49           causes the default value to be set to "string".
50
51 config IPMI_DEVICE_INTERFACE
52        tristate 'Device interface for IPMI'
53        help
54          This provides an IOCTL interface to the IPMI message handler so
55          userland processes may use IPMI.  It supports poll() and select().
56
57 config IPMI_SI
58        tristate 'IPMI System Interface handler'
59        help
60          Provides a driver for System Interfaces (KCS, SMIC, BT).
61          Currently, only KCS and SMIC are supported.  If
62          you are using IPMI, you should probably say "y" here.
63
64 config IPMI_SSIF
65        tristate 'IPMI SMBus handler (SSIF)'
66        select I2C
67        help
68          Provides a driver for a SMBus interface to a BMC, meaning that you
69          have a driver that must be accessed over an I2C bus instead of a
70          standard interface.  This module requires I2C support.
71
72 config IPMI_POWERNV
73        depends on PPC_POWERNV
74        tristate 'POWERNV (OPAL firmware) IPMI interface'
75        help
76          Provides a driver for OPAL firmware-based IPMI interfaces.
77
78 config IPMI_WATCHDOG
79        tristate 'IPMI Watchdog Timer'
80        help
81          This enables the IPMI watchdog timer.
82
83 config IPMI_POWEROFF
84        tristate 'IPMI Poweroff'
85        help
86          This enables a function to power off the system with IPMI if
87          the IPMI management controller is capable of this.
88
89 endif # IPMI_HANDLER
90
91 config IPMI_KCS_BMC
92         tristate
93
94 config ASPEED_KCS_IPMI_BMC
95         depends on ARCH_ASPEED || COMPILE_TEST
96         select IPMI_KCS_BMC
97         select REGMAP_MMIO
98         tristate "Aspeed KCS IPMI BMC driver"
99         help
100           Provides a driver for the KCS (Keyboard Controller Style) IPMI
101           interface found on Aspeed SOCs (AST2400 and AST2500).
102
103           The driver implements the BMC side of the KCS contorller, it
104           provides the access of KCS IO space for BMC side.
105
106 config NPCM7XX_KCS_IPMI_BMC
107         depends on ARCH_NPCM7XX || COMPILE_TEST
108         select IPMI_KCS_BMC
109         select REGMAP_MMIO
110         tristate "NPCM7xx KCS IPMI BMC driver"
111         help
112           Provides a driver for the KCS (Keyboard Controller Style) IPMI
113           interface found on Nuvoton NPCM7xx SOCs.
114
115           The driver implements the BMC side of the KCS contorller, it
116           provides the access of KCS IO space for BMC side.
117
118           This support is also available as a module.  If so, the module
119           will be called kcs_bmc_npcm7xx.
120
121 config ASPEED_BT_IPMI_BMC
122         depends on ARCH_ASPEED || COMPILE_TEST
123        depends on REGMAP && REGMAP_MMIO && MFD_SYSCON
124         tristate "BT IPMI bmc driver"
125         help
126           Provides a driver for the BT (Block Transfer) IPMI interface
127           found on Aspeed SOCs (AST2400 and AST2500). The driver
128           implements the BMC side of the BT interface.