linux-loongson/Documentation/devicetree/bindings/ipmi/ipmb-dev.yaml
Ninad Palsule 6b357c149e dt-bindings: ipmi: Add binding for IPMB device
Add device tree binding document for the IPMB device interface.
This device is already in use in both driver and .dts files.

Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
Signed-off-by: Ninad Palsule <ninad@linux.ibm.com>
Acked-by: Corey Minyard <corey@minyard.net>
Link: https://patch.msgid.link/20250204194115.3899174-2-ninad@linux.ibm.com
Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
2025-06-11 13:49:18 +09:30

57 lines
1.5 KiB
YAML

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