Commit | Line | Data |
---|---|---|
a64efe15 AG |
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 | }; |