xref: /freebsd/sys/contrib/device-tree/Bindings/dma/nvidia,tegra210-adma.yaml (revision 8d13bc63c0e1d50bc9e47ac1f26329c999bfecf0)
15def4c47SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
25def4c47SEmmanuel Vadot%YAML 1.2
35def4c47SEmmanuel Vadot---
45def4c47SEmmanuel Vadot$id: http://devicetree.org/schemas/dma/nvidia,tegra210-adma.yaml#
55def4c47SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
65def4c47SEmmanuel Vadot
75def4c47SEmmanuel Vadottitle: NVIDIA Tegra Audio DMA (ADMA) controller
85def4c47SEmmanuel Vadot
95def4c47SEmmanuel Vadotdescription: |
105def4c47SEmmanuel Vadot  The Tegra Audio DMA controller is used for transferring data
115def4c47SEmmanuel Vadot  between system memory and the Audio Processing Engine (APE).
125def4c47SEmmanuel Vadot
135def4c47SEmmanuel Vadotmaintainers:
145def4c47SEmmanuel Vadot  - Jon Hunter <jonathanh@nvidia.com>
155def4c47SEmmanuel Vadot
165def4c47SEmmanuel VadotallOf:
17cb7aa33aSEmmanuel Vadot  - $ref: dma-controller.yaml#
185def4c47SEmmanuel Vadot
195def4c47SEmmanuel Vadotproperties:
205def4c47SEmmanuel Vadot  compatible:
215def4c47SEmmanuel Vadot    oneOf:
225def4c47SEmmanuel Vadot      - enum:
235def4c47SEmmanuel Vadot          - nvidia,tegra210-adma
245def4c47SEmmanuel Vadot          - nvidia,tegra186-adma
255def4c47SEmmanuel Vadot      - items:
26c9ccf3a3SEmmanuel Vadot          - enum:
27c9ccf3a3SEmmanuel Vadot              - nvidia,tegra234-adma
28c9ccf3a3SEmmanuel Vadot              - nvidia,tegra194-adma
295def4c47SEmmanuel Vadot          - const: nvidia,tegra186-adma
305def4c47SEmmanuel Vadot
315def4c47SEmmanuel Vadot  reg:
325def4c47SEmmanuel Vadot    maxItems: 1
335def4c47SEmmanuel Vadot
345def4c47SEmmanuel Vadot  interrupts:
355def4c47SEmmanuel Vadot    description: |
365def4c47SEmmanuel Vadot      Should contain all of the per-channel DMA interrupts in
375def4c47SEmmanuel Vadot      ascending order with respect to the DMA channel index.
385def4c47SEmmanuel Vadot    minItems: 1
395def4c47SEmmanuel Vadot    maxItems: 32
405def4c47SEmmanuel Vadot
415def4c47SEmmanuel Vadot  clocks:
425def4c47SEmmanuel Vadot    description: Must contain one entry for the ADMA module clock
435def4c47SEmmanuel Vadot    maxItems: 1
445def4c47SEmmanuel Vadot
455def4c47SEmmanuel Vadot  clock-names:
465def4c47SEmmanuel Vadot    const: d_audio
475def4c47SEmmanuel Vadot
485def4c47SEmmanuel Vadot  "#dma-cells":
495def4c47SEmmanuel Vadot    description: |
505def4c47SEmmanuel Vadot      The first cell denotes the receive/transmit request number and
515def4c47SEmmanuel Vadot      should be between 1 and the maximum number of requests supported.
525def4c47SEmmanuel Vadot      This value corresponds to the RX/TX_REQUEST_SELECT fields in the
535def4c47SEmmanuel Vadot      ADMA_CHn_CTRL register.
545def4c47SEmmanuel Vadot    const: 1
555def4c47SEmmanuel Vadot
56*8d13bc63SEmmanuel Vadot  dma-channel-mask:
57*8d13bc63SEmmanuel Vadot    maxItems: 1
58*8d13bc63SEmmanuel Vadot
595def4c47SEmmanuel Vadotrequired:
605def4c47SEmmanuel Vadot  - compatible
615def4c47SEmmanuel Vadot  - reg
625def4c47SEmmanuel Vadot  - interrupts
635def4c47SEmmanuel Vadot  - clocks
645def4c47SEmmanuel Vadot  - clock-names
655def4c47SEmmanuel Vadot
665def4c47SEmmanuel VadotadditionalProperties: false
675def4c47SEmmanuel Vadot
685def4c47SEmmanuel Vadotexamples:
695def4c47SEmmanuel Vadot  - |
705def4c47SEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
715def4c47SEmmanuel Vadot    #include<dt-bindings/clock/tegra210-car.h>
725def4c47SEmmanuel Vadot
735def4c47SEmmanuel Vadot    dma-controller@702e2000 {
745def4c47SEmmanuel Vadot        compatible = "nvidia,tegra210-adma";
755def4c47SEmmanuel Vadot        reg = <0x702e2000 0x2000>;
765def4c47SEmmanuel Vadot        interrupt-parent = <&tegra_agic>;
775def4c47SEmmanuel Vadot        interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>,
785def4c47SEmmanuel Vadot                     <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>,
795def4c47SEmmanuel Vadot                     <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>,
805def4c47SEmmanuel Vadot                     <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>,
815def4c47SEmmanuel Vadot                     <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>,
825def4c47SEmmanuel Vadot                     <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>,
835def4c47SEmmanuel Vadot                     <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>,
845def4c47SEmmanuel Vadot                     <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>,
855def4c47SEmmanuel Vadot                     <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>,
865def4c47SEmmanuel Vadot                     <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>,
875def4c47SEmmanuel Vadot                     <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>,
885def4c47SEmmanuel Vadot                     <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>,
895def4c47SEmmanuel Vadot                     <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>,
905def4c47SEmmanuel Vadot                     <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>,
915def4c47SEmmanuel Vadot                     <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>,
925def4c47SEmmanuel Vadot                     <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>,
935def4c47SEmmanuel Vadot                     <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>,
945def4c47SEmmanuel Vadot                     <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>,
955def4c47SEmmanuel Vadot                     <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>,
965def4c47SEmmanuel Vadot                     <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>,
975def4c47SEmmanuel Vadot                     <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>,
985def4c47SEmmanuel Vadot                     <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
995def4c47SEmmanuel Vadot        clocks = <&tegra_car TEGRA210_CLK_D_AUDIO>;
1005def4c47SEmmanuel Vadot        clock-names = "d_audio";
1015def4c47SEmmanuel Vadot        #dma-cells = <1>;
1025def4c47SEmmanuel Vadot    };
1035def4c47SEmmanuel Vadot
1045def4c47SEmmanuel Vadot...
105