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