1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/sound/apple,mca.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Apple MCA I2S transceiver 8 9description: | 10 MCA is an I2S transceiver peripheral found on M1 and other Apple chips. It is 11 composed of a number of identical clusters which can operate independently 12 or in an interlinked fashion. Up to 6 clusters have been seen on an MCA. 13 14maintainers: 15 - Martin Povišer <povik+lin@cutebit.org> 16 17properties: 18 compatible: 19 items: 20 - enum: 21 - apple,t6000-mca 22 - apple,t8103-mca 23 - const: apple,mca 24 25 reg: 26 items: 27 - description: Register region of the MCA clusters proper 28 - description: Register region of the DMA glue and its FIFOs 29 30 interrupts: 31 minItems: 4 32 maxItems: 6 33 description: 34 One interrupt per each cluster 35 36 '#address-cells': 37 const: 1 38 39 '#size-cells': 40 const: 0 41 42 dmas: 43 minItems: 16 44 maxItems: 24 45 description: 46 DMA channels corresponding to the SERDES units in the peripheral. They are 47 listed in groups of four per cluster, and within the group they are given 48 as associated to the TXA, RXA, TXB, RXB units. 49 50 dma-names: 51 minItems: 16 52 items: 53 - const: tx0a 54 - const: rx0a 55 - const: tx0b 56 - const: rx0b 57 - const: tx1a 58 - const: rx1a 59 - const: tx1b 60 - const: rx1b 61 - const: tx2a 62 - const: rx2a 63 - const: tx2b 64 - const: rx2b 65 - const: tx3a 66 - const: rx3a 67 - const: tx3b 68 - const: rx3b 69 - const: tx4a 70 - const: rx4a 71 - const: tx4b 72 - const: rx4b 73 - const: tx5a 74 - const: rx5a 75 - const: tx5b 76 - const: rx5b 77 description: | 78 Names for the DMA channels: 'tx'/'rx', then cluster number, then 'a'/'b' 79 based on the associated SERDES unit. 80 81 clocks: 82 minItems: 4 83 maxItems: 6 84 description: 85 Clusters' input reference clock. 86 87 resets: 88 maxItems: 1 89 90 power-domains: 91 minItems: 5 92 maxItems: 7 93 description: 94 First a general power domain for register access, then the power 95 domains of individual clusters for their operation. 96 97 '#sound-dai-cells': 98 const: 1 99 100required: 101 - compatible 102 - reg 103 - dmas 104 - dma-names 105 - clocks 106 - power-domains 107 - '#sound-dai-cells' 108 109additionalProperties: false 110 111examples: 112 - | 113 mca: i2s@9b600000 { 114 compatible = "apple,t6000-mca", "apple,mca"; 115 reg = <0x9b600000 0x10000>, 116 <0x9b200000 0x20000>; 117 118 clocks = <&nco 0>, <&nco 1>, <&nco 2>, <&nco 3>; 119 power-domains = <&ps_audio_p>, <&ps_mca0>, <&ps_mca1>, 120 <&ps_mca2>, <&ps_mca3>; 121 dmas = <&admac 0>, <&admac 1>, <&admac 2>, <&admac 3>, 122 <&admac 4>, <&admac 5>, <&admac 6>, <&admac 7>, 123 <&admac 8>, <&admac 9>, <&admac 10>, <&admac 11>, 124 <&admac 12>, <&admac 13>, <&admac 14>, <&admac 15>; 125 dma-names = "tx0a", "rx0a", "tx0b", "rx0b", 126 "tx1a", "rx1a", "tx1b", "rx1b", 127 "tx2a", "rx2a", "tx2b", "rx2b", 128 "tx3a", "rx3a", "tx3b", "rx3b"; 129 130 #sound-dai-cells = <1>; 131 }; 132