Skip to content

Commit

Permalink
dt-bindings: dma: Add Apple ADMAC
Browse files Browse the repository at this point in the history
Apple's Audio DMA Controller (ADMAC) is used to fetch and store audio
samples on SoCs from the "Apple Silicon" family.

Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Martin Povišer <povik+lin@cutebit.org>
Link: https://lore.kernel.org/r/20220531213615.7822-2-povik+lin@cutebit.org
Signed-off-by: Vinod Koul <vkoul@kernel.org>
  • Loading branch information
povik authored and vinodkoul committed Jun 9, 2022
1 parent 23fbc87 commit 873971f
Showing 1 changed file with 75 additions and 0 deletions.
75 changes: 75 additions & 0 deletions Documentation/devicetree/bindings/dma/apple,admac.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
# 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
- 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>.

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>
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>;
};

0 comments on commit 873971f

Please sign in to comment.