xref: /freebsd/sys/contrib/device-tree/Bindings/dma/sprd,sc9860-dma.yaml (revision 0e8011faf58b743cc652e3b2ad0f7671227610df)
1*0e8011faSEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2*0e8011faSEmmanuel Vadot%YAML 1.2
3*0e8011faSEmmanuel Vadot---
4*0e8011faSEmmanuel Vadot$id: http://devicetree.org/schemas/dma/sprd,sc9860-dma.yaml#
5*0e8011faSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*0e8011faSEmmanuel Vadot
7*0e8011faSEmmanuel Vadottitle: Spreadtrum SC9860 DMA controller
8*0e8011faSEmmanuel Vadot
9*0e8011faSEmmanuel Vadotdescription: |
10*0e8011faSEmmanuel Vadot  There are three DMA controllers: AP DMA, AON DMA and AGCP DMA. For AGCP
11*0e8011faSEmmanuel Vadot  DMA controller, it can or do not request the IRQ, which will save
12*0e8011faSEmmanuel Vadot  system power without resuming system by DMA interrupts if AGCP DMA
13*0e8011faSEmmanuel Vadot  does not request the IRQ.
14*0e8011faSEmmanuel Vadot
15*0e8011faSEmmanuel Vadotmaintainers:
16*0e8011faSEmmanuel Vadot  - Orson Zhai <orsonzhai@gmail.com>
17*0e8011faSEmmanuel Vadot  - Baolin Wang <baolin.wang7@gmail.com>
18*0e8011faSEmmanuel Vadot  - Chunyan Zhang <zhang.lyra@gmail.com>
19*0e8011faSEmmanuel Vadot
20*0e8011faSEmmanuel Vadotproperties:
21*0e8011faSEmmanuel Vadot  compatible:
22*0e8011faSEmmanuel Vadot    const: sprd,sc9860-dma
23*0e8011faSEmmanuel Vadot
24*0e8011faSEmmanuel Vadot  reg:
25*0e8011faSEmmanuel Vadot    maxItems: 1
26*0e8011faSEmmanuel Vadot
27*0e8011faSEmmanuel Vadot  interrupts:
28*0e8011faSEmmanuel Vadot    maxItems: 1
29*0e8011faSEmmanuel Vadot
30*0e8011faSEmmanuel Vadot  clocks:
31*0e8011faSEmmanuel Vadot    minItems: 1
32*0e8011faSEmmanuel Vadot    items:
33*0e8011faSEmmanuel Vadot      - description: DMA enable clock
34*0e8011faSEmmanuel Vadot      - description: optional ashb_eb clock, only for the AGCP DMA controller
35*0e8011faSEmmanuel Vadot
36*0e8011faSEmmanuel Vadot  clock-names:
37*0e8011faSEmmanuel Vadot    minItems: 1
38*0e8011faSEmmanuel Vadot    items:
39*0e8011faSEmmanuel Vadot      - const: enable
40*0e8011faSEmmanuel Vadot      - const: ashb_eb
41*0e8011faSEmmanuel Vadot
42*0e8011faSEmmanuel Vadot  '#dma-cells':
43*0e8011faSEmmanuel Vadot    const: 1
44*0e8011faSEmmanuel Vadot
45*0e8011faSEmmanuel Vadot  dma-channels:
46*0e8011faSEmmanuel Vadot    const: 32
47*0e8011faSEmmanuel Vadot
48*0e8011faSEmmanuel Vadot  '#dma-channels':
49*0e8011faSEmmanuel Vadot    const: 32
50*0e8011faSEmmanuel Vadot    deprecated: true
51*0e8011faSEmmanuel Vadot
52*0e8011faSEmmanuel Vadotrequired:
53*0e8011faSEmmanuel Vadot  - compatible
54*0e8011faSEmmanuel Vadot  - reg
55*0e8011faSEmmanuel Vadot  - clocks
56*0e8011faSEmmanuel Vadot  - clock-names
57*0e8011faSEmmanuel Vadot  - '#dma-cells'
58*0e8011faSEmmanuel Vadot  - dma-channels
59*0e8011faSEmmanuel Vadot
60*0e8011faSEmmanuel VadotallOf:
61*0e8011faSEmmanuel Vadot  - $ref: dma-controller.yaml#
62*0e8011faSEmmanuel Vadot
63*0e8011faSEmmanuel VadotunevaluatedProperties: false
64*0e8011faSEmmanuel Vadot
65*0e8011faSEmmanuel Vadotexamples:
66*0e8011faSEmmanuel Vadot  - |
67*0e8011faSEmmanuel Vadot    #include <dt-bindings/clock/sprd,sc9860-clk.h>
68*0e8011faSEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
69*0e8011faSEmmanuel Vadot    #include <dt-bindings/interrupt-controller/irq.h>
70*0e8011faSEmmanuel Vadot
71*0e8011faSEmmanuel Vadot    /* AP DMA controller */
72*0e8011faSEmmanuel Vadot    dma-controller@20100000 {
73*0e8011faSEmmanuel Vadot      compatible = "sprd,sc9860-dma";
74*0e8011faSEmmanuel Vadot      reg = <0x20100000 0x4000>;
75*0e8011faSEmmanuel Vadot      interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
76*0e8011faSEmmanuel Vadot      clocks = <&apahb_gate CLK_DMA_EB>;
77*0e8011faSEmmanuel Vadot      clock-names = "enable";
78*0e8011faSEmmanuel Vadot      #dma-cells = <1>;
79*0e8011faSEmmanuel Vadot      dma-channels = <32>;
80*0e8011faSEmmanuel Vadot    };
81*0e8011faSEmmanuel Vadot
82*0e8011faSEmmanuel Vadot    /* AGCP DMA controller */
83*0e8011faSEmmanuel Vadot    dma-controller@41580000 {
84*0e8011faSEmmanuel Vadot      compatible = "sprd,sc9860-dma";
85*0e8011faSEmmanuel Vadot      reg = <0x41580000 0x4000>;
86*0e8011faSEmmanuel Vadot      clocks = <&agcp_gate CLK_AGCP_DMAAP_EB>,
87*0e8011faSEmmanuel Vadot               <&agcp_gate CLK_AGCP_AP_ASHB_EB>;
88*0e8011faSEmmanuel Vadot      clock-names = "enable", "ashb_eb";
89*0e8011faSEmmanuel Vadot      #dma-cells = <1>;
90*0e8011faSEmmanuel Vadot      dma-channels = <32>;
91*0e8011faSEmmanuel Vadot    };
92*0e8011faSEmmanuel Vadot...
93