xref: /freebsd/sys/contrib/device-tree/Bindings/dma/dma-common.yaml (revision 6be3386466ab79a84b48429ae66244f21526d3df)
1c66ec88fSEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0
2c66ec88fSEmmanuel Vadot%YAML 1.2
3c66ec88fSEmmanuel Vadot---
4c66ec88fSEmmanuel Vadot$id: http://devicetree.org/schemas/dma/dma-common.yaml#
5c66ec88fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6c66ec88fSEmmanuel Vadot
7c66ec88fSEmmanuel Vadottitle: DMA Engine Generic Binding
8c66ec88fSEmmanuel Vadot
9c66ec88fSEmmanuel Vadotmaintainers:
10c66ec88fSEmmanuel Vadot  - Vinod Koul <vkoul@kernel.org>
11c66ec88fSEmmanuel Vadot
12c66ec88fSEmmanuel Vadotdescription:
13c66ec88fSEmmanuel Vadot  Generic binding to provide a way for a driver using DMA Engine to
14c66ec88fSEmmanuel Vadot  retrieve the DMA request or channel information that goes from a
15c66ec88fSEmmanuel Vadot  hardware device to a DMA controller.
16c66ec88fSEmmanuel Vadot
17c66ec88fSEmmanuel Vadotselect: false
18c66ec88fSEmmanuel Vadot
19c66ec88fSEmmanuel Vadotproperties:
20c66ec88fSEmmanuel Vadot  "#dma-cells":
21c66ec88fSEmmanuel Vadot    minimum: 1
22c66ec88fSEmmanuel Vadot    # Should be enough
23c66ec88fSEmmanuel Vadot    maximum: 255
24c66ec88fSEmmanuel Vadot    description:
25c66ec88fSEmmanuel Vadot      Used to provide DMA controller specific information.
26c66ec88fSEmmanuel Vadot
27c66ec88fSEmmanuel Vadot  dma-channel-mask:
28c66ec88fSEmmanuel Vadot    description:
29c66ec88fSEmmanuel Vadot      Bitmask of available DMA channels in ascending order that are
30c66ec88fSEmmanuel Vadot      not reserved by firmware and are available to the
31c66ec88fSEmmanuel Vadot      kernel. i.e. first channel corresponds to LSB.
32c66ec88fSEmmanuel Vadot      The first item in the array is for channels 0-31, the second is for
33c66ec88fSEmmanuel Vadot      channels 32-63, etc.
34c66ec88fSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32-array
35c66ec88fSEmmanuel Vadot    items:
36c66ec88fSEmmanuel Vadot      minItems: 1
37c66ec88fSEmmanuel Vadot      # Should be enough
38c66ec88fSEmmanuel Vadot      maxItems: 255
39c66ec88fSEmmanuel Vadot
40c66ec88fSEmmanuel Vadot  dma-channels:
41c66ec88fSEmmanuel Vadot    $ref: /schemas/types.yaml#definitions/uint32
42c66ec88fSEmmanuel Vadot    description:
43c66ec88fSEmmanuel Vadot      Number of DMA channels supported by the controller.
44c66ec88fSEmmanuel Vadot
45c66ec88fSEmmanuel Vadot  dma-requests:
46c66ec88fSEmmanuel Vadot    $ref: /schemas/types.yaml#definitions/uint32
47c66ec88fSEmmanuel Vadot    description:
48c66ec88fSEmmanuel Vadot      Number of DMA request signals supported by the controller.
49c66ec88fSEmmanuel Vadot
50c66ec88fSEmmanuel Vadotrequired:
51c66ec88fSEmmanuel Vadot  - "#dma-cells"
52*6be33864SEmmanuel Vadot
53*6be33864SEmmanuel VadotadditionalProperties: true
54