| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120 |
- # SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause
- %YAML 1.2
- ---
- $id: http://devicetree.org/schemas/slimbus/qcom,slim-ngd.yaml#
- $schema: http://devicetree.org/meta-schemas/core.yaml#
- title: Qualcomm SoC SLIMBus Non Generic Device (NGD) Controller
- maintainers:
- - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
- - Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
- description:
- SLIMBus NGD controller is a light-weight driver responsible for communicating
- with SLIMBus slaves directly over the bus using messaging interface and
- communicating with master component residing on ADSP for bandwidth and
- data-channel management
- properties:
- compatible:
- enum:
- - qcom,slim-ngd-v1.5.0 # for MSM8996
- - qcom,slim-ngd-v2.1.0 # for SDM845
- reg:
- maxItems: 1
- "#address-cells":
- const: 1
- "#size-cells":
- const: 0
- dmas:
- maxItems: 2
- dma-names:
- items:
- - const: rx
- - const: tx
- interrupts:
- maxItems: 1
- iommus:
- maxItems: 1
- patternProperties:
- "^slim@[0-9a-f]+$":
- type: object
- $ref: slimbus.yaml#
- description:
- Each subnode represents an instance of NGD
- properties:
- reg:
- maxItems: 1
- unevaluatedProperties: false
- required:
- - compatible
- - reg
- - "#address-cells"
- - "#size-cells"
- - dmas
- - dma-names
- - interrupts
- additionalProperties: false
- examples:
- - |
- #include <dt-bindings/gpio/gpio.h>
- #include <dt-bindings/interrupt-controller/arm-gic.h>
- slim-ngd@171c0000 {
- compatible = "qcom,slim-ngd-v2.1.0";
- reg = <0x171c0000 0x2c000>;
- interrupts = <GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>;
- dmas = <&slimbam 3>, <&slimbam 4>;
- dma-names = "rx", "tx";
- iommus = <&apps_smmu 0x1806 0x0>;
- #address-cells = <1>;
- #size-cells = <0>;
- slim@1 {
- reg = <1>;
- #address-cells = <2>;
- #size-cells = <0>;
- codec@1,0 {
- compatible = "slim217,250";
- reg = <1 0>;
- slim-ifc-dev = <&wcd9340_ifd>;
- #sound-dai-cells = <1>;
- interrupts-extended = <&tlmm 54 IRQ_TYPE_LEVEL_HIGH>;
- interrupt-controller;
- #interrupt-cells = <1>;
- #clock-cells = <0>;
- clock-frequency = <9600000>;
- clock-output-names = "mclk";
- qcom,micbias1-microvolt = <1800000>;
- qcom,micbias2-microvolt = <1800000>;
- qcom,micbias3-microvolt = <1800000>;
- qcom,micbias4-microvolt = <1800000>;
- #address-cells = <1>;
- #size-cells = <1>;
- reset-gpios = <&tlmm 64 GPIO_ACTIVE_HIGH>;
- /* Rest of the WCD9340 codec */
- };
- };
- };
|