1c53627f8SKrzysztof Kozlowski# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause 2c53627f8SKrzysztof Kozlowski%YAML 1.2 3c53627f8SKrzysztof Kozlowski--- 4c53627f8SKrzysztof Kozlowski$id: http://devicetree.org/schemas/slimbus/slimbus.yaml# 5c53627f8SKrzysztof Kozlowski$schema: http://devicetree.org/meta-schemas/core.yaml# 6c53627f8SKrzysztof Kozlowski 7c53627f8SKrzysztof Kozlowskititle: SLIM (Serial Low Power Interchip Media) bus 8c53627f8SKrzysztof Kozlowski 9c53627f8SKrzysztof Kozlowskimaintainers: 10c53627f8SKrzysztof Kozlowski - Srinivas Kandagatla <srinivas.kandagatla@linaro.org> 11c53627f8SKrzysztof Kozlowski 12c53627f8SKrzysztof Kozlowskidescription: 13c53627f8SKrzysztof Kozlowski SLIMbus is a 2-wire bus, and is used to communicate with peripheral 14c53627f8SKrzysztof Kozlowski components like audio-codec. 15c53627f8SKrzysztof Kozlowski 16c53627f8SKrzysztof Kozlowskiproperties: 17c53627f8SKrzysztof Kozlowski $nodename: 18*fee34f7bSKrzysztof Kozlowski pattern: "^slim(@.*|-([0-9]|[1-9][0-9]+))?$" 19c53627f8SKrzysztof Kozlowski 20c53627f8SKrzysztof Kozlowski "#address-cells": 21c53627f8SKrzysztof Kozlowski const: 2 22c53627f8SKrzysztof Kozlowski 23c53627f8SKrzysztof Kozlowski "#size-cells": 24c53627f8SKrzysztof Kozlowski const: 0 25c53627f8SKrzysztof Kozlowski 26c53627f8SKrzysztof KozlowskipatternProperties: 27c53627f8SKrzysztof Kozlowski "^.*@[0-9a-f]+,[0-9a-f]+$": 28c53627f8SKrzysztof Kozlowski type: object 29c53627f8SKrzysztof Kozlowski description: | 30c53627f8SKrzysztof Kozlowski Every SLIMbus controller node can contain zero or more child nodes 31c53627f8SKrzysztof Kozlowski representing slave devices on the bus. Every SLIMbus slave device is 32c53627f8SKrzysztof Kozlowski uniquely determined by the enumeration address containing 4 fields:: 33c53627f8SKrzysztof Kozlowski Manufacturer ID, Product code, Device index, and Instance value for the 34c53627f8SKrzysztof Kozlowski device. 35c53627f8SKrzysztof Kozlowski 36c53627f8SKrzysztof Kozlowski If child node is not present and it is instantiated after device 37c53627f8SKrzysztof Kozlowski discovery (slave device reporting itself present). 38c53627f8SKrzysztof Kozlowski 39c53627f8SKrzysztof Kozlowski In some cases it may be necessary to describe non-probeable device 40c53627f8SKrzysztof Kozlowski details such as non-standard ways of powering up a device. In such cases, 41c53627f8SKrzysztof Kozlowski child nodes for those devices will be present as slaves of the SLIMbus 42c53627f8SKrzysztof Kozlowski controller. 43c53627f8SKrzysztof Kozlowski 44c53627f8SKrzysztof Kozlowski properties: 45c53627f8SKrzysztof Kozlowski compatible: 46c53627f8SKrzysztof Kozlowski pattern: "^slim[0-9a-f]+,[0-9a-f]+$" 47c53627f8SKrzysztof Kozlowski 48c53627f8SKrzysztof Kozlowski reg: 49c53627f8SKrzysztof Kozlowski maxItems: 1 50c53627f8SKrzysztof Kozlowski description: | 51c53627f8SKrzysztof Kozlowski Pair of (device index, instande ID), where:: 52c53627f8SKrzysztof Kozlowski - Device index, which uniquely identifies multiple devices within a 53c53627f8SKrzysztof Kozlowski single component. 54c53627f8SKrzysztof Kozlowski - Instance ID, can be used for the cases where multiple devices of 55c53627f8SKrzysztof Kozlowski the same type or class are attached to the bus. 56c53627f8SKrzysztof Kozlowski 57c53627f8SKrzysztof Kozlowski required: 58c53627f8SKrzysztof Kozlowski - compatible 59c53627f8SKrzysztof Kozlowski - reg 60c53627f8SKrzysztof Kozlowski 61c53627f8SKrzysztof Kozlowski additionalProperties: true 62c53627f8SKrzysztof Kozlowski 63c53627f8SKrzysztof Kozlowskirequired: 64c53627f8SKrzysztof Kozlowski - "#address-cells" 65c53627f8SKrzysztof Kozlowski - "#size-cells" 66c53627f8SKrzysztof Kozlowski 67c53627f8SKrzysztof KozlowskiadditionalProperties: true 68c53627f8SKrzysztof Kozlowski 69c53627f8SKrzysztof Kozlowskiexamples: 70c53627f8SKrzysztof Kozlowski - | 71c53627f8SKrzysztof Kozlowski #include <dt-bindings/clock/qcom,gcc-msm8960.h> 72c53627f8SKrzysztof Kozlowski #include <dt-bindings/clock/qcom,lcc-msm8960.h> 73c53627f8SKrzysztof Kozlowski #include <dt-bindings/interrupt-controller/arm-gic.h> 74c53627f8SKrzysztof Kozlowski 75c53627f8SKrzysztof Kozlowski soc { 76c53627f8SKrzysztof Kozlowski #address-cells = <1>; 77c53627f8SKrzysztof Kozlowski #size-cells = <1>; 78c53627f8SKrzysztof Kozlowski ranges; 79c53627f8SKrzysztof Kozlowski 80c53627f8SKrzysztof Kozlowski slim@28080000 { 81c53627f8SKrzysztof Kozlowski compatible = "qcom,apq8064-slim", "qcom,slim"; 82c53627f8SKrzysztof Kozlowski reg = <0x28080000 0x2000>, <0x80207c 4>; 83c53627f8SKrzysztof Kozlowski reg-names = "ctrl", "slew"; 84c53627f8SKrzysztof Kozlowski interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>; 85c53627f8SKrzysztof Kozlowski clocks = <&lcc SLIMBUS_SRC>, <&lcc AUDIO_SLIMBUS_CLK>; 86c53627f8SKrzysztof Kozlowski clock-names = "iface", "core"; 87c53627f8SKrzysztof Kozlowski #address-cells = <2>; 88c53627f8SKrzysztof Kozlowski #size-cells = <0>; 89c53627f8SKrzysztof Kozlowski 90c53627f8SKrzysztof Kozlowski audio-codec@1,0 { 91c53627f8SKrzysztof Kozlowski compatible = "slim217,60"; 92c53627f8SKrzysztof Kozlowski reg = <1 0>; 93c53627f8SKrzysztof Kozlowski }; 94c53627f8SKrzysztof Kozlowski }; 95c53627f8SKrzysztof Kozlowski }; 96