xref: /linux/Documentation/devicetree/bindings/dma/apple,admac.yaml (revision 1ac731c529cd4d6adbce134754b51ff7d822b145)
1873971f8SMartin Povišer# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2873971f8SMartin Povišer%YAML 1.2
3873971f8SMartin Povišer---
4873971f8SMartin Povišer$id: http://devicetree.org/schemas/dma/apple,admac.yaml#
5873971f8SMartin Povišer$schema: http://devicetree.org/meta-schemas/core.yaml#
6873971f8SMartin Povišer
7873971f8SMartin Povišertitle: Apple Audio DMA Controller (ADMAC)
8873971f8SMartin Povišer
9873971f8SMartin Povišerdescription: |
10873971f8SMartin Povišer  Apple's Audio DMA Controller (ADMAC) is used to fetch and store audio samples
11873971f8SMartin Povišer  on SoCs from the "Apple Silicon" family.
12873971f8SMartin Povišer
13873971f8SMartin Povišer  The controller has been seen with up to 24 channels. Even-numbered channels
14873971f8SMartin Povišer  are TX-only, odd-numbered are RX-only. Individual channels are coupled to
15873971f8SMartin Povišer  fixed device endpoints.
16873971f8SMartin Povišer
17873971f8SMartin Povišermaintainers:
18873971f8SMartin Povišer  - Martin Povišer <povik+lin@cutebit.org>
19873971f8SMartin Povišer
20873971f8SMartin PovišerallOf:
2110cafa2dSKrzysztof Kozlowski  - $ref: dma-controller.yaml#
22873971f8SMartin Povišer
23873971f8SMartin Povišerproperties:
24873971f8SMartin Povišer  compatible:
25873971f8SMartin Povišer    items:
26873971f8SMartin Povišer      - enum:
27873971f8SMartin Povišer          - apple,t6000-admac
28873971f8SMartin Povišer          - apple,t8103-admac
29*fe8f1a2eSJanne Grunau          - apple,t8112-admac
30873971f8SMartin Povišer      - const: apple,admac
31873971f8SMartin Povišer
32873971f8SMartin Povišer  reg:
33873971f8SMartin Povišer    maxItems: 1
34873971f8SMartin Povišer
35873971f8SMartin Povišer  '#dma-cells':
36873971f8SMartin Povišer    const: 1
37873971f8SMartin Povišer    description:
38873971f8SMartin Povišer      Clients specify a single cell with channel number.
39873971f8SMartin Povišer
40873971f8SMartin Povišer  dma-channels:
41873971f8SMartin Povišer    maximum: 24
42873971f8SMartin Povišer
43873971f8SMartin Povišer  interrupts:
44873971f8SMartin Povišer    minItems: 4
45873971f8SMartin Povišer    maxItems: 4
46873971f8SMartin Povišer    description:
47873971f8SMartin Povišer      Interrupts that correspond to the 4 IRQ outputs of the controller. Usually
48873971f8SMartin Povišer      only one of the controller outputs will be connected as an usable interrupt
49873971f8SMartin Povišer      source. The remaining interrupts will be left without a valid value, e.g.
50873971f8SMartin Povišer      in an interrupts-extended list the disconnected positions will contain
51873971f8SMartin Povišer      an empty phandle reference <0>.
52873971f8SMartin Povišer
5341742afdSJanne Grunau  iommus:
5441742afdSJanne Grunau    minItems: 1
5541742afdSJanne Grunau    maxItems: 2
5641742afdSJanne Grunau
5741742afdSJanne Grunau  power-domains:
5841742afdSJanne Grunau    maxItems: 1
5941742afdSJanne Grunau
60d52ca601SMartin Povišer  resets:
61d52ca601SMartin Povišer    maxItems: 1
62d52ca601SMartin Povišer
63873971f8SMartin Povišerrequired:
64873971f8SMartin Povišer  - compatible
65873971f8SMartin Povišer  - reg
66873971f8SMartin Povišer  - '#dma-cells'
67873971f8SMartin Povišer  - dma-channels
68873971f8SMartin Povišer  - interrupts
69873971f8SMartin Povišer
70873971f8SMartin PovišeradditionalProperties: false
71873971f8SMartin Povišer
72873971f8SMartin Povišerexamples:
73873971f8SMartin Povišer  - |
74873971f8SMartin Povišer    #include <dt-bindings/interrupt-controller/apple-aic.h>
75873971f8SMartin Povišer    #include <dt-bindings/interrupt-controller/irq.h>
76873971f8SMartin Povišer
7762c427caSRob Herring    aic: interrupt-controller {
7862c427caSRob Herring      interrupt-controller;
7962c427caSRob Herring      #interrupt-cells = <3>;
8062c427caSRob Herring    };
8162c427caSRob Herring
82873971f8SMartin Povišer    admac: dma-controller@238200000 {
83873971f8SMartin Povišer      compatible = "apple,t8103-admac", "apple,admac";
84873971f8SMartin Povišer      reg = <0x38200000 0x34000>;
85873971f8SMartin Povišer      dma-channels = <24>;
86873971f8SMartin Povišer      interrupts-extended = <0>,
87873971f8SMartin Povišer                            <&aic AIC_IRQ 626 IRQ_TYPE_LEVEL_HIGH>,
88873971f8SMartin Povišer                            <0>,
89873971f8SMartin Povišer                            <0>;
90873971f8SMartin Povišer      #dma-cells = <1>;
91873971f8SMartin Povišer    };
92