xref: /openbmc/linux/Documentation/devicetree/bindings/sound/apple,mca.yaml (revision 9a87ffc99ec8eb8d35eed7c4f816d75f5cc9662e)
16ed462d1SMartin Povišer# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
26ed462d1SMartin Povišer%YAML 1.2
36ed462d1SMartin Povišer---
46ed462d1SMartin Povišer$id: http://devicetree.org/schemas/sound/apple,mca.yaml#
56ed462d1SMartin Povišer$schema: http://devicetree.org/meta-schemas/core.yaml#
66ed462d1SMartin Povišer
76ed462d1SMartin Povišertitle: Apple MCA I2S transceiver
86ed462d1SMartin Povišer
96ed462d1SMartin Povišerdescription: |
106ed462d1SMartin Povišer  MCA is an I2S transceiver peripheral found on M1 and other Apple chips. It is
116ed462d1SMartin Povišer  composed of a number of identical clusters which can operate independently
126ed462d1SMartin Povišer  or in an interlinked fashion. Up to 6 clusters have been seen on an MCA.
136ed462d1SMartin Povišer
146ed462d1SMartin Povišermaintainers:
156ed462d1SMartin Povišer  - Martin Povišer <povik+lin@cutebit.org>
166ed462d1SMartin Povišer
1758ae9a2aSKrzysztof KozlowskiallOf:
1858ae9a2aSKrzysztof Kozlowski  - $ref: dai-common.yaml#
1958ae9a2aSKrzysztof Kozlowski
206ed462d1SMartin Povišerproperties:
216ed462d1SMartin Povišer  compatible:
226ed462d1SMartin Povišer    items:
236ed462d1SMartin Povišer      - enum:
246ed462d1SMartin Povišer          - apple,t6000-mca
256ed462d1SMartin Povišer          - apple,t8103-mca
26*b361d5d2SJanne Grunau          - apple,t8112-mca
276ed462d1SMartin Povišer      - const: apple,mca
286ed462d1SMartin Povišer
296ed462d1SMartin Povišer  reg:
306ed462d1SMartin Povišer    items:
316ed462d1SMartin Povišer      - description: Register region of the MCA clusters proper
326ed462d1SMartin Povišer      - description: Register region of the DMA glue and its FIFOs
336ed462d1SMartin Povišer
346ed462d1SMartin Povišer  interrupts:
356ed462d1SMartin Povišer    minItems: 4
366ed462d1SMartin Povišer    maxItems: 6
376ed462d1SMartin Povišer    description:
386ed462d1SMartin Povišer      One interrupt per each cluster
396ed462d1SMartin Povišer
406ed462d1SMartin Povišer  '#address-cells':
416ed462d1SMartin Povišer    const: 1
426ed462d1SMartin Povišer
436ed462d1SMartin Povišer  '#size-cells':
446ed462d1SMartin Povišer    const: 0
456ed462d1SMartin Povišer
466ed462d1SMartin Povišer  dmas:
476ed462d1SMartin Povišer    minItems: 16
486ed462d1SMartin Povišer    maxItems: 24
496ed462d1SMartin Povišer    description:
506ed462d1SMartin Povišer      DMA channels corresponding to the SERDES units in the peripheral. They are
516ed462d1SMartin Povišer      listed in groups of four per cluster, and within the group they are given
526ed462d1SMartin Povišer      as associated to the TXA, RXA, TXB, RXB units.
536ed462d1SMartin Povišer
546ed462d1SMartin Povišer  dma-names:
556ed462d1SMartin Povišer    minItems: 16
566ed462d1SMartin Povišer    items:
576ed462d1SMartin Povišer      - const: tx0a
586ed462d1SMartin Povišer      - const: rx0a
596ed462d1SMartin Povišer      - const: tx0b
606ed462d1SMartin Povišer      - const: rx0b
616ed462d1SMartin Povišer      - const: tx1a
626ed462d1SMartin Povišer      - const: rx1a
636ed462d1SMartin Povišer      - const: tx1b
646ed462d1SMartin Povišer      - const: rx1b
656ed462d1SMartin Povišer      - const: tx2a
666ed462d1SMartin Povišer      - const: rx2a
676ed462d1SMartin Povišer      - const: tx2b
686ed462d1SMartin Povišer      - const: rx2b
696ed462d1SMartin Povišer      - const: tx3a
706ed462d1SMartin Povišer      - const: rx3a
716ed462d1SMartin Povišer      - const: tx3b
726ed462d1SMartin Povišer      - const: rx3b
736ed462d1SMartin Povišer      - const: tx4a
746ed462d1SMartin Povišer      - const: rx4a
756ed462d1SMartin Povišer      - const: tx4b
766ed462d1SMartin Povišer      - const: rx4b
776ed462d1SMartin Povišer      - const: tx5a
786ed462d1SMartin Povišer      - const: rx5a
796ed462d1SMartin Povišer      - const: tx5b
806ed462d1SMartin Povišer      - const: rx5b
816ed462d1SMartin Povišer    description: |
826ed462d1SMartin Povišer      Names for the DMA channels: 'tx'/'rx', then cluster number, then 'a'/'b'
836ed462d1SMartin Povišer      based on the associated SERDES unit.
846ed462d1SMartin Povišer
856ed462d1SMartin Povišer  clocks:
866ed462d1SMartin Povišer    minItems: 4
876ed462d1SMartin Povišer    maxItems: 6
886ed462d1SMartin Povišer    description:
896ed462d1SMartin Povišer      Clusters' input reference clock.
906ed462d1SMartin Povišer
916ed462d1SMartin Povišer  resets:
926ed462d1SMartin Povišer    maxItems: 1
936ed462d1SMartin Povišer
946ed462d1SMartin Povišer  power-domains:
956ed462d1SMartin Povišer    minItems: 5
966ed462d1SMartin Povišer    maxItems: 7
976ed462d1SMartin Povišer    description:
986ed462d1SMartin Povišer      First a general power domain for register access, then the power
996ed462d1SMartin Povišer      domains of individual clusters for their operation.
1006ed462d1SMartin Povišer
1016ed462d1SMartin Povišer  '#sound-dai-cells':
1026ed462d1SMartin Povišer    const: 1
1036ed462d1SMartin Povišer
1046ed462d1SMartin Povišerrequired:
1056ed462d1SMartin Povišer  - compatible
1066ed462d1SMartin Povišer  - reg
1076ed462d1SMartin Povišer  - dmas
1086ed462d1SMartin Povišer  - dma-names
1096ed462d1SMartin Povišer  - clocks
1106ed462d1SMartin Povišer  - power-domains
1116ed462d1SMartin Povišer  - '#sound-dai-cells'
1126ed462d1SMartin Povišer
11358ae9a2aSKrzysztof KozlowskiunevaluatedProperties: false
1146ed462d1SMartin Povišer
1156ed462d1SMartin Povišerexamples:
1166ed462d1SMartin Povišer  - |
1176ed462d1SMartin Povišer    mca: i2s@9b600000 {
1186ed462d1SMartin Povišer      compatible = "apple,t6000-mca", "apple,mca";
1196ed462d1SMartin Povišer      reg = <0x9b600000 0x10000>,
1206ed462d1SMartin Povišer            <0x9b200000 0x20000>;
1216ed462d1SMartin Povišer
1226ed462d1SMartin Povišer      clocks = <&nco 0>, <&nco 1>, <&nco 2>, <&nco 3>;
1236ed462d1SMartin Povišer      power-domains = <&ps_audio_p>, <&ps_mca0>, <&ps_mca1>,
1246ed462d1SMartin Povišer                      <&ps_mca2>, <&ps_mca3>;
1256ed462d1SMartin Povišer      dmas = <&admac 0>, <&admac 1>, <&admac 2>, <&admac 3>,
1266ed462d1SMartin Povišer             <&admac 4>, <&admac 5>, <&admac 6>, <&admac 7>,
1276ed462d1SMartin Povišer             <&admac 8>, <&admac 9>, <&admac 10>, <&admac 11>,
1286ed462d1SMartin Povišer             <&admac 12>, <&admac 13>, <&admac 14>, <&admac 15>;
1296ed462d1SMartin Povišer      dma-names = "tx0a", "rx0a", "tx0b", "rx0b",
1306ed462d1SMartin Povišer                  "tx1a", "rx1a", "tx1b", "rx1b",
1316ed462d1SMartin Povišer                  "tx2a", "rx2a", "tx2b", "rx2b",
1326ed462d1SMartin Povišer                  "tx3a", "rx3a", "tx3b", "rx3b";
1336ed462d1SMartin Povišer
1346ed462d1SMartin Povišer      #sound-dai-cells = <1>;
1356ed462d1SMartin Povišer    };
136