1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/ipmi/ipmb-dev.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: The Intelligent Platform Management Bus(IPMB) Device 8 9description: | 10 The IPMB is an I2C bus which provides interconnection between a Baseboard 11 Management Controller(BMC) and chassis electronics. The BMC sends IPMI 12 requests to intelligent controllers like Satellite Management Controller(MC) 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, 15 either on a BMC or other MC. A miscellaneous device provices a user space 16 program to communicate with the kernel and the backend device. Some IPMB 17 devices only support the I2C protocol and not the SMB protocol. 18 19 IPMB communications protocol Specification V1.0 20 https://www.intel.com/content/dam/www/public/us/en/documents/product-briefs/ipmp-spec-v1.0.pdf 21 22maintainers: 23 - Ninad Palsule <ninad@linux.ibm.com> 24 25properties: 26 compatible: 27 enum: 28 - ipmb-dev 29 30 reg: 31 maxItems: 1 32 33 i2c-protocol: 34 description: 35 Use I2C block transfer instead of SMBUS block transfer. 36 type: boolean 37 38required: 39 - compatible 40 - reg 41 42additionalProperties: false 43 44examples: 45 - | 46 #include <dt-bindings/i2c/i2c.h> 47 i2c { 48 #address-cells = <1>; 49 #size-cells = <0>; 50 51 ipmb-dev@10 { 52 compatible = "ipmb-dev"; 53 reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>; 54 i2c-protocol; 55 }; 56 }; 57