File Index
Files and directories
Sign in
FILE

apple,mca.yaml

File preview with syntax highlighting.

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