On Mon, Jun 06, 2022 at 09:19:06PM +0200, Martin Povišer wrote:
Add binding schema for MCA I2S transceiver found on Apple M1 and other chips.
Signed-off-by: Martin Povišer povik+lin@cutebit.org
.../devicetree/bindings/sound/apple,mca.yaml | 102 ++++++++++++++++++ 1 file changed, 102 insertions(+) create mode 100644 Documentation/devicetree/bindings/sound/apple,mca.yaml
diff --git a/Documentation/devicetree/bindings/sound/apple,mca.yaml b/Documentation/devicetree/bindings/sound/apple,mca.yaml new file mode 100644 index 000000000000..c8a36d8c38ad --- /dev/null +++ b/Documentation/devicetree/bindings/sound/apple,mca.yaml @@ -0,0 +1,102 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/sound/apple,mca.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml#
+title: Apple MCA I2S transceiver
+description: |
- MCA is an I2S transceiver peripheral found on M1 and other Apple chips. It is
- composed of a number of identical clusters which can operate independently
- or in an interlinked fashion. Up to 6 clusters have been seen on an MCA.
+maintainers:
- Martin Povišer povik+lin@cutebit.org
+properties:
- compatible:
- items:
- enum:
- apple,t8103-mca
- apple,t6000-mca
- const: apple,mca
- reg:
- minItems: 2
- maxItems: 2
Need to define what each entry is.
- interrupts:
- maxItems: 6
- description: |
One interrupt per each cluster
- "#address-cells":
- const: 1
- "#size-cells":
- const: 0
- dmas:
- minItems: 16
- maxItems: 24
- description: |
DMA channels associated to the SERDES units within the peripheral. They
are listed in groups of four per cluster, and within the cluster they are
given in order TXA, RXA, TXB, RXB of the respective SERDES units.
- dma-names:
- minItems: 16
- maxItems: 24
- description: |
Names for the DMA channels: 'tx'/'rx', then cluster number, then 'a'/'b'
based on the associated SERDES unit.
Express as a schema:
items: pattern: '^(tx|rx)[0-5][ab]$'
- clocks:
- minItems: 4
- maxItems: 6
- description: |
Clusters' input reference clock.
- power-domains:
- minItems: 5
- maxItems: 7
- description: |
First the overall power domain for register access, then the power
domains of individual clusters for their operation.
- "#sound-dai-cells":
- const: 1
+required:
- compatible
- reg
- dmas
- dma-names
- clocks
- power-domains
- '#sound-dai-cells'
+additionalProperties: false
+examples:
- |
- mca: mca@9b600000 {
compatible = "apple,t6000-mca", "apple,mca";
reg = <0x9b600000 0x10000>,
<0x9b500000 0x20000>;
clocks = <&nco 0>, <&nco 1>, <&nco 2>, <&nco 3>;
power-domains = <&ps_audio_p>, <&ps_mca0>, <&ps_mca1>,
<&ps_mca2>, <&ps_mca3>;
dmas = <&admac 0>, <&admac 1>, <&admac 2>, <&admac 3>,
<&admac 4>, <&admac 5>, <&admac 6>, <&admac 7>,
<&admac 8>, <&admac 9>, <&admac 10>, <&admac 11>,
<&admac 12>, <&admac 13>, <&admac 14>, <&admac 15>;
dma-names = "tx0a", "rx0a", "tx0b", "rx0b",
"tx1a", "rx1a", "tx1b", "rx1b",
"tx2a", "rx2a", "tx2b", "rx2b",
"tx3a", "rx3a", "tx3b", "rx3b";
#sound-dai-cells = <1>;
- };
-- 2.33.0