| # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause |
| %YAML 1.2 |
| --- |
| $id: http://devicetree.org/schemas/dma/apple,admac.yaml# |
| $schema: http://devicetree.org/meta-schemas/core.yaml# |
| |
| title: Apple Audio DMA Controller (ADMAC) |
| |
| description: | |
| Apple's Audio DMA Controller (ADMAC) is used to fetch and store audio samples |
| on SoCs from the "Apple Silicon" family. |
| |
| The controller has been seen with up to 24 channels. Even-numbered channels |
| are TX-only, odd-numbered are RX-only. Individual channels are coupled to |
| fixed device endpoints. |
| |
| maintainers: |
| - Martin PoviĊĦer <povik+lin@cutebit.org> |
| |
| allOf: |
| - $ref: dma-controller.yaml# |
| |
| properties: |
| compatible: |
| items: |
| - enum: |
| - apple,t6000-admac |
| - apple,t8103-admac |
| - apple,t8112-admac |
| - const: apple,admac |
| |
| reg: |
| maxItems: 1 |
| |
| '#dma-cells': |
| const: 1 |
| description: |
| Clients specify a single cell with channel number. |
| |
| dma-channels: |
| maximum: 24 |
| |
| interrupts: |
| minItems: 4 |
| maxItems: 4 |
| description: |
| Interrupts that correspond to the 4 IRQ outputs of the controller. Usually |
| only one of the controller outputs will be connected as an usable interrupt |
| source. The remaining interrupts will be left without a valid value, e.g. |
| in an interrupts-extended list the disconnected positions will contain |
| an empty phandle reference <0>. |
| |
| iommus: |
| minItems: 1 |
| maxItems: 2 |
| |
| power-domains: |
| maxItems: 1 |
| |
| resets: |
| maxItems: 1 |
| |
| required: |
| - compatible |
| - reg |
| - '#dma-cells' |
| - dma-channels |
| - interrupts |
| |
| additionalProperties: false |
| |
| examples: |
| - | |
| #include <dt-bindings/interrupt-controller/apple-aic.h> |
| #include <dt-bindings/interrupt-controller/irq.h> |
| |
| aic: interrupt-controller { |
| interrupt-controller; |
| #interrupt-cells = <3>; |
| }; |
| |
| admac: dma-controller@238200000 { |
| compatible = "apple,t8103-admac", "apple,admac"; |
| reg = <0x38200000 0x34000>; |
| dma-channels = <24>; |
| interrupts-extended = <0>, |
| <&aic AIC_IRQ 626 IRQ_TYPE_LEVEL_HIGH>, |
| <0>, |
| <0>; |
| #dma-cells = <1>; |
| }; |