Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/Documentation/devicetree/bindings/dma/apple,admac.yaml
29282 views
1
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2
%YAML 1.2
3
---
4
$id: http://devicetree.org/schemas/dma/apple,admac.yaml#
5
$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7
title: Apple Audio DMA Controller (ADMAC)
8
9
description: |
10
Apple's Audio DMA Controller (ADMAC) is used to fetch and store audio samples
11
on SoCs from the "Apple Silicon" family.
12
13
The controller has been seen with up to 24 channels. Even-numbered channels
14
are TX-only, odd-numbered are RX-only. Individual channels are coupled to
15
fixed device endpoints.
16
17
maintainers:
18
- Martin Povišer <povik+lin@cutebit.org>
19
20
allOf:
21
- $ref: dma-controller.yaml#
22
23
properties:
24
compatible:
25
oneOf:
26
- items:
27
- const: apple,t6020-admac
28
- const: apple,t8103-admac
29
- items:
30
- enum:
31
# Do not add additional SoC to this list.
32
- apple,t6000-admac
33
- apple,t8103-admac
34
- apple,t8112-admac
35
- const: apple,admac
36
37
reg:
38
maxItems: 1
39
40
'#dma-cells':
41
const: 1
42
description:
43
Clients specify a single cell with channel number.
44
45
dma-channels:
46
maximum: 24
47
48
interrupts:
49
minItems: 4
50
maxItems: 4
51
description:
52
Interrupts that correspond to the 4 IRQ outputs of the controller. Usually
53
only one of the controller outputs will be connected as an usable interrupt
54
source. The remaining interrupts will be left without a valid value, e.g.
55
in an interrupts-extended list the disconnected positions will contain
56
an empty phandle reference <0>.
57
58
iommus:
59
minItems: 1
60
maxItems: 2
61
62
power-domains:
63
maxItems: 1
64
65
resets:
66
maxItems: 1
67
68
required:
69
- compatible
70
- reg
71
- '#dma-cells'
72
- dma-channels
73
- interrupts
74
75
additionalProperties: false
76
77
examples:
78
- |
79
#include <dt-bindings/interrupt-controller/apple-aic.h>
80
#include <dt-bindings/interrupt-controller/irq.h>
81
82
aic: interrupt-controller {
83
interrupt-controller;
84
#interrupt-cells = <3>;
85
};
86
87
admac: dma-controller@238200000 {
88
compatible = "apple,t8103-admac", "apple,admac";
89
reg = <0x38200000 0x34000>;
90
dma-channels = <24>;
91
interrupts-extended = <0>,
92
<&aic AIC_IRQ 626 IRQ_TYPE_LEVEL_HIGH>,
93
<0>,
94
<0>;
95
#dma-cells = <1>;
96
};
97
98