Back to home page

OSCL-LXR

 
 

    


0001 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
0002 %YAML 1.2
0003 ---
0004 $id: http://devicetree.org/schemas/dma/nvidia,tegra210-adma.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006 
0007 title: NVIDIA Tegra Audio DMA (ADMA) controller
0008 
0009 description: |
0010   The Tegra Audio DMA controller is used for transferring data
0011   between system memory and the Audio Processing Engine (APE).
0012 
0013 maintainers:
0014   - Jon Hunter <jonathanh@nvidia.com>
0015 
0016 allOf:
0017   - $ref: "dma-controller.yaml#"
0018 
0019 properties:
0020   compatible:
0021     oneOf:
0022       - enum:
0023           - nvidia,tegra210-adma
0024           - nvidia,tegra186-adma
0025       - items:
0026           - enum:
0027               - nvidia,tegra234-adma
0028               - nvidia,tegra194-adma
0029           - const: nvidia,tegra186-adma
0030 
0031   reg:
0032     maxItems: 1
0033 
0034   interrupts:
0035     description: |
0036       Should contain all of the per-channel DMA interrupts in
0037       ascending order with respect to the DMA channel index.
0038     minItems: 1
0039     maxItems: 32
0040 
0041   clocks:
0042     description: Must contain one entry for the ADMA module clock
0043     maxItems: 1
0044 
0045   clock-names:
0046     const: d_audio
0047 
0048   "#dma-cells":
0049     description: |
0050       The first cell denotes the receive/transmit request number and
0051       should be between 1 and the maximum number of requests supported.
0052       This value corresponds to the RX/TX_REQUEST_SELECT fields in the
0053       ADMA_CHn_CTRL register.
0054     const: 1
0055 
0056 required:
0057   - compatible
0058   - reg
0059   - interrupts
0060   - clocks
0061   - clock-names
0062 
0063 additionalProperties: false
0064 
0065 examples:
0066   - |
0067     #include <dt-bindings/interrupt-controller/arm-gic.h>
0068     #include<dt-bindings/clock/tegra210-car.h>
0069 
0070     dma-controller@702e2000 {
0071         compatible = "nvidia,tegra210-adma";
0072         reg = <0x702e2000 0x2000>;
0073         interrupt-parent = <&tegra_agic>;
0074         interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>,
0075                      <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>,
0076                      <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>,
0077                      <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>,
0078                      <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>,
0079                      <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>,
0080                      <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>,
0081                      <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>,
0082                      <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>,
0083                      <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>,
0084                      <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>,
0085                      <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>,
0086                      <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>,
0087                      <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>,
0088                      <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>,
0089                      <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>,
0090                      <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>,
0091                      <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>,
0092                      <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>,
0093                      <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>,
0094                      <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>,
0095                      <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
0096         clocks = <&tegra_car TEGRA210_CLK_D_AUDIO>;
0097         clock-names = "d_audio";
0098         #dma-cells = <1>;
0099     };
0100 
0101 ...