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