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