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