xref: /freebsd/sys/contrib/device-tree/Bindings/dma/loongson,ls1b-apbdma.yaml (revision b2d2a78ad80ec68d4a17f5aef97d21686cb1e29b)
1*b2d2a78aSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*b2d2a78aSEmmanuel Vadot%YAML 1.2
3*b2d2a78aSEmmanuel Vadot---
4*b2d2a78aSEmmanuel Vadot$id: http://devicetree.org/schemas/dma/loongson,ls1b-apbdma.yaml#
5*b2d2a78aSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*b2d2a78aSEmmanuel Vadot
7*b2d2a78aSEmmanuel Vadottitle: Loongson-1 APB DMA Controller
8*b2d2a78aSEmmanuel Vadot
9*b2d2a78aSEmmanuel Vadotmaintainers:
10*b2d2a78aSEmmanuel Vadot  - Keguang Zhang <keguang.zhang@gmail.com>
11*b2d2a78aSEmmanuel Vadot
12*b2d2a78aSEmmanuel Vadotdescription:
13*b2d2a78aSEmmanuel Vadot  Loongson-1 APB DMA controller provides 3 independent channels for
14*b2d2a78aSEmmanuel Vadot  peripherals such as NAND, audio playback and capture.
15*b2d2a78aSEmmanuel Vadot
16*b2d2a78aSEmmanuel Vadotproperties:
17*b2d2a78aSEmmanuel Vadot  compatible:
18*b2d2a78aSEmmanuel Vadot    oneOf:
19*b2d2a78aSEmmanuel Vadot      - const: loongson,ls1b-apbdma
20*b2d2a78aSEmmanuel Vadot      - items:
21*b2d2a78aSEmmanuel Vadot          - enum:
22*b2d2a78aSEmmanuel Vadot              - loongson,ls1a-apbdma
23*b2d2a78aSEmmanuel Vadot              - loongson,ls1c-apbdma
24*b2d2a78aSEmmanuel Vadot          - const: loongson,ls1b-apbdma
25*b2d2a78aSEmmanuel Vadot
26*b2d2a78aSEmmanuel Vadot  reg:
27*b2d2a78aSEmmanuel Vadot    maxItems: 1
28*b2d2a78aSEmmanuel Vadot
29*b2d2a78aSEmmanuel Vadot  interrupts:
30*b2d2a78aSEmmanuel Vadot    items:
31*b2d2a78aSEmmanuel Vadot      - description: NAND interrupt
32*b2d2a78aSEmmanuel Vadot      - description: Audio playback interrupt
33*b2d2a78aSEmmanuel Vadot      - description: Audio capture interrupt
34*b2d2a78aSEmmanuel Vadot
35*b2d2a78aSEmmanuel Vadot  interrupt-names:
36*b2d2a78aSEmmanuel Vadot    items:
37*b2d2a78aSEmmanuel Vadot      - const: ch0
38*b2d2a78aSEmmanuel Vadot      - const: ch1
39*b2d2a78aSEmmanuel Vadot      - const: ch2
40*b2d2a78aSEmmanuel Vadot
41*b2d2a78aSEmmanuel Vadot  '#dma-cells':
42*b2d2a78aSEmmanuel Vadot    const: 1
43*b2d2a78aSEmmanuel Vadot
44*b2d2a78aSEmmanuel Vadotrequired:
45*b2d2a78aSEmmanuel Vadot  - compatible
46*b2d2a78aSEmmanuel Vadot  - reg
47*b2d2a78aSEmmanuel Vadot  - interrupts
48*b2d2a78aSEmmanuel Vadot  - interrupt-names
49*b2d2a78aSEmmanuel Vadot  - '#dma-cells'
50*b2d2a78aSEmmanuel Vadot
51*b2d2a78aSEmmanuel VadotadditionalProperties: false
52*b2d2a78aSEmmanuel Vadot
53*b2d2a78aSEmmanuel Vadotexamples:
54*b2d2a78aSEmmanuel Vadot  - |
55*b2d2a78aSEmmanuel Vadot    #include <dt-bindings/interrupt-controller/irq.h>
56*b2d2a78aSEmmanuel Vadot    dma-controller@1fd01160 {
57*b2d2a78aSEmmanuel Vadot        compatible = "loongson,ls1b-apbdma";
58*b2d2a78aSEmmanuel Vadot        reg = <0x1fd01160 0x4>;
59*b2d2a78aSEmmanuel Vadot        interrupt-parent = <&intc0>;
60*b2d2a78aSEmmanuel Vadot        interrupts = <13 IRQ_TYPE_EDGE_RISING>,
61*b2d2a78aSEmmanuel Vadot                     <14 IRQ_TYPE_EDGE_RISING>,
62*b2d2a78aSEmmanuel Vadot                     <15 IRQ_TYPE_EDGE_RISING>;
63*b2d2a78aSEmmanuel Vadot        interrupt-names = "ch0", "ch1", "ch2";
64*b2d2a78aSEmmanuel Vadot        #dma-cells = <1>;
65*b2d2a78aSEmmanuel Vadot    };
66