forked from ~ljy/RK356X_SDK_RELEASE

hc
2024-05-13 9d77db3c730780c8ef5ccd4b66403ff5675cfe4e
kernel/Documentation/devicetree/bindings/dma/dma.txt
....@@ -1,109 +1 @@
1
-* Generic DMA Controller and DMA request bindings
2
-
3
-Generic binding to provide a way for a driver using DMA Engine to retrieve the
4
-DMA request or channel information that goes from a hardware device to a DMA
5
-controller.
6
-
7
-
8
-* DMA controller
9
-
10
-Required property:
11
-- #dma-cells: Must be at least 1. Used to provide DMA controller
12
- specific information. See DMA client binding below for
13
- more details.
14
-
15
-Optional properties:
16
-- dma-channels: Number of DMA channels supported by the controller.
17
-- dma-requests: Number of DMA request signals supported by the
18
- controller.
19
-
20
-Example:
21
-
22
- dma: dma@48000000 {
23
- compatible = "ti,omap-sdma";
24
- reg = <0x48000000 0x1000>;
25
- interrupts = <0 12 0x4
26
- 0 13 0x4
27
- 0 14 0x4
28
- 0 15 0x4>;
29
- #dma-cells = <1>;
30
- dma-channels = <32>;
31
- dma-requests = <127>;
32
- };
33
-
34
-* DMA router
35
-
36
-DMA routers are transparent IP blocks used to route DMA request lines from
37
-devices to the DMA controller. Some SoCs (like TI DRA7x) have more peripherals
38
-integrated with DMA requests than what the DMA controller can handle directly.
39
-
40
-Required property:
41
-- dma-masters: phandle of the DMA controller or list of phandles for
42
- the DMA controllers the router can direct the signal to.
43
-- #dma-cells: Must be at least 1. Used to provide DMA router specific
44
- information. See DMA client binding below for more
45
- details.
46
-
47
-Optional properties:
48
-- dma-requests: Number of incoming request lines the router can handle.
49
-- In the node pointed by the dma-masters:
50
- - dma-requests: The router driver might need to look for this in order
51
- to configure the routing.
52
-
53
-Example:
54
- sdma_xbar: dma-router@4a002b78 {
55
- compatible = "ti,dra7-dma-crossbar";
56
- reg = <0x4a002b78 0xfc>;
57
- #dma-cells = <1>;
58
- dma-requests = <205>;
59
- ti,dma-safe-map = <0>;
60
- dma-masters = <&sdma>;
61
- };
62
-
63
-* DMA client
64
-
65
-Client drivers should specify the DMA property using a phandle to the controller
66
-followed by DMA controller specific data.
67
-
68
-Required property:
69
-- dmas: List of one or more DMA specifiers, each consisting of
70
- - A phandle pointing to DMA controller node
71
- - A number of integer cells, as determined by the
72
- #dma-cells property in the node referenced by phandle
73
- containing DMA controller specific information. This
74
- typically contains a DMA request line number or a
75
- channel number, but can contain any data that is
76
- required for configuring a channel.
77
-- dma-names: Contains one identifier string for each DMA specifier in
78
- the dmas property. The specific strings that can be used
79
- are defined in the binding of the DMA client device.
80
- Multiple DMA specifiers can be used to represent
81
- alternatives and in this case the dma-names for those
82
- DMA specifiers must be identical (see examples).
83
-
84
-Examples:
85
-
86
-1. A device with one DMA read channel, one DMA write channel:
87
-
88
- i2c1: i2c@1 {
89
- ...
90
- dmas = <&dma 2 /* read channel */
91
- &dma 3>; /* write channel */
92
- dma-names = "rx", "tx";
93
- ...
94
- };
95
-
96
-2. A single read-write channel with three alternative DMA controllers:
97
-
98
- dmas = <&dma1 5
99
- &dma2 7
100
- &dma3 2>;
101
- dma-names = "rx-tx", "rx-tx", "rx-tx";
102
-
103
-3. A device with three channels, one of which has two alternatives:
104
-
105
- dmas = <&dma1 2 /* read channel */
106
- &dma1 3 /* write channel */
107
- &dma2 0 /* error read */
108
- &dma3 0>; /* alternative error read */
109
- dma-names = "rx", "tx", "error", "error";
1
+This file has been moved to dma-controller.yaml.