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