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