/linux/Documentation/driver-api/ |
H A D | ipmb.rst | 2 IPMB Driver for a Satellite MC 5 The Intelligent Platform Management Bus or IPMB, is an 9 IPMB is also associated with the messaging protocol through the 10 IPMB bus. 12 The devices using the IPMB are usually management 15 hot-swapping disk drivers in the system chassis, etc... 17 When an IPMB is implemented in the system, the BMC serves as 18 a controller to give system software access to the IPMB. The BMC 20 Controller or Satellite MC) via IPMB and the device 23 For more information on IPMB and the format of an IPMB message, [all …]
|
H A D | ipmi.rst | 12 standardized database for field-replaceable units (FRUs) and a watchdog 25 ------------- 32 No matter what, you must pick 'IPMI top-level message handler' to use 35 The message handler does not provide any user-level interfaces. 50 these enabled and let the drivers auto-detect what is present. 61 "The SMBus Driver" on how to hand-configure your system. 65 the kernel, then via a kernel command-line option you can have the 74 'IPMI Poweroff' to do this. The driver will auto-detect if the system 89 ------------ 96 ipmi_msghandler - This is the central piece of software for the IPMI [all …]
|
/linux/Documentation/devicetree/bindings/ipmi/ |
H A D | ipmb-dev.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/ipmi/ipmb-dev.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: The Intelligent Platform Management Bus(IPMB) Device 10 The IPMB is an I2C bus which provides interconnection between a Baseboard 13 devices via IPMB and the device sends responses back to the BMC. 14 This device uses an I2C slave device to send and receive IPMB messages, 16 program to communicate with the kernel and the backend device. Some IPMB 19 IPMB communications protocol Specification V1.0 [all …]
|
H A D | ipmi-ipmb.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/ipmi/ipmi-ipmb.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: IPMI IPMB device 9 description: IPMI IPMB device bindings 12 - Corey Minyard <cminyard@mvista.com> 17 - ipmi-ipmb 21 - const: ipmi 28 description: The address of the BMC on the IPMB bus. Defaults to 0x20. [all …]
|
/linux/arch/arm/boot/dts/aspeed/ |
H A D | aspeed-bmc-facebook-greatlakes.dts | 1 // SPDX-License-Identifier: GPL-2.0-or-later 4 /dts-v1/; 5 #include "aspeed-g6.dtsi" 6 #include <dt-bindings/gpio/aspeed-gpio.h> 7 #include <dt-bindings/leds/leds-pca955x.h> 8 #include <dt-bindings/i2c/i2c.h> 12 compatible = "facebook,greatlakes-bmc", "aspeed,ast2600"; 23 iio-hwmon { 24 compatible = "iio-hwmon"; 25 io-channels = <&adc0 0>, <&adc0 1>, <&adc0 2>, <&adc0 3>, [all …]
|
H A D | aspeed-bmc-facebook-tiogapass.dts | 1 // SPDX-License-Identifier: GPL-2.0+ 4 /dts-v1/; 6 #include "aspeed-g5.dtsi" 7 #include <dt-bindings/gpio/aspeed-gpio.h> 8 #include <dt-bindings/i2c/i2c.h> 12 compatible = "facebook,tiogapass-bmc", "aspeed,ast2500"; 39 stdout-path = &uart5; 47 iio-hwmon { 48 compatible = "iio-hwmon"; 49 io-channels = <&adc 0>, <&adc 1>, <&adc 2>, <&adc 3>, [all …]
|
H A D | aspeed-bmc-inventec-transformers.dts | 1 // SPDX-License-Identifier: GPL-2.0-or-later 4 /dts-v1/; 6 #include "aspeed-g6.dtsi" 7 #include "aspeed-g6-pinctrl.dtsi" 8 #include <dt-bindings/i2c/i2c.h> 9 #include <dt-bindings/gpio/aspeed-gpio.h> 13 compatible = "inventec,transformer-bmc", "aspeed,ast2600"; 20 stdout-path = &uart5; 30 compatible = "gpio-leds"; 49 ethphy0: ethernet-phy@0 { [all …]
|
H A D | aspeed-bmc-facebook-harma.dts | 1 // SPDX-License-Identifier: GPL-2.0-or-later 4 /dts-v1/; 5 #include "aspeed-g6.dtsi" 6 #include <dt-bindings/gpio/aspeed-gpio.h> 7 #include <dt-bindings/i2c/i2c.h> 11 compatible = "facebook,harma-bmc", "aspeed,ast2600"; 32 stdout-path = &uart5; 40 iio-hwmon { 41 compatible = "iio-hwmon"; 42 io-channels = <&adc0 0>, <&adc0 1>, <&adc0 2>, <&adc0 3>, [all …]
|
H A D | aspeed-bmc-facebook-yosemite4.dts | 1 // SPDX-License-Identifier: GPL-2.0-or-later 4 /dts-v1/; 5 #include "aspeed-g6.dtsi" 6 #include <dt-bindings/gpio/aspeed-gpio.h> 7 #include <dt-bindings/leds/leds-pca955x.h> 8 #include <dt-bindings/i2c/i2c.h> 12 compatible = "facebook,yosemite4-bmc", "aspeed,ast2600"; 44 stdout-path = "serial4:57600n8"; 52 iio-hwmon { 53 compatible = "iio-hwmon"; [all …]
|
H A D | aspeed-bmc-ibm-system1.dts | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 /dts-v1/; 5 #include "aspeed-g6.dtsi" 6 #include <dt-bindings/gpio/aspeed-gpio.h> 7 #include <dt-bindings/i2c/i2c.h> 8 #include <dt-bindings/leds/leds-pca955x.h> 12 compatible = "ibm,system1-bmc", "aspeed,ast2600"; 74 stdout-path = "uart5:115200n8"; 82 reserved-memory { 83 #address-cells = <1>; [all …]
|
H A D | aspeed-bmc-bytedance-g220a.dts | 1 // SPDX-License-Identifier: GPL-2.0+ 3 /dts-v1/; 5 #include "aspeed-g5.dtsi" 6 #include <dt-bindings/gpio/aspeed-gpio.h> 7 #include <dt-bindings/i2c/i2c.h> 8 #include <dt-bindings/leds/leds-pca955x.h> 12 compatible = "bytedance,g220a-bmc", "aspeed,ast2500"; 57 stdout-path = &uart5; 65 reserved-memory { 66 #address-cells = <1>; [all …]
|
H A D | aspeed-bmc-facebook-bletchley.dts | 1 // SPDX-License-Identifier: GPL-2.0+ 3 /dts-v1/; 5 #include "aspeed-g6.dtsi" 6 #include <dt-bindings/gpio/aspeed-gpio.h> 7 #include <dt-bindings/usb/pd.h> 8 #include <dt-bindings/leds/leds-pca955x.h> 9 #include <dt-bindings/interrupt-controller/irq.h> 10 #include <dt-bindings/i2c/i2c.h> 14 compatible = "facebook,bletchley-bmc", "aspeed,ast2600"; 29 iio-hwmon { [all …]
|
/linux/include/linux/ |
H A D | ipmi_smi.h | 1 /* SPDX-License-Identifier: GPL-2.0+ */ 30 /* Structure for the low-level drivers. */ 48 * * IPMB (over a IPMB to another MC) 53 * +-----------+-----+------+ 55 * +-----------+-----+------+ 60 * +-----------+-----+------+------+ 62 * +-----------+-----+------+------+ 67 * In IPMB mode, we are acting as an IPMB device. Commands will be in 70 * +-------------+------+-------------+-----+------+ 72 * +-------------+------+-------------+-----+------+ [all …]
|
H A D | ipmi.h | 1 /* SPDX-License-Identifier: GPL-2.0+ */ 69 * Place-holder for the data, don't make any assumptions about 95 * Called when the interface detects a watchdog pre-timeout. If 141 * so some initialization code can come in and do the OEM-specific 162 * will be resent if no reply is received. If set to -1, the default 283 void (*new_smi)(int if_num, struct device *dev); 329 struct device *dev; member 344 /* Helper function for computing the IPMB checksum of some data. */
|
/linux/drivers/char/ipmi/ |
H A D | ipmi_ipmb.c | 1 // SPDX-License-Identifier: GPL-2.0 4 * Driver to talk to a remote management controller on IPMB. 22 #define DEVICE_NAME "ipmi-ipmb" 74 u8 *msg = iidev->rcvmsg; in valid_ipmb() 77 if (iidev->overrun) in valid_ipmb() 81 if (iidev->rcvlen < 7) in valid_ipmb() 88 if (iidev->rcvlen < 8) in valid_ipmb() 94 if (ipmb_checksum(msg + 3, iidev->rcvlen - 3) != 0) in valid_ipmb() 103 u8 *msg = iidev->rcvmsg; in ipmi_ipmb_check_msg_done() 107 if (iidev->rcvlen == 0) in ipmi_ipmb_check_msg_done() [all …]
|
H A D | ipmi_si_hotmod.c | 1 // SPDX-License-Identifier: GPL-2.0+ 21 …"Add and remove interfaces. See Documentation/driver-api/ipmi.rst in the kernel sources for the g… 31 * ipmb=<ipmb addr> 67 return -EINVAL; in parse_str() 80 return -EINVAL; in parse_str() 91 return -EINVAL; in check_hotmod_int_op() 96 return -EINVAL; in check_hotmod_int_op() 110 h->iftype = IPMI_PLAT_IF_SI; in parse_hotmod_str() 119 h->type = ival; in parse_hotmod_str() 124 h->space = ival; in parse_hotmod_str() [all …]
|
H A D | ipmi_msghandler.c | 1 // SPDX-License-Identifier: GPL-2.0+ 81 e = match_string(ipmi_panic_event_str, -1, strstrip(valcp)); in panic_op_write_handler() 111 /* Remain in auto-maintenance mode for this amount of time (in ms). */ 300 #define to_bmc_device(x) container_of((x), struct bmc_device, pdev.dev) 325 /* Commands we sent out to the IPMB bus. */ 328 /* Commands sent on the IPMB that had errors on the SEND CMD */ 347 /* Responses I have sent to the IPMB bus. */ 359 /* Commands we sent out to the IPMB bus. */ 362 /* Commands sent on the IPMB that had errors on the SEND CMD */ 374 /* Responses I have sent to the IPMB bus. */ [all …]
|
H A D | ipmi_ssif.c | 1 // SPDX-License-Identifier: GPL-2.0+ 12 * non-blocking I2C interface, add support for multi-part 63 /* ssif_debug is a bit-field 64 * SSIF_DEBUG_MSG - commands and their responses 65 * SSIF_DEBUG_STATES - message states 66 * SSIF_DEBUG_TIMING - Measure times between events in the driver 103 /* FIXME - add watchdog stuff. */ 106 #define IS_SSIF_IDLE(ssif) ((ssif)->ssif_state == SSIF_IDLE \ 107 && (ssif)->curr_msg == NULL) 187 struct device *dev; member [all …]
|
H A D | ipmi_si_intf.c | 1 // SPDX-License-Identifier: GPL-2.0+ 65 /* FIXME - add watchdog stuff. */ 68 /* Some BT-specific defines we need here. */ 73 /* 'invalid' to allow a firmware-specified interface to be disabled */ 147 * Per-OEM handler, called from handle_flags(). Returns 1 148 * when handle_flags() needs to be re-run or 0 indicating it 203 * memory. Once that situation clears up, it will re-enable 253 atomic_inc(&(smi)->stats[SI_STAT_ ## stat]) 255 ((unsigned int) atomic_read(&(smi)->stats[SI_STAT_ ## stat])) 276 dev_dbg(smi_info->io.dev, "**%s: %lld.%9.9ld\n", in debug_timestamp() [all …]
|
/linux/drivers/acpi/ |
H A D | acpi_ipmi.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * acpi_ipmi.c - ACPI IPMI opregion 37 struct device *dev; member 68 * In fact it can also be IPMB type. But we will have to 96 static void ipmi_register_bmc(int iface, struct device *dev); 114 ipmi_dev_alloc(int iface, struct device *dev, acpi_handle handle) in ipmi_dev_alloc() argument 124 kref_init(&ipmi_device->kref); in ipmi_dev_alloc() 125 INIT_LIST_HEAD(&ipmi_device->head); in ipmi_dev_alloc() 126 INIT_LIST_HEAD(&ipmi_device->tx_msg_list); in ipmi_dev_alloc() 127 spin_lock_init(&ipmi_device->tx_msg_lock); in ipmi_dev_alloc() [all …]
|