121 lines
2.8 KiB
YAML
121 lines
2.8 KiB
YAML
|
# 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 */
|
||
|
};
|
||
|
};
|
||
|
};
|