blob: 3ad0d9b1fbc5e4f83dd316d1ad79773c288748ba [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/dma/qcom,bam-dma.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Qualcomm Technologies Inc BAM DMA controller
8
9maintainers:
10 - Andy Gross <agross@kernel.org>
11 - Bjorn Andersson <andersson@kernel.org>
12
13allOf:
14 - $ref: dma-controller.yaml#
15
16properties:
17 compatible:
18 oneOf:
19 - enum:
20 # APQ8064, IPQ8064 and MSM8960
21 - qcom,bam-v1.3.0
22 # MSM8974, APQ8074 and APQ8084
23 - qcom,bam-v1.4.0
24 # MSM8916, SDM630
25 - qcom,bam-v1.7.0
26 - items:
27 - enum:
28 # SDM845, SM6115, SM8150, SM8250 and QCM2290
29 - qcom,bam-v1.7.4
30 - const: qcom,bam-v1.7.0
31
32 clocks:
33 maxItems: 1
34
35 clock-names:
36 items:
37 - const: bam_clk
38
39 "#dma-cells":
40 const: 1
41
42 interrupts:
43 maxItems: 1
44
45 iommus:
46 minItems: 1
47 maxItems: 6
48
49 num-channels:
50 $ref: /schemas/types.yaml#/definitions/uint32
51 description:
52 Indicates supported number of DMA channels in a remotely controlled bam.
53
54 qcom,controlled-remotely:
55 type: boolean
56 description:
57 Indicates that the bam is controlled by remote processor i.e. execution
58 environment.
59
60 qcom,ee:
61 $ref: /schemas/types.yaml#/definitions/uint32
62 minimum: 0
63 maximum: 7
64 description:
65 Indicates the active Execution Environment identifier (0-7) used in the
66 secure world.
67
68 qcom,num-ees:
69 $ref: /schemas/types.yaml#/definitions/uint32
70 description:
71 Indicates supported number of Execution Environments in a remotely
72 controlled bam.
73
74 qcom,powered-remotely:
75 type: boolean
76 description:
77 Indicates that the bam is powered up by a remote processor but must be
78 initialized by the local processor.
79
80 reg:
81 maxItems: 1
82
83required:
84 - compatible
85 - "#dma-cells"
86 - interrupts
87 - qcom,ee
88 - reg
89
90anyOf:
91 - required:
92 - qcom,powered-remotely
93 - required:
94 - qcom,controlled-remotely
95 - required:
96 - clocks
97 - clock-names
98
99additionalProperties: false
100
101examples:
102 - |
103 #include <dt-bindings/interrupt-controller/arm-gic.h>
104 #include <dt-bindings/clock/qcom,gcc-msm8974.h>
105
106 dma-controller@f9944000 {
107 compatible = "qcom,bam-v1.4.0";
108 reg = <0xf9944000 0x19000>;
109 interrupts = <GIC_SPI 239 IRQ_TYPE_LEVEL_HIGH>;
110 clocks = <&gcc GCC_BLSP2_AHB_CLK>;
111 clock-names = "bam_clk";
112 #dma-cells = <1>;
113 qcom,ee = <0>;
114 };
115...