1#
2# IPMI device configuration
3#
4
5menuconfig 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
20config IPMI_DMI_DECODE
21       bool
22
23if IPMI_HANDLER
24
25config 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
35config 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
51config 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
57config 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
64config 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
72config 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
78config IPMI_WATCHDOG
79       tristate 'IPMI Watchdog Timer'
80       help
81         This enables the IPMI watchdog timer.
82
83config 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
89endif # IPMI_HANDLER
90
91config IPMI_KCS_BMC
92	tristate
93
94config 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
106config 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
121config 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.
129