diff options
-rw-r--r-- | Documentation/devicetree/bindings/dma/qcom_adm.txt | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/Documentation/devicetree/bindings/dma/qcom_adm.txt b/Documentation/devicetree/bindings/dma/qcom_adm.txt new file mode 100644 index 000000000000..9bcab9115982 --- /dev/null +++ b/Documentation/devicetree/bindings/dma/qcom_adm.txt | |||
@@ -0,0 +1,62 @@ | |||
1 | QCOM ADM DMA Controller | ||
2 | |||
3 | Required properties: | ||
4 | - compatible: must contain "qcom,adm" for IPQ/APQ8064 and MSM8960 | ||
5 | - reg: Address range for DMA registers | ||
6 | - interrupts: Should contain one interrupt shared by all channels | ||
7 | - #dma-cells: must be <2>. First cell denotes the channel number. Second cell | ||
8 | denotes CRCI (client rate control interface) flow control assignment. | ||
9 | - clocks: Should contain the core clock and interface clock. | ||
10 | - clock-names: Must contain "core" for the core clock and "iface" for the | ||
11 | interface clock. | ||
12 | - resets: Must contain an entry for each entry in reset names. | ||
13 | - reset-names: Must include the following entries: | ||
14 | - clk | ||
15 | - c0 | ||
16 | - c1 | ||
17 | - c2 | ||
18 | - qcom,ee: indicates the security domain identifier used in the secure world. | ||
19 | |||
20 | Example: | ||
21 | adm_dma: dma@18300000 { | ||
22 | compatible = "qcom,adm"; | ||
23 | reg = <0x18300000 0x100000>; | ||
24 | interrupts = <0 170 0>; | ||
25 | #dma-cells = <2>; | ||
26 | |||
27 | clocks = <&gcc ADM0_CLK>, <&gcc ADM0_PBUS_CLK>; | ||
28 | clock-names = "core", "iface"; | ||
29 | |||
30 | resets = <&gcc ADM0_RESET>, | ||
31 | <&gcc ADM0_C0_RESET>, | ||
32 | <&gcc ADM0_C1_RESET>, | ||
33 | <&gcc ADM0_C2_RESET>; | ||
34 | reset-names = "clk", "c0", "c1", "c2"; | ||
35 | qcom,ee = <0>; | ||
36 | }; | ||
37 | |||
38 | DMA clients must use the format descripted in the dma.txt file, using a three | ||
39 | cell specifier for each channel. | ||
40 | |||
41 | Each dmas request consists of 3 cells: | ||
42 | 1. phandle pointing to the DMA controller | ||
43 | 2. channel number | ||
44 | 3. CRCI assignment, if applicable. If no CRCI flow control is required, use 0. | ||
45 | The CRCI is used for flow control. It identifies the peripheral device that | ||
46 | is the source/destination for the transferred data. | ||
47 | |||
48 | Example: | ||
49 | |||
50 | spi4: spi@1a280000 { | ||
51 | status = "ok"; | ||
52 | spi-max-frequency = <50000000>; | ||
53 | |||
54 | pinctrl-0 = <&spi_pins>; | ||
55 | pinctrl-names = "default"; | ||
56 | |||
57 | cs-gpios = <&qcom_pinmux 20 0>; | ||
58 | |||
59 | dmas = <&adm_dma 6 9>, | ||
60 | <&adm_dma 5 10>; | ||
61 | dma-names = "rx", "tx"; | ||
62 | }; | ||