0001 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
0002 %YAML 1.2
0003 ---
0004 $id: http://devicetree.org/schemas/dma/apple,admac.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006
0007 title: Apple Audio DMA Controller (ADMAC)
0008
0009 description: |
0010 Apple's Audio DMA Controller (ADMAC) is used to fetch and store audio samples
0011 on SoCs from the "Apple Silicon" family.
0012
0013 The controller has been seen with up to 24 channels. Even-numbered channels
0014 are TX-only, odd-numbered are RX-only. Individual channels are coupled to
0015 fixed device endpoints.
0016
0017 maintainers:
0018 - Martin Povišer <povik+lin@cutebit.org>
0019
0020 allOf:
0021 - $ref: "dma-controller.yaml#"
0022
0023 properties:
0024 compatible:
0025 items:
0026 - enum:
0027 - apple,t6000-admac
0028 - apple,t8103-admac
0029 - const: apple,admac
0030
0031 reg:
0032 maxItems: 1
0033
0034 '#dma-cells':
0035 const: 1
0036 description:
0037 Clients specify a single cell with channel number.
0038
0039 dma-channels:
0040 maximum: 24
0041
0042 interrupts:
0043 minItems: 4
0044 maxItems: 4
0045 description:
0046 Interrupts that correspond to the 4 IRQ outputs of the controller. Usually
0047 only one of the controller outputs will be connected as an usable interrupt
0048 source. The remaining interrupts will be left without a valid value, e.g.
0049 in an interrupts-extended list the disconnected positions will contain
0050 an empty phandle reference <0>.
0051
0052 required:
0053 - compatible
0054 - reg
0055 - '#dma-cells'
0056 - dma-channels
0057 - interrupts
0058
0059 additionalProperties: false
0060
0061 examples:
0062 - |
0063 #include <dt-bindings/interrupt-controller/apple-aic.h>
0064 #include <dt-bindings/interrupt-controller/irq.h>
0065
0066 aic: interrupt-controller {
0067 interrupt-controller;
0068 #interrupt-cells = <3>;
0069 };
0070
0071 admac: dma-controller@238200000 {
0072 compatible = "apple,t8103-admac", "apple,admac";
0073 reg = <0x38200000 0x34000>;
0074 dma-channels = <24>;
0075 interrupts-extended = <0>,
0076 <&aic AIC_IRQ 626 IRQ_TYPE_LEVEL_HIGH>,
0077 <0>,
0078 <0>;
0079 #dma-cells = <1>;
0080 };