# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/slimbus/slimbus.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: SLIM (Serial Low Power Interchip Media) bus

maintainers:
  - Srinivas Kandagatla <srinivas.kandagatla@linaro.org>

description:
  SLIMbus is a 2-wire bus, and is used to communicate with peripheral
  components like audio-codec.

properties:
  $nodename:
    pattern: "^slim(@.*|-([0-9]|[1-9][0-9]+))?$"

  "#address-cells":
    const: 2

  "#size-cells":
    const: 0

patternProperties:
  "^.*@[0-9a-f]+,[0-9a-f]+$":
    type: object
    description: |
      Every SLIMbus controller node can contain zero or more child nodes
      representing slave devices on the bus. Every SLIMbus slave device is
      uniquely determined by the enumeration address containing 4 fields::
      Manufacturer ID, Product code, Device index, and Instance value for the
      device.

      If child node is not present and it is instantiated after device
      discovery (slave device reporting itself present).

      In some cases it may be necessary to describe non-probeable device
      details such as non-standard ways of powering up a device. In such cases,
      child nodes for those devices will be present as slaves of the SLIMbus
      controller.

    properties:
      compatible:
        pattern: "^slim[0-9a-f]+,[0-9a-f]+$"

      reg:
        maxItems: 1
        description: |
          Pair of (device index, instande ID), where::
           - Device index, which uniquely identifies multiple devices within a
             single component.
           - Instance ID, can be used for the cases where multiple devices of
             the same type or class are attached to the bus.

    required:
      - compatible
      - reg

    additionalProperties: true

required:
  - "#address-cells"
  - "#size-cells"

additionalProperties: true

examples:
  - |
    #include <dt-bindings/clock/qcom,gcc-msm8960.h>
    #include <dt-bindings/clock/qcom,lcc-msm8960.h>
    #include <dt-bindings/interrupt-controller/arm-gic.h>

    soc {
        #address-cells = <1>;
        #size-cells = <1>;
        ranges;

        slim@28080000 {
            compatible = "qcom,apq8064-slim", "qcom,slim";
            reg = <0x28080000 0x2000>, <0x80207c 4>;
            reg-names = "ctrl", "slew";
            interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
            clocks = <&lcc SLIMBUS_SRC>, <&lcc AUDIO_SLIMBUS_CLK>;
            clock-names = "iface", "core";
            #address-cells = <2>;
            #size-cells = <0>;

            audio-codec@1,0 {
                compatible = "slim217,60";
                reg = <1 0>;
            };
        };
    };
