Commit fdab2dc5 authored by Andre Przywara's avatar Andre Przywara Committed by Rob Herring
Browse files

dt-bindings: ipmi: Convert IPMI-SMIC bindings to json-schema



Convert the generic IPMI controller bindings to DT schema format
using json-schema.

The device_type property is deprecated for most node per the DT spec,
but at least the Linux driver matches on it, so I keep it in.

The Linux driver parses for some additional and optional properties,
but there are no in-tree users. Let's allow extra properties to cover
any other users.

Signed-off-by: default avatarAndre Przywara <andre.przywara@arm.com>
Signed-off-by: default avatarRob Herring <robh@kernel.org>
parent a6325e3e
Loading
Loading
Loading
Loading
+0 −25
Original line number Diff line number Diff line
IPMI device

Required properties:
- compatible: should be one of ipmi-kcs, ipmi-smic, or ipmi-bt
- device_type: should be ipmi
- reg: Address and length of the register set for the device

Optional properties:
- interrupts: The interrupt for the device.  Without this the interface
	is polled.
- reg-size - The size of the register.  Defaults to 1
- reg-spacing - The number of bytes between register starts.  Defaults to 1
- reg-shift - The amount to shift the registers to the right to get the data
	into bit zero.

Example:

smic@fff3a000 {
	compatible = "ipmi-smic";
	device_type = "ipmi";
	reg = <0xfff3a000 0x1000>;
	interrupts = <0 24 4>;
	reg-size = <4>;
	reg-spacing = <4>;
};
+63 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/ipmi/ipmi-smic.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: IPMI device bindings

description: IPMI device bindings

maintainers:
  - Corey Minyard <cminyard@mvista.com>

properties:
  compatible:
    enum:
      - ipmi-kcs
      - ipmi-smic
      - ipmi-bt

  device_type:
    items:
      - const: "ipmi"

  reg:
    maxItems: 1

  interrupts:
    description: Interface is polled if this property is omitted.
    maxItems: 1

  reg-size:
    description: The access width of the register in bytes. Defaults to 1.
    allOf:
      - $ref: /schemas/types.yaml#/definitions/uint32
      - enum: [1, 2, 4, 8]

  reg-spacing:
    $ref: /schemas/types.yaml#/definitions/uint32
    description: The number of bytes between register starts. Defaults to 1.

  reg-shift:
    description: |
      The amount of bits to shift the register content to the right to get
      the data into bit zero.
    allOf:
      - $ref: /schemas/types.yaml#/definitions/uint32
      - maximum: 56

required:
  - compatible
  - reg

examples:
  - |
    smic@fff3a000 {
        compatible = "ipmi-smic";
        device_type = "ipmi";
        reg = <0xfff3a000 0x1000>;
        interrupts = <0 24 4>;
        reg-size = <4>;
        reg-spacing = <4>;
    };