1# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/slimbus/qcom,slim-ngd.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Qualcomm SoC SLIMBus Non Generic Device (NGD) Controller 8 9maintainers: 10 - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> 11 - Srinivas Kandagatla <srinivas.kandagatla@linaro.org> 12 13description: 14 SLIMBus NGD controller is a light-weight driver responsible for communicating 15 with SLIMBus slaves directly over the bus using messaging interface and 16 communicating with master component residing on ADSP for bandwidth and 17 data-channel management 18 19properties: 20 compatible: 21 enum: 22 - qcom,slim-ngd-v1.5.0 # for MSM8996 23 - qcom,slim-ngd-v2.1.0 # for SDM845 24 25 reg: 26 maxItems: 1 27 28 "#address-cells": 29 const: 1 30 31 "#size-cells": 32 const: 0 33 34 dmas: 35 maxItems: 2 36 37 dma-names: 38 items: 39 - const: rx 40 - const: tx 41 42 interrupts: 43 maxItems: 1 44 45 iommus: 46 maxItems: 1 47 48patternProperties: 49 "^slim@[0-9a-f]+$": 50 type: object 51 $ref: slimbus.yaml# 52 description: 53 Each subnode represents an instance of NGD 54 55 properties: 56 reg: 57 maxItems: 1 58 59 unevaluatedProperties: false 60 61required: 62 - compatible 63 - reg 64 - "#address-cells" 65 - "#size-cells" 66 - dmas 67 - dma-names 68 - interrupts 69 70additionalProperties: false 71 72examples: 73 - | 74 #include <dt-bindings/gpio/gpio.h> 75 #include <dt-bindings/interrupt-controller/arm-gic.h> 76 77 slim-ngd@171c0000 { 78 compatible = "qcom,slim-ngd-v2.1.0"; 79 reg = <0x171c0000 0x2c000>; 80 interrupts = <GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>; 81 82 dmas = <&slimbam 3>, <&slimbam 4>; 83 dma-names = "rx", "tx"; 84 iommus = <&apps_smmu 0x1806 0x0>; 85 #address-cells = <1>; 86 #size-cells = <0>; 87 88 slim@1 { 89 reg = <1>; 90 #address-cells = <2>; 91 #size-cells = <0>; 92 93 codec@1,0 { 94 compatible = "slim217,250"; 95 reg = <1 0>; 96 slim-ifc-dev = <&wcd9340_ifd>; 97 98 #sound-dai-cells = <1>; 99 100 interrupts-extended = <&tlmm 54 IRQ_TYPE_LEVEL_HIGH>; 101 interrupt-controller; 102 #interrupt-cells = <1>; 103 104 #clock-cells = <0>; 105 clock-frequency = <9600000>; 106 clock-output-names = "mclk"; 107 qcom,micbias1-microvolt = <1800000>; 108 qcom,micbias2-microvolt = <1800000>; 109 qcom,micbias3-microvolt = <1800000>; 110 qcom,micbias4-microvolt = <1800000>; 111 112 #address-cells = <1>; 113 #size-cells = <1>; 114 115 reset-gpios = <&tlmm 64 GPIO_ACTIVE_HIGH>; 116 117 /* Rest of the WCD9340 codec */ 118 }; 119 }; 120 }; 121