aboutsummaryrefslogtreecommitdiff
path: root/Documentation/devicetree/bindings/sound/renesas,rz-ssi.yaml
blob: f4610eaed1e1881cb06c04e6bc798f613021786d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/sound/renesas,rz-ssi.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Renesas RZ/{G2L,V2L} ASoC Sound Serial Interface (SSIF-2)

maintainers:
  - Biju Das <biju.das.jz@bp.renesas.com>

allOf:
  - $ref: dai-common.yaml#

properties:
  compatible:
    items:
      - enum:
          - renesas,r9a07g043-ssi  # RZ/G2UL and RZ/Five
          - renesas,r9a07g044-ssi  # RZ/G2{L,LC}
          - renesas,r9a07g054-ssi  # RZ/V2L
      - const: renesas,rz-ssi

  reg:
    maxItems: 1

  interrupts:
    minItems: 2
    maxItems: 3

  interrupt-names:
    oneOf:
      - items:
          - const: int_req
          - const: dma_rx
          - const: dma_tx
      - items:
          - const: int_req
          - const: dma_rt

  clocks:
    maxItems: 4

  clock-names:
    items:
      - const: ssi
      - const: ssi_sfr
      - const: audio_clk1
      - const: audio_clk2

  power-domains:
    maxItems: 1

  resets:
    maxItems: 1

  dmas:
    minItems: 1
    maxItems: 2
    description:
      The first cell represents a phandle to dmac.
      The second cell specifies the encoded MID/RID values of the SSI port
      connected to the DMA client and the slave channel configuration
      parameters.
      bits[0:9]   - Specifies MID/RID value of a SSI channel as below
                    MID/RID value of SSI rx0 = 0x256
                    MID/RID value of SSI tx0 = 0x255
                    MID/RID value of SSI rx1 = 0x25a
                    MID/RID value of SSI tx1 = 0x259
                    MID/RID value of SSI rt2 = 0x25f
                    MID/RID value of SSI rx3 = 0x262
                    MID/RID value of SSI tx3 = 0x261
      bit[10]     - HIEN = 1, Detects a request in response to the rising edge
                    of the signal
      bit[11]     - LVL = 0, Detects based on the edge
      bits[12:14] - AM = 2, Bus cycle mode
      bit[15]     - TM = 0, Single transfer mode

  dma-names:
    oneOf:
      - items:
          - const: tx
          - const: rx
      - items:
          - const: rt

  '#sound-dai-cells':
    const: 0

  port:
    $ref: audio-graph-port.yaml#/definitions/port-base
    description: Connection to controller providing I2S signals

required:
  - compatible
  - reg
  - interrupts
  - interrupt-names
  - clocks
  - clock-names
  - resets
  - '#sound-dai-cells'

unevaluatedProperties: false

examples:
  - |
    #include <dt-bindings/interrupt-controller/arm-gic.h>
    #include <dt-bindings/clock/r9a07g044-cpg.h>

    ssi0: ssi@10049c00 {
        compatible = "renesas,r9a07g044-ssi",
                     "renesas,rz-ssi";
            reg = <0x10049c00 0x400>;
            interrupts = <GIC_SPI 326 IRQ_TYPE_LEVEL_HIGH>,
                         <GIC_SPI 327 IRQ_TYPE_EDGE_RISING>,
                         <GIC_SPI 328 IRQ_TYPE_EDGE_RISING>;
            interrupt-names = "int_req", "dma_rx", "dma_tx";
            clocks = <&cpg CPG_MOD R9A07G044_SSI0_PCLK2>,
                     <&cpg CPG_MOD R9A07G044_SSI0_PCLK_SFR>,
                     <&audio_clk1>,
                     <&audio_clk2>;
            clock-names = "ssi", "ssi_sfr", "audio_clk1", "audio_clk2";
            power-domains = <&cpg>;
            resets = <&cpg R9A07G044_SSI0_RST_M2_REG>;
            dmas = <&dmac 0x2655>,
                   <&dmac 0x2656>;
            dma-names = "tx", "rx";
            #sound-dai-cells = <0>;
    };