xref: /freebsd/sys/contrib/device-tree/Bindings/dma/qcom,adm.yaml (revision 7ef62cebc2f965b0f640263e179276928885e33d)
1*7ef62cebSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*7ef62cebSEmmanuel Vadot%YAML 1.2
3*7ef62cebSEmmanuel Vadot---
4*7ef62cebSEmmanuel Vadot$id: http://devicetree.org/schemas/dma/qcom,adm.yaml#
5*7ef62cebSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*7ef62cebSEmmanuel Vadot
7*7ef62cebSEmmanuel Vadottitle: Qualcomm ADM DMA Controller
8*7ef62cebSEmmanuel Vadot
9*7ef62cebSEmmanuel Vadotmaintainers:
10*7ef62cebSEmmanuel Vadot  - Christian Marangi <ansuelsmth@gmail.com>
11*7ef62cebSEmmanuel Vadot  - Bjorn Andersson <bjorn.andersson@linaro.org>
12*7ef62cebSEmmanuel Vadot
13*7ef62cebSEmmanuel Vadotdescription: |
14*7ef62cebSEmmanuel Vadot  QCOM ADM DMA controller provides DMA capabilities for
15*7ef62cebSEmmanuel Vadot  peripheral buses such as NAND and SPI.
16*7ef62cebSEmmanuel Vadot
17*7ef62cebSEmmanuel Vadotproperties:
18*7ef62cebSEmmanuel Vadot  compatible:
19*7ef62cebSEmmanuel Vadot    const: qcom,adm
20*7ef62cebSEmmanuel Vadot
21*7ef62cebSEmmanuel Vadot  reg:
22*7ef62cebSEmmanuel Vadot    maxItems: 1
23*7ef62cebSEmmanuel Vadot
24*7ef62cebSEmmanuel Vadot  interrupts:
25*7ef62cebSEmmanuel Vadot    maxItems: 1
26*7ef62cebSEmmanuel Vadot
27*7ef62cebSEmmanuel Vadot  "#dma-cells":
28*7ef62cebSEmmanuel Vadot    const: 1
29*7ef62cebSEmmanuel Vadot
30*7ef62cebSEmmanuel Vadot  clocks:
31*7ef62cebSEmmanuel Vadot    items:
32*7ef62cebSEmmanuel Vadot      - description: phandle to the core clock
33*7ef62cebSEmmanuel Vadot      - description: phandle to the iface clock
34*7ef62cebSEmmanuel Vadot
35*7ef62cebSEmmanuel Vadot  clock-names:
36*7ef62cebSEmmanuel Vadot    items:
37*7ef62cebSEmmanuel Vadot      - const: core
38*7ef62cebSEmmanuel Vadot      - const: iface
39*7ef62cebSEmmanuel Vadot
40*7ef62cebSEmmanuel Vadot  resets:
41*7ef62cebSEmmanuel Vadot    items:
42*7ef62cebSEmmanuel Vadot      - description: phandle to the clk reset
43*7ef62cebSEmmanuel Vadot      - description: phandle to the pbus reset
44*7ef62cebSEmmanuel Vadot      - description: phandle to the c0 reset
45*7ef62cebSEmmanuel Vadot      - description: phandle to the c1 reset
46*7ef62cebSEmmanuel Vadot      - description: phandle to the c2 reset
47*7ef62cebSEmmanuel Vadot
48*7ef62cebSEmmanuel Vadot  reset-names:
49*7ef62cebSEmmanuel Vadot    items:
50*7ef62cebSEmmanuel Vadot      - const: clk
51*7ef62cebSEmmanuel Vadot      - const: pbus
52*7ef62cebSEmmanuel Vadot      - const: c0
53*7ef62cebSEmmanuel Vadot      - const: c1
54*7ef62cebSEmmanuel Vadot      - const: c2
55*7ef62cebSEmmanuel Vadot
56*7ef62cebSEmmanuel Vadot  qcom,ee:
57*7ef62cebSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
58*7ef62cebSEmmanuel Vadot    description: indicates the security domain identifier used in the secure world.
59*7ef62cebSEmmanuel Vadot    minimum: 0
60*7ef62cebSEmmanuel Vadot    maximum: 255
61*7ef62cebSEmmanuel Vadot
62*7ef62cebSEmmanuel Vadotrequired:
63*7ef62cebSEmmanuel Vadot  - compatible
64*7ef62cebSEmmanuel Vadot  - reg
65*7ef62cebSEmmanuel Vadot  - interrupts
66*7ef62cebSEmmanuel Vadot  - "#dma-cells"
67*7ef62cebSEmmanuel Vadot  - clocks
68*7ef62cebSEmmanuel Vadot  - clock-names
69*7ef62cebSEmmanuel Vadot  - resets
70*7ef62cebSEmmanuel Vadot  - reset-names
71*7ef62cebSEmmanuel Vadot  - qcom,ee
72*7ef62cebSEmmanuel Vadot
73*7ef62cebSEmmanuel VadotadditionalProperties: false
74*7ef62cebSEmmanuel Vadot
75*7ef62cebSEmmanuel Vadotexamples:
76*7ef62cebSEmmanuel Vadot  - |
77*7ef62cebSEmmanuel Vadot    #include <dt-bindings/clock/qcom,gcc-ipq806x.h>
78*7ef62cebSEmmanuel Vadot    #include <dt-bindings/reset/qcom,gcc-ipq806x.h>
79*7ef62cebSEmmanuel Vadot
80*7ef62cebSEmmanuel Vadot    adm_dma: dma-controller@18300000 {
81*7ef62cebSEmmanuel Vadot        compatible = "qcom,adm";
82*7ef62cebSEmmanuel Vadot        reg = <0x18300000 0x100000>;
83*7ef62cebSEmmanuel Vadot        interrupts = <0 170 0>;
84*7ef62cebSEmmanuel Vadot        #dma-cells = <1>;
85*7ef62cebSEmmanuel Vadot
86*7ef62cebSEmmanuel Vadot        clocks = <&gcc ADM0_CLK>,
87*7ef62cebSEmmanuel Vadot                  <&gcc ADM0_PBUS_CLK>;
88*7ef62cebSEmmanuel Vadot        clock-names = "core", "iface";
89*7ef62cebSEmmanuel Vadot
90*7ef62cebSEmmanuel Vadot        resets = <&gcc ADM0_RESET>,
91*7ef62cebSEmmanuel Vadot                  <&gcc ADM0_PBUS_RESET>,
92*7ef62cebSEmmanuel Vadot                  <&gcc ADM0_C0_RESET>,
93*7ef62cebSEmmanuel Vadot                  <&gcc ADM0_C1_RESET>,
94*7ef62cebSEmmanuel Vadot                  <&gcc ADM0_C2_RESET>;
95*7ef62cebSEmmanuel Vadot        reset-names = "clk", "pbus", "c0", "c1", "c2";
96*7ef62cebSEmmanuel Vadot        qcom,ee = <0>;
97*7ef62cebSEmmanuel Vadot    };
98*7ef62cebSEmmanuel Vadot
99*7ef62cebSEmmanuel Vadot...
100