1d81bb872SLubomir Rintel# SPDX-License-Identifier: (GPL-2.0+ OR BSD-2-Clause)
2d81bb872SLubomir Rintel%YAML 1.2
3d81bb872SLubomir Rintel---
4d81bb872SLubomir Rintel$id: http://devicetree.org/schemas/sound/marvell,mmp-sspa.yaml#
5d81bb872SLubomir Rintel$schema: http://devicetree.org/meta-schemas/core.yaml#
6d81bb872SLubomir Rintel
7d81bb872SLubomir Rinteltitle: Marvel SSPA Digital Audio Interface Bindings
8d81bb872SLubomir Rintel
9d81bb872SLubomir Rintelmaintainers:
10d81bb872SLubomir Rintel  - Lubomir Rintel <lkundrak@v3.sk>
11d81bb872SLubomir Rintel
12d81bb872SLubomir Rintelproperties:
13d81bb872SLubomir Rintel  $nodename:
14d81bb872SLubomir Rintel    pattern: "^audio-controller(@.*)?$"
15d81bb872SLubomir Rintel
16d81bb872SLubomir Rintel  compatible:
17d81bb872SLubomir Rintel    const: marvell,mmp-sspa
18d81bb872SLubomir Rintel
19d81bb872SLubomir Rintel  reg:
20d81bb872SLubomir Rintel    items:
21d81bb872SLubomir Rintel      - description: RX block
22d81bb872SLubomir Rintel      - description: TX block
23d81bb872SLubomir Rintel
24d81bb872SLubomir Rintel  interrupts:
25d81bb872SLubomir Rintel    maxItems: 1
26d81bb872SLubomir Rintel
27d81bb872SLubomir Rintel  clocks:
28d81bb872SLubomir Rintel    items:
29d81bb872SLubomir Rintel      - description: Clock for the Audio block
30d81bb872SLubomir Rintel      - description: I2S bit clock
31d81bb872SLubomir Rintel
32d81bb872SLubomir Rintel  clock-names:
33d81bb872SLubomir Rintel    items:
34d81bb872SLubomir Rintel      - const: audio
35d81bb872SLubomir Rintel      - const: bitclk
36d81bb872SLubomir Rintel
37d81bb872SLubomir Rintel  power-domains:
38d81bb872SLubomir Rintel    maxItems: 1
39d81bb872SLubomir Rintel
40d81bb872SLubomir Rintel  '#sound-dai-cells':
41d81bb872SLubomir Rintel    const: 0
42d81bb872SLubomir Rintel
43d81bb872SLubomir Rintel  dmas:
44d81bb872SLubomir Rintel    items:
45d81bb872SLubomir Rintel      - description: TX DMA Channel
46d81bb872SLubomir Rintel      - description: RX DMA Channel
47d81bb872SLubomir Rintel
48d81bb872SLubomir Rintel  dma-names:
49d81bb872SLubomir Rintel    items:
50d81bb872SLubomir Rintel      - const: tx
51d81bb872SLubomir Rintel      - const: rx
52d81bb872SLubomir Rintel
53d81bb872SLubomir Rintel  port:
54d81bb872SLubomir Rintel    type: object
55d81bb872SLubomir Rintel
56d81bb872SLubomir Rintel    properties:
57d81bb872SLubomir Rintel      endpoint:
58d81bb872SLubomir Rintel        type: object
59d81bb872SLubomir Rintel
60d81bb872SLubomir Rintel        properties:
61d81bb872SLubomir Rintel          remote-endpoint: true
62d81bb872SLubomir Rintel
63d81bb872SLubomir Rintel          frame-master:
64d81bb872SLubomir Rintel            type: boolean
65d81bb872SLubomir Rintel            description: SoC generates the frame clock
66d81bb872SLubomir Rintel
67d81bb872SLubomir Rintel          bitclock-master:
68d81bb872SLubomir Rintel            type: boolean
69d81bb872SLubomir Rintel            description: SoC generates the bit clock
70d81bb872SLubomir Rintel
71d81bb872SLubomir Rintel          dai-format:
72d81bb872SLubomir Rintel            $ref: /schemas/types.yaml#/definitions/string
73d81bb872SLubomir Rintel            description: The digital audio format
74d81bb872SLubomir Rintel            const: i2s
75d81bb872SLubomir Rintel
76d81bb872SLubomir Rintel        required:
77d81bb872SLubomir Rintel          - remote-endpoint
78d81bb872SLubomir Rintel
79d81bb872SLubomir Rintel    required:
80d81bb872SLubomir Rintel      - endpoint
81d81bb872SLubomir Rintel
82d81bb872SLubomir Rintel    additionalProperties: false
83d81bb872SLubomir Rintel
84d81bb872SLubomir Rintelrequired:
85d81bb872SLubomir Rintel  - "#sound-dai-cells"
86d81bb872SLubomir Rintel  - compatible
87d81bb872SLubomir Rintel  - reg
88d81bb872SLubomir Rintel  - interrupts
89d81bb872SLubomir Rintel  - clocks
90d81bb872SLubomir Rintel  - clock-names
91d81bb872SLubomir Rintel  - dmas
92d81bb872SLubomir Rintel  - dma-names
93d81bb872SLubomir Rintel  - port
94d81bb872SLubomir Rintel
95d81bb872SLubomir RinteladditionalProperties: false
96d81bb872SLubomir Rintel
97d81bb872SLubomir Rintelexamples:
98d81bb872SLubomir Rintel  - |
99d81bb872SLubomir Rintel    #include <dt-bindings/clock/marvell,mmp2.h>
100d81bb872SLubomir Rintel
101d81bb872SLubomir Rintel    audio-controller@d42a0c00 {
102d81bb872SLubomir Rintel      compatible = "marvell,mmp-sspa";
103d81bb872SLubomir Rintel      reg = <0xd42a0c00 0x30>,
104d81bb872SLubomir Rintel            <0xd42a0c80 0x30>;
105d81bb872SLubomir Rintel      interrupts = <2>;
106d81bb872SLubomir Rintel      clock-names = "audio", "bitclk";
107d81bb872SLubomir Rintel      clocks = <&soc_clocks 127>,
108d81bb872SLubomir Rintel               <&audio_clk 1>;
109d81bb872SLubomir Rintel      #sound-dai-cells = <0>;
110d81bb872SLubomir Rintel      dmas = <&adma0 0>, <&adma0 1>;
111d81bb872SLubomir Rintel      dma-names = "tx", "rx";
112d81bb872SLubomir Rintel      port {
113d81bb872SLubomir Rintel        endpoint {
114d81bb872SLubomir Rintel          remote-endpoint = <&rt5631_0>;
115d81bb872SLubomir Rintel          frame-master;
116d81bb872SLubomir Rintel          bitclock-master;
117d81bb872SLubomir Rintel          dai-format = "i2s";
118d81bb872SLubomir Rintel        };
119d81bb872SLubomir Rintel      };
120d81bb872SLubomir Rintel    };
121d81bb872SLubomir Rintel
122d81bb872SLubomir Rintel...
123