xref: /openbmc/linux/Documentation/devicetree/bindings/dma/nvidia,tegra186-gpc-dma.yaml (revision 9a87ffc99ec8eb8d35eed7c4f816d75f5cc9662e)
172910626SAkhil R# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
272910626SAkhil R%YAML 1.2
372910626SAkhil R---
472910626SAkhil R$id: http://devicetree.org/schemas/dma/nvidia,tegra186-gpc-dma.yaml#
572910626SAkhil R$schema: http://devicetree.org/meta-schemas/core.yaml#
672910626SAkhil R
7dd3cb467SAndrew Lunntitle: NVIDIA Tegra GPC DMA Controller
872910626SAkhil R
972910626SAkhil Rdescription: |
1072910626SAkhil R  The Tegra General Purpose Central (GPC) DMA controller is used for faster
1172910626SAkhil R  data transfers between memory to memory, memory to device and device to
1272910626SAkhil R  memory.
1372910626SAkhil R
1472910626SAkhil Rmaintainers:
1572910626SAkhil R  - Jon Hunter <jonathanh@nvidia.com>
1672910626SAkhil R  - Rajesh Gumasta <rgumasta@nvidia.com>
1772910626SAkhil R
1872910626SAkhil RallOf:
19*10cafa2dSKrzysztof Kozlowski  - $ref: dma-controller.yaml#
2072910626SAkhil R
2172910626SAkhil Rproperties:
2272910626SAkhil R  compatible:
2372910626SAkhil R    oneOf:
2472910626SAkhil R      - const: nvidia,tegra186-gpcdma
2572910626SAkhil R      - items:
2637a0d69dSAkhil R          - enum:
2737a0d69dSAkhil R              - nvidia,tegra234-gpcdma
2837a0d69dSAkhil R              - nvidia,tegra194-gpcdma
2972910626SAkhil R          - const: nvidia,tegra186-gpcdma
3072910626SAkhil R
3172910626SAkhil R  "#dma-cells":
3272910626SAkhil R    const: 1
3372910626SAkhil R
3472910626SAkhil R  reg:
3572910626SAkhil R    maxItems: 1
3672910626SAkhil R
3772910626SAkhil R  interrupts:
3872910626SAkhil R    description:
3972910626SAkhil R      Should contain all of the per-channel DMA interrupts in
4072910626SAkhil R      ascending order with respect to the DMA channel index.
4172910626SAkhil R    minItems: 1
42d57b2a65SAkhil R    maxItems: 32
4372910626SAkhil R
4472910626SAkhil R  resets:
4572910626SAkhil R    maxItems: 1
4672910626SAkhil R
4772910626SAkhil R  reset-names:
4872910626SAkhil R    const: gpcdma
4972910626SAkhil R
5072910626SAkhil R  iommus:
5172910626SAkhil R    maxItems: 1
5272910626SAkhil R
5372910626SAkhil R  dma-coherent: true
5472910626SAkhil R
55d57b2a65SAkhil R  dma-channel-mask:
56d57b2a65SAkhil R    maxItems: 1
57d57b2a65SAkhil R
5872910626SAkhil Rrequired:
5972910626SAkhil R  - compatible
6072910626SAkhil R  - reg
6172910626SAkhil R  - interrupts
6272910626SAkhil R  - resets
6372910626SAkhil R  - reset-names
6472910626SAkhil R  - "#dma-cells"
6572910626SAkhil R  - iommus
66d57b2a65SAkhil R  - dma-channel-mask
6772910626SAkhil R
6872910626SAkhil RadditionalProperties: false
6972910626SAkhil R
7072910626SAkhil Rexamples:
7172910626SAkhil R  - |
7272910626SAkhil R    #include <dt-bindings/interrupt-controller/arm-gic.h>
7372910626SAkhil R    #include <dt-bindings/memory/tegra186-mc.h>
7472910626SAkhil R    #include <dt-bindings/reset/tegra186-reset.h>
7572910626SAkhil R
7672910626SAkhil R    dma-controller@2600000 {
7772910626SAkhil R        compatible = "nvidia,tegra186-gpcdma";
7872910626SAkhil R        reg = <0x2600000 0x210000>;
7972910626SAkhil R        resets = <&bpmp TEGRA186_RESET_GPCDMA>;
8072910626SAkhil R        reset-names = "gpcdma";
8172910626SAkhil R        interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>,
8272910626SAkhil R                     <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>,
8372910626SAkhil R                     <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>,
8472910626SAkhil R                     <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>,
8572910626SAkhil R                     <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>,
8672910626SAkhil R                     <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>,
8772910626SAkhil R                     <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>,
8872910626SAkhil R                     <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>,
8972910626SAkhil R                     <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>,
9072910626SAkhil R                     <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>,
9172910626SAkhil R                     <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>,
9272910626SAkhil R                     <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>,
9372910626SAkhil R                     <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>,
9472910626SAkhil R                     <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>,
9572910626SAkhil R                     <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>,
9672910626SAkhil R                     <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>,
9772910626SAkhil R                     <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>,
9872910626SAkhil R                     <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>,
9972910626SAkhil R                     <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>,
10072910626SAkhil R                     <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>,
10172910626SAkhil R                     <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>,
10272910626SAkhil R                     <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>,
10372910626SAkhil R                     <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>,
10472910626SAkhil R                     <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>,
10572910626SAkhil R                     <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>,
10672910626SAkhil R                     <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>,
10772910626SAkhil R                     <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>,
10872910626SAkhil R                     <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>,
10972910626SAkhil R                     <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>,
11072910626SAkhil R                     <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>,
11172910626SAkhil R                     <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
11272910626SAkhil R        #dma-cells = <1>;
11372910626SAkhil R        iommus = <&smmu TEGRA186_SID_GPCDMA_0>;
11472910626SAkhil R        dma-coherent;
115d57b2a65SAkhil R        dma-channel-mask = <0xfffffffe>;
11672910626SAkhil R    };
11772910626SAkhil R...
118