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