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