1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/dma/stm32/st,stm32-dmamux.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: STMicroelectronics STM32 DMA MUX (DMA request router)
8
9maintainers:
10  - Amelie Delaunay <[email protected]>
11
12allOf:
13  - $ref: /schemas/dma/dma-router.yaml#
14
15properties:
16  "#dma-cells":
17    const: 3
18    description: |
19      Each cell represents the following:
20      1. The mux input number/line for the request
21      2. Bitfield representing DMA channel configuration that is passed
22         to the real DMA controller
23      3. Bitfield representing device dependent DMA features passed to
24         the real DMA controller
25
26      For bitfield definitions of cells 2 and 3, see the associated
27      bindings doc for the actual DMA controller in st,stm32-dma.yaml.
28
29  compatible:
30    const: st,stm32h7-dmamux
31
32  reg:
33    maxItems: 1
34
35  clocks:
36    maxItems: 1
37
38  resets:
39    maxItems: 1
40
41  access-controllers:
42    minItems: 1
43    maxItems: 2
44
45required:
46  - compatible
47  - reg
48  - dma-masters
49
50unevaluatedProperties: false
51
52examples:
53  - |
54    #include <dt-bindings/interrupt-controller/arm-gic.h>
55    #include <dt-bindings/clock/stm32mp1-clks.h>
56    #include <dt-bindings/reset/stm32mp1-resets.h>
57    dma-router@40020800 {
58      compatible = "st,stm32h7-dmamux";
59      reg = <0x40020800 0x3c>;
60      #dma-cells = <3>;
61      dma-requests = <128>;
62      dma-channels = <16>;
63      dma-masters = <&dma1>, <&dma2>;
64      clocks = <&timer_clk>;
65    };
66
67...
68