Commit 717bd3df authored by Krzysztof Kozlowski's avatar Krzysztof Kozlowski Committed by Greg Kroah-Hartman
Browse files

dt-bindings: slimbus: qcom,slim: convert to DT schema

parent c53627f8
Loading
Loading
Loading
Loading
+86 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/slimbus/qcom,slim.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Qualcomm SoC SLIMbus controller

maintainers:
  - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
  - Srinivas Kandagatla <srinivas.kandagatla@linaro.org>

description:
  SLIMbus controller used when applications processor controls SLIMbus master
  component.

allOf:
  - $ref: slimbus.yaml#

properties:
  compatible:
    items:
      - enum:
          - qcom,apq8064-slim
      - const: qcom,slim

  reg:
    items:
      - description: Physical address of controller register blocks
      - description: SLEW RATE register

  reg-names:
    items:
      - const: ctrl
      - const: slew

  clocks:
    items:
      - description: Interface clock for this controller
      - description: Interrupt for controller core's BAM

  clock-names:
    items:
      - const: iface
      - const: core

  interrupts:
    maxItems: 1

required:
  - compatible
  - reg
  - reg-names
  - clocks
  - clock-names
  - interrupts

unevaluatedProperties: false

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>;
            };
        };
    };
+0 −36
Original line number Diff line number Diff line
Qualcomm SLIMbus controller
This controller is used if applications processor driver controls SLIMbus
master component.

Required properties:

 - reg : Offset and length of the register region(s) for the device
 - reg-names : Register region name(s) referenced in reg above
	 Required register resource entries are:
	 "ctrl": Physical address of controller register blocks
 	 "slew": required for "qcom,apq8064-slim" SOC.
 - compatible : should be "qcom,<SOC-NAME>-slim" for SOC specific compatible
 		followed by "qcom,slim" for fallback.
 - interrupts : Interrupt number used by this controller
 - clocks : Interface and core clocks used by this SLIMbus controller
 - clock-names : Required clock-name entries are:
	"iface" : Interface clock for this controller
	"core" : Interrupt for controller core's BAM

Example:

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

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