1*ae5de77eSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2*ae5de77eSEmmanuel Vadot%YAML 1.2 3*ae5de77eSEmmanuel Vadot--- 4*ae5de77eSEmmanuel Vadot$id: http://devicetree.org/schemas/dma/nvidia,tegra20-apbdma.yaml# 5*ae5de77eSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6*ae5de77eSEmmanuel Vadot 7*ae5de77eSEmmanuel Vadottitle: NVIDIA Tegra APB DMA Controller 8*ae5de77eSEmmanuel Vadot 9*ae5de77eSEmmanuel Vadotdescription: 10*ae5de77eSEmmanuel Vadot The NVIDIA Tegra APB DMA controller is a hardware component that 11*ae5de77eSEmmanuel Vadot enables direct memory access (DMA) on Tegra systems. It facilitates 12*ae5de77eSEmmanuel Vadot data transfer between I/O devices and main memory without constant 13*ae5de77eSEmmanuel Vadot CPU intervention. 14*ae5de77eSEmmanuel Vadot 15*ae5de77eSEmmanuel Vadotmaintainers: 16*ae5de77eSEmmanuel Vadot - Jonathan Hunter <jonathanh@nvidia.com> 17*ae5de77eSEmmanuel Vadot 18*ae5de77eSEmmanuel Vadotproperties: 19*ae5de77eSEmmanuel Vadot compatible: 20*ae5de77eSEmmanuel Vadot oneOf: 21*ae5de77eSEmmanuel Vadot - const: nvidia,tegra20-apbdma 22*ae5de77eSEmmanuel Vadot - items: 23*ae5de77eSEmmanuel Vadot - const: nvidia,tegra30-apbdma 24*ae5de77eSEmmanuel Vadot - const: nvidia,tegra20-apbdma 25*ae5de77eSEmmanuel Vadot 26*ae5de77eSEmmanuel Vadot reg: 27*ae5de77eSEmmanuel Vadot maxItems: 1 28*ae5de77eSEmmanuel Vadot 29*ae5de77eSEmmanuel Vadot "#dma-cells": 30*ae5de77eSEmmanuel Vadot const: 1 31*ae5de77eSEmmanuel Vadot 32*ae5de77eSEmmanuel Vadot clocks: 33*ae5de77eSEmmanuel Vadot maxItems: 1 34*ae5de77eSEmmanuel Vadot 35*ae5de77eSEmmanuel Vadot interrupts: 36*ae5de77eSEmmanuel Vadot description: 37*ae5de77eSEmmanuel Vadot Should contain all of the per-channel DMA interrupts in 38*ae5de77eSEmmanuel Vadot ascending order with respect to the DMA channel index. 39*ae5de77eSEmmanuel Vadot minItems: 1 40*ae5de77eSEmmanuel Vadot maxItems: 32 41*ae5de77eSEmmanuel Vadot 42*ae5de77eSEmmanuel Vadot resets: 43*ae5de77eSEmmanuel Vadot maxItems: 1 44*ae5de77eSEmmanuel Vadot 45*ae5de77eSEmmanuel Vadot reset-names: 46*ae5de77eSEmmanuel Vadot const: dma 47*ae5de77eSEmmanuel Vadot 48*ae5de77eSEmmanuel Vadotrequired: 49*ae5de77eSEmmanuel Vadot - compatible 50*ae5de77eSEmmanuel Vadot - reg 51*ae5de77eSEmmanuel Vadot - "#dma-cells" 52*ae5de77eSEmmanuel Vadot - clocks 53*ae5de77eSEmmanuel Vadot - interrupts 54*ae5de77eSEmmanuel Vadot - resets 55*ae5de77eSEmmanuel Vadot - reset-names 56*ae5de77eSEmmanuel Vadot 57*ae5de77eSEmmanuel VadotallOf: 58*ae5de77eSEmmanuel Vadot - $ref: dma-controller.yaml# 59*ae5de77eSEmmanuel Vadot 60*ae5de77eSEmmanuel VadotunevaluatedProperties: false 61*ae5de77eSEmmanuel Vadot 62*ae5de77eSEmmanuel Vadotexamples: 63*ae5de77eSEmmanuel Vadot - | 64*ae5de77eSEmmanuel Vadot #include <dt-bindings/interrupt-controller/arm-gic.h> 65*ae5de77eSEmmanuel Vadot #include <dt-bindings/reset/tegra186-reset.h> 66*ae5de77eSEmmanuel Vadot dma-controller@6000a000 { 67*ae5de77eSEmmanuel Vadot compatible = "nvidia,tegra30-apbdma", "nvidia,tegra20-apbdma"; 68*ae5de77eSEmmanuel Vadot reg = <0x6000a000 0x1200>; 69*ae5de77eSEmmanuel Vadot interrupts = <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>, 70*ae5de77eSEmmanuel Vadot <GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>, 71*ae5de77eSEmmanuel Vadot <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>, 72*ae5de77eSEmmanuel Vadot <GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>, 73*ae5de77eSEmmanuel Vadot <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>, 74*ae5de77eSEmmanuel Vadot <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>, 75*ae5de77eSEmmanuel Vadot <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>, 76*ae5de77eSEmmanuel Vadot <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>, 77*ae5de77eSEmmanuel Vadot <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>, 78*ae5de77eSEmmanuel Vadot <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>, 79*ae5de77eSEmmanuel Vadot <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>, 80*ae5de77eSEmmanuel Vadot <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>, 81*ae5de77eSEmmanuel Vadot <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>, 82*ae5de77eSEmmanuel Vadot <GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>, 83*ae5de77eSEmmanuel Vadot <GIC_SPI 150 IRQ_TYPE_LEVEL_HIGH>, 84*ae5de77eSEmmanuel Vadot <GIC_SPI 151 IRQ_TYPE_LEVEL_HIGH>; 85*ae5de77eSEmmanuel Vadot clocks = <&tegra_car 34>; 86*ae5de77eSEmmanuel Vadot resets = <&tegra_car 34>; 87*ae5de77eSEmmanuel Vadot reset-names = "dma"; 88*ae5de77eSEmmanuel Vadot #dma-cells = <1>; 89*ae5de77eSEmmanuel Vadot }; 90*ae5de77eSEmmanuel Vadot... 91