Documentation/devicetree/bindings/ipmi/ipmb-dev.yaml

Source file repositories/reference/linux-study-clean/Documentation/devicetree/bindings/ipmi/ipmb-dev.yaml

File Facts

System
Linux kernel
Corpus path
Documentation/devicetree/bindings/ipmi/ipmb-dev.yaml
Extension
.yaml
Size
1579 bytes
Lines
57
Domain
Support Tooling And Documentation
Bucket
Documentation
Inferred role
Support Tooling And Documentation: configuration, schema, or hardware description
Status
atlas-only

Why This File Exists

Repository support layer: documentation, build tooling, samples, user-space helper tools, generated initramfs support, licenses, and validation utilities.

Dependency Surface

Detected Declarations

Annotated Snippet

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

Annotation

Implementation Notes