| # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) | |
| %YAML 1.2 | |
| --- | |
| $id: http://devicetree.org/schemas/ipmi/ipmb-dev.yaml# | |
| $schema: http://devicetree.org/meta-schemas/core.yaml# | |
| title: The Intelligent Platform Management Bus(IPMB) Device | |
| description: | | |
| The IPMB is an I2C bus which provides interconnection between a Baseboard | |
| Management Controller(BMC) and chassis electronics. The BMC sends IPMI | |
| requests to intelligent controllers like Satellite Management Controller(MC) | |
| devices via IPMB and the device sends responses back to the BMC. | |
| This device uses an I2C slave device to send and receive IPMB messages, | |
| either on a BMC or other MC. A miscellaneous device provices a user space | |
| program to communicate with the kernel and the backend device. Some IPMB | |
| devices only support the I2C protocol and not the SMB protocol. | |
| IPMB communications protocol Specification V1.0 | |
| https://www.intel.com/content/dam/www/public/us/en/documents/product-briefs/ipmp-spec-v1.0.pdf | |
| maintainers: | |
| - Ninad Palsule <ninad@linux.ibm.com> | |
| properties: | |
| compatible: | |
| enum: | |
| - ipmb-dev | |
| reg: | |
| maxItems: 1 | |
| i2c-protocol: | |
| description: | |
| Use I2C block transfer instead of SMBUS block transfer. | |
| type: boolean | |
| required: | |
| - compatible | |
| - reg | |
| additionalProperties: false | |
| examples: | |
| - | | |
| #include <dt-bindings/i2c/i2c.h> | |
| i2c { | |
| #address-cells = <1>; | |
| #size-cells = <0>; | |
| ipmb-dev@10 { | |
| compatible = "ipmb-dev"; | |
| reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>; | |
| i2c-protocol; | |
| }; | |
| }; |