# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/sound/apple,mca.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Apple MCA I2S transceiver

description: |
  MCA is an I2S transceiver peripheral found on M1 and other Apple chips. It is
  composed of a number of identical clusters which can operate independently
  or in an interlinked fashion. Up to 6 clusters have been seen on an MCA.

maintainers:
  - Martin Povišer <povik+lin@cutebit.org>

allOf:
  - $ref: dai-common.yaml#

properties:
  compatible:
    items:
      - enum:
          - apple,t6000-mca
          - apple,t8103-mca
          - apple,t8112-mca
      - const: apple,mca

  reg:
    items:
      - description: Register region of the MCA clusters proper
      - description: Register region of the DMA glue and its FIFOs

  interrupts:
    minItems: 4
    maxItems: 6
    description:
      One interrupt per each cluster

  '#address-cells':
    const: 1

  '#size-cells':
    const: 0

  dmas:
    minItems: 16
    maxItems: 24
    description:
      DMA channels corresponding to the SERDES units in the peripheral. They are
      listed in groups of four per cluster, and within the group they are given
      as associated to the TXA, RXA, TXB, RXB units.

  dma-names:
    minItems: 16
    items:
      - const: tx0a
      - const: rx0a
      - const: tx0b
      - const: rx0b
      - const: tx1a
      - const: rx1a
      - const: tx1b
      - const: rx1b
      - const: tx2a
      - const: rx2a
      - const: tx2b
      - const: rx2b
      - const: tx3a
      - const: rx3a
      - const: tx3b
      - const: rx3b
      - const: tx4a
      - const: rx4a
      - const: tx4b
      - const: rx4b
      - const: tx5a
      - const: rx5a
      - const: tx5b
      - const: rx5b
    description: |
      Names for the DMA channels: 'tx'/'rx', then cluster number, then 'a'/'b'
      based on the associated SERDES unit.

  clocks:
    minItems: 4
    maxItems: 6
    description:
      Clusters' input reference clock.

  resets:
    maxItems: 1

  power-domains:
    minItems: 5
    maxItems: 7
    description:
      First a general power domain for register access, then the power
      domains of individual clusters for their operation.

  '#sound-dai-cells':
    const: 1

required:
  - compatible
  - reg
  - dmas
  - dma-names
  - clocks
  - power-domains
  - '#sound-dai-cells'

unevaluatedProperties: false

examples:
  - |
    mca: i2s@9b600000 {
      compatible = "apple,t6000-mca", "apple,mca";
      reg = <0x9b600000 0x10000>,
            <0x9b200000 0x20000>;

      clocks = <&nco 0>, <&nco 1>, <&nco 2>, <&nco 3>;
      power-domains = <&ps_audio_p>, <&ps_mca0>, <&ps_mca1>,
                      <&ps_mca2>, <&ps_mca3>;
      dmas = <&admac 0>, <&admac 1>, <&admac 2>, <&admac 3>,
             <&admac 4>, <&admac 5>, <&admac 6>, <&admac 7>,
             <&admac 8>, <&admac 9>, <&admac 10>, <&admac 11>,
             <&admac 12>, <&admac 13>, <&admac 14>, <&admac 15>;
      dma-names = "tx0a", "rx0a", "tx0b", "rx0b",
                  "tx1a", "rx1a", "tx1b", "rx1b",
                  "tx2a", "rx2a", "tx2b", "rx2b",
                  "tx3a", "rx3a", "tx3b", "rx3b";

      #sound-dai-cells = <1>;
    };
