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 7title: Apple Audio DMA Controller (ADMAC) 8 9description: | 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 17maintainers: 18 - Martin Povišer <povik+lin@cutebit.org> 19 20allOf: 21 - $ref: dma-controller.yaml# 22 23properties: 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 68required: 69 - compatible 70 - reg 71 - '#dma-cells' 72 - dma-channels 73 - interrupts 74 75additionalProperties: false 76 77examples: 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