Documentation / devicetree / bindings / dma / cirrus,ep9301-dma-m2m.yaml


Based on kernel version 6.12.4. Page generated on 2024-12-12 21:01 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
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/dma/cirrus,ep9301-dma-m2m.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Cirrus Logic ep93xx SoC DMA controller

maintainers:
  - Alexander Sverdlin <alexander.sverdlin@gmail.com>
  - Nikita Shubin <nikita.shubin@maquefel.me>

allOf:
  - $ref: dma-controller.yaml#

properties:
  compatible:
    oneOf:
      - const: cirrus,ep9301-dma-m2m
      - items:
          - enum:
              - cirrus,ep9302-dma-m2m
              - cirrus,ep9307-dma-m2m
              - cirrus,ep9312-dma-m2m
              - cirrus,ep9315-dma-m2m
          - const: cirrus,ep9301-dma-m2m

  reg:
    items:
      - description: m2m0 channel registers
      - description: m2m1 channel registers

  clocks:
    items:
      - description: m2m0 channel gate clock
      - description: m2m1 channel gate clock

  clock-names:
    items:
      - const: m2m0
      - const: m2m1

  interrupts:
    items:
      - description: m2m0 channel interrupt
      - description: m2m1 channel interrupt
 
  '#dma-cells':
    const: 2
    description: |
      The first cell is the unique device channel number as indicated by this
      table for ep93xx:
 
      10: SPI controller
      11: IDE controller
 
      The second cell is the DMA direction line number:
 
      1: Memory to device
      2: Device to memory

required:
  - compatible
  - reg
  - clocks
  - clock-names
  - interrupts

additionalProperties: false

examples:
  - |
    #include <dt-bindings/clock/cirrus,ep9301-syscon.h>
    dma-controller@80000100 {
        compatible = "cirrus,ep9301-dma-m2m";
        reg = <0x80000100 0x0040>,
              <0x80000140 0x0040>;
        clocks = <&syscon EP93XX_CLK_M2M0>,
                 <&syscon EP93XX_CLK_M2M1>;
        clock-names = "m2m0", "m2m1";
        interrupt-parent = <&vic0>;
        interrupts = <17>, <18>;
        #dma-cells = <2>;
    };