xref: /freebsd/sys/contrib/device-tree/Bindings/dma/sifive,fu540-c000-pdma.yaml (revision 8d13bc63c0e1d50bc9e47ac1f26329c999bfecf0)
1c66ec88fSEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0
2c66ec88fSEmmanuel Vadot%YAML 1.2
3c66ec88fSEmmanuel Vadot---
4c66ec88fSEmmanuel Vadot$id: http://devicetree.org/schemas/dma/sifive,fu540-c000-pdma.yaml#
5c66ec88fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6c66ec88fSEmmanuel Vadot
7c66ec88fSEmmanuel Vadottitle: SiFive Unleashed Rev C000 Platform DMA
8c66ec88fSEmmanuel Vadot
9c66ec88fSEmmanuel Vadotmaintainers:
10c66ec88fSEmmanuel Vadot  - Green Wan <green.wan@sifive.com>
11c66ec88fSEmmanuel Vadot  - Palmer Debbelt <palmer@sifive.com>
12c66ec88fSEmmanuel Vadot  - Paul Walmsley <paul.walmsley@sifive.com>
13c66ec88fSEmmanuel Vadot
14c66ec88fSEmmanuel Vadotdescription: |
15c66ec88fSEmmanuel Vadot  Platform DMA is a DMA engine of SiFive Unleashed. It supports 4
16c66ec88fSEmmanuel Vadot  channels. Each channel has 2 interrupts. One is for DMA done and
17c66ec88fSEmmanuel Vadot  the other is for DME error.
18c66ec88fSEmmanuel Vadot
19c66ec88fSEmmanuel Vadot  In different SoC, DMA could be attached to different IRQ line.
20c66ec88fSEmmanuel Vadot  DT file need to be changed to meet the difference. For technical
21c66ec88fSEmmanuel Vadot  doc,
22c66ec88fSEmmanuel Vadot
23c66ec88fSEmmanuel Vadot  https://static.dev.sifive.com/FU540-C000-v1.0.pdf
24c66ec88fSEmmanuel Vadot
25c9ccf3a3SEmmanuel VadotallOf:
26cb7aa33aSEmmanuel Vadot  - $ref: dma-controller.yaml#
27c9ccf3a3SEmmanuel Vadot
28c66ec88fSEmmanuel Vadotproperties:
29c66ec88fSEmmanuel Vadot  compatible:
30c66ec88fSEmmanuel Vadot    items:
31d5b0e70fSEmmanuel Vadot      - enum:
32*8d13bc63SEmmanuel Vadot          - microchip,mpfs-pdma
33d5b0e70fSEmmanuel Vadot          - sifive,fu540-c000-pdma
34d5b0e70fSEmmanuel Vadot      - const: sifive,pdma0
35d5b0e70fSEmmanuel Vadot    description:
36d5b0e70fSEmmanuel Vadot      Should be "sifive,<chip>-pdma" and "sifive,pdma<version>".
37d5b0e70fSEmmanuel Vadot      Supported compatible strings are -
38d5b0e70fSEmmanuel Vadot      "sifive,fu540-c000-pdma" for the SiFive PDMA v0 as integrated onto the
39d5b0e70fSEmmanuel Vadot      SiFive FU540 chip resp and "sifive,pdma0" for the SiFive PDMA v0 IP block
40d5b0e70fSEmmanuel Vadot      with no chip integration tweaks.
41c66ec88fSEmmanuel Vadot
42c66ec88fSEmmanuel Vadot  reg:
43c66ec88fSEmmanuel Vadot    maxItems: 1
44c66ec88fSEmmanuel Vadot
45c66ec88fSEmmanuel Vadot  interrupts:
46c66ec88fSEmmanuel Vadot    minItems: 1
47c66ec88fSEmmanuel Vadot    maxItems: 8
48c66ec88fSEmmanuel Vadot
49d5b0e70fSEmmanuel Vadot  dma-channels:
50d5b0e70fSEmmanuel Vadot    description: For backwards-compatibility, the default value is 4
51d5b0e70fSEmmanuel Vadot    minimum: 1
52d5b0e70fSEmmanuel Vadot    maximum: 4
53d5b0e70fSEmmanuel Vadot    default: 4
54d5b0e70fSEmmanuel Vadot
55c66ec88fSEmmanuel Vadot  '#dma-cells':
56c66ec88fSEmmanuel Vadot    const: 1
57c66ec88fSEmmanuel Vadot
58c66ec88fSEmmanuel Vadotrequired:
59c66ec88fSEmmanuel Vadot  - compatible
60c66ec88fSEmmanuel Vadot  - reg
61c66ec88fSEmmanuel Vadot  - interrupts
62c66ec88fSEmmanuel Vadot
63c9ccf3a3SEmmanuel VadotunevaluatedProperties: false
64c66ec88fSEmmanuel Vadot
65c66ec88fSEmmanuel Vadotexamples:
66c66ec88fSEmmanuel Vadot  - |
67c9ccf3a3SEmmanuel Vadot    dma-controller@3000000 {
68d5b0e70fSEmmanuel Vadot      compatible = "sifive,fu540-c000-pdma", "sifive,pdma0";
69c66ec88fSEmmanuel Vadot      reg = <0x3000000 0x8000>;
70d5b0e70fSEmmanuel Vadot      dma-channels = <4>;
71e67e8565SEmmanuel Vadot      interrupts = <23>, <24>, <25>, <26>, <27>, <28>, <29>, <30>;
72c66ec88fSEmmanuel Vadot      #dma-cells = <1>;
73c66ec88fSEmmanuel Vadot    };
74c66ec88fSEmmanuel Vadot
75c66ec88fSEmmanuel Vadot...
76