5f115bb92a
Convert the Qualcomm SoC SLIMBus Non Generic Device (NGD) controller bindings to DT Schema. During conversion add iommus already present in DTS and extend the example based on SDM845. Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Reviewed-by: Rob Herring <robh@kernel.org> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Link: https://lore.kernel.org/r/20221118065246.6835-13-srinivas.kandagatla@linaro.org Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
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 */
|
|
};
|
|
};
|
|
};
|