121 lines · yaml
1# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause2%YAML 1.23---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) Controller8 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 communicating15 with SLIMBus slaves directly over the bus using messaging interface and16 communicating with master component residing on ADSP for bandwidth and17 data-channel management18 19properties:20 compatible:21 enum:22 - qcom,slim-ngd-v1.5.0 # for MSM899623 - qcom,slim-ngd-v2.1.0 # for SDM84524 25 reg:26 maxItems: 127 28 "#address-cells":29 const: 130 31 "#size-cells":32 const: 033 34 dmas:35 maxItems: 236 37 dma-names:38 items:39 - const: rx40 - const: tx41 42 interrupts:43 maxItems: 144 45 iommus:46 maxItems: 147 48patternProperties:49 "^slim@[0-9a-f]+$":50 type: object51 $ref: slimbus.yaml#52 description:53 Each subnode represents an instance of NGD54 55 properties:56 reg:57 maxItems: 158 59 unevaluatedProperties: false60 61required:62 - compatible63 - reg64 - "#address-cells"65 - "#size-cells"66 - dmas67 - dma-names68 - interrupts69 70additionalProperties: false71 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