0001 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
0002 %YAML 1.2
0003 ---
0004 $id: http://devicetree.org/schemas/dma/qcom,bam-dma.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006
0007 title: Qualcomm Technologies Inc BAM DMA controller
0008
0009 maintainers:
0010 - Andy Gross <agross@kernel.org>
0011 - Bjorn Andersson <bjorn.andersson@linaro.org>
0012
0013 allOf:
0014 - $ref: "dma-controller.yaml#"
0015
0016 properties:
0017 compatible:
0018 enum:
0019 # APQ8064, IPQ8064 and MSM8960
0020 - qcom,bam-v1.3.0
0021 # MSM8974, APQ8074 and APQ8084
0022 - qcom,bam-v1.4.0
0023 # MSM8916
0024 - qcom,bam-v1.7.0
0025
0026 clocks:
0027 maxItems: 1
0028
0029 clock-names:
0030 items:
0031 - const: bam_clk
0032
0033 "#dma-cells":
0034 const: 1
0035
0036 interrupts:
0037 maxItems: 1
0038
0039 iommus:
0040 minItems: 1
0041 maxItems: 4
0042
0043 num-channels:
0044 $ref: /schemas/types.yaml#/definitions/uint32
0045 description:
0046 Indicates supported number of DMA channels in a remotely controlled bam.
0047
0048 qcom,controlled-remotely:
0049 type: boolean
0050 description:
0051 Indicates that the bam is controlled by remote proccessor i.e. execution
0052 environment.
0053
0054 qcom,ee:
0055 $ref: /schemas/types.yaml#/definitions/uint32
0056 minimum: 0
0057 maximum: 7
0058 description:
0059 Indicates the active Execution Environment identifier (0-7) used in the
0060 secure world.
0061
0062 qcom,num-ees:
0063 $ref: /schemas/types.yaml#/definitions/uint32
0064 description:
0065 Indicates supported number of Execution Environments in a remotely
0066 controlled bam.
0067
0068 qcom,powered-remotely:
0069 type: boolean
0070 description:
0071 Indicates that the bam is powered up by a remote processor but must be
0072 initialized by the local processor.
0073
0074 reg:
0075 maxItems: 1
0076
0077 required:
0078 - compatible
0079 - "#dma-cells"
0080 - interrupts
0081 - qcom,ee
0082 - reg
0083
0084 additionalProperties: false
0085
0086 examples:
0087 - |
0088 #include <dt-bindings/interrupt-controller/arm-gic.h>
0089 #include <dt-bindings/clock/qcom,gcc-msm8974.h>
0090
0091 dma-controller@f9944000 {
0092 compatible = "qcom,bam-v1.4.0";
0093 reg = <0xf9944000 0x15000>;
0094 interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>;
0095 clocks = <&gcc GCC_BLSP2_AHB_CLK>;
0096 clock-names = "bam_clk";
0097 #dma-cells = <1>;
0098 qcom,ee = <0>;
0099 };
0100 ...