| # 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; |
| }; |
| }; |