~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/devicetree/bindings/sound/st,stm32-sai.yaml

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /Documentation/devicetree/bindings/sound/st,stm32-sai.yaml (Version linux-6.12-rc7) and /Documentation/devicetree/bindings/sound/st,stm32-sai.yaml (Version linux-5.12.19)


  1 # SPDX-License-Identifier: (GPL-2.0-only OR BS      1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
  2 %YAML 1.2                                           2 %YAML 1.2
  3 ---                                                 3 ---
  4 $id: http://devicetree.org/schemas/sound/st,st      4 $id: http://devicetree.org/schemas/sound/st,stm32-sai.yaml#
  5 $schema: http://devicetree.org/meta-schemas/co      5 $schema: http://devicetree.org/meta-schemas/core.yaml#
  6                                                     6 
  7 title: STMicroelectronics STM32 Serial Audio I      7 title: STMicroelectronics STM32 Serial Audio Interface (SAI)
  8                                                     8 
  9 maintainers:                                        9 maintainers:
 10   - Olivier Moysan <olivier.moysan@foss.st.com> !!  10   - Olivier Moysan <olivier.moysan@st.com>
 11                                                    11 
 12 description:                                       12 description:
 13   The SAI interface (Serial Audio Interface) o     13   The SAI interface (Serial Audio Interface) offers a wide set of audio
 14   protocols as I2S standards, LSB or MSB-justi     14   protocols as I2S standards, LSB or MSB-justified, PCM/DSP, TDM, and AC'97.
 15   The SAI contains two independent audio sub-b     15   The SAI contains two independent audio sub-blocks. Each sub-block has
 16   its own clock generator and I/O lines contro     16   its own clock generator and I/O lines controller.
 17                                                    17 
 18 properties:                                        18 properties:
 19   compatible:                                      19   compatible:
 20     enum:                                          20     enum:
 21       - st,stm32f4-sai                             21       - st,stm32f4-sai
 22       - st,stm32h7-sai                             22       - st,stm32h7-sai
 23                                                    23 
 24   reg:                                             24   reg:
 25     items:                                         25     items:
 26       - description: Base address and size of      26       - description: Base address and size of SAI common register set.
 27       - description: Base address and size of      27       - description: Base address and size of SAI identification register set.
 28     minItems: 1                                    28     minItems: 1
                                                   >>  29     maxItems: 2
 29                                                    30 
 30   ranges:                                          31   ranges:
 31     maxItems: 1                                    32     maxItems: 1
 32                                                    33 
 33   interrupts:                                      34   interrupts:
 34     maxItems: 1                                    35     maxItems: 1
 35                                                    36 
 36   resets:                                          37   resets:
 37     maxItems: 1                                    38     maxItems: 1
 38                                                    39 
 39   "#address-cells":                                40   "#address-cells":
 40     const: 1                                       41     const: 1
 41                                                    42 
 42   "#size-cells":                                   43   "#size-cells":
 43     const: 1                                       44     const: 1
 44                                                    45 
 45   clocks:                                          46   clocks:
 46     maxItems: 3                                    47     maxItems: 3
 47                                                    48 
 48   clock-names:                                     49   clock-names:
 49     maxItems: 3                                    50     maxItems: 3
 50                                                    51 
 51   access-controllers:                          << 
 52     minItems: 1                                << 
 53     maxItems: 2                                << 
 54                                                << 
 55 required:                                          52 required:
 56   - compatible                                     53   - compatible
 57   - reg                                            54   - reg
 58   - ranges                                         55   - ranges
 59   - "#address-cells"                               56   - "#address-cells"
 60   - "#size-cells"                                  57   - "#size-cells"
 61   - clocks                                         58   - clocks
 62   - clock-names                                    59   - clock-names
 63                                                    60 
 64 patternProperties:                                 61 patternProperties:
 65   "^audio-controller@[0-9a-f]+$":                  62   "^audio-controller@[0-9a-f]+$":
 66     type: object                                   63     type: object
 67     additionalProperties: false                << 
 68     description:                                   64     description:
 69       Two subnodes corresponding to SAI sub-bl     65       Two subnodes corresponding to SAI sub-block instances A et B
 70       can be defined. Subnode can be omitted f !!  66       can be defined. Subnode can be omitted for unsused sub-block.
 71                                                    67 
 72     properties:                                    68     properties:
 73       compatible:                                  69       compatible:
 74         description: Compatible for SAI sub-bl     70         description: Compatible for SAI sub-block A or B.
 75         pattern: "^st,stm32-sai-sub-[ab]$"     !!  71         pattern: "st,stm32-sai-sub-[ab]"
 76                                                    72 
 77       "#sound-dai-cells":                          73       "#sound-dai-cells":
 78         const: 0                                   74         const: 0
 79                                                    75 
 80       reg:                                         76       reg:
 81         maxItems: 1                                77         maxItems: 1
 82                                                    78 
 83       clocks:                                      79       clocks:
 84         items:                                     80         items:
 85           - description: sai_ck clock feeding      81           - description: sai_ck clock feeding the internal clock generator.
 86           - description: MCLK clock from a SAI     82           - description: MCLK clock from a SAI set as master clock provider.
 87         minItems: 1                                83         minItems: 1
                                                   >>  84         maxItems: 2
 88                                                    85 
 89       clock-names:                                 86       clock-names:
 90         items:                                     87         items:
 91           - const: sai_ck                          88           - const: sai_ck
 92           - const: MCLK                            89           - const: MCLK
 93         minItems: 1                                90         minItems: 1
                                                   >>  91         maxItems: 2
 94                                                    92 
 95       dmas:                                        93       dmas:
 96         maxItems: 1                                94         maxItems: 1
 97                                                    95 
 98       dma-names:                                   96       dma-names:
 99         description: |                             97         description: |
100           rx: SAI sub-block is configured as a     98           rx: SAI sub-block is configured as a capture DAI.
101           tx: SAI sub-block is configured as a     99           tx: SAI sub-block is configured as a playback DAI.
102         enum: [ rx, tx ]                          100         enum: [ rx, tx ]
103                                                   101 
104       st,sync:                                    102       st,sync:
105         description:                              103         description:
106           Configure the SAI sub-block as slave    104           Configure the SAI sub-block as slave of another SAI sub-block.
107           By default SAI sub-block is in async    105           By default SAI sub-block is in asynchronous mode.
108           Must contain the phandle and index o    106           Must contain the phandle and index of the SAI sub-block providing
109           the synchronization.                    107           the synchronization.
110         $ref: /schemas/types.yaml#/definitions !! 108         allOf:
111         items:                                 !! 109           - $ref: /schemas/types.yaml#/definitions/phandle-array
112           - items:                             !! 110           - maxItems: 1
113               - description: phandle of the SA << 
114               - description: index of the SAI  << 
115                                                   111 
116       st,iec60958:                                112       st,iec60958:
117         description:                              113         description:
118           If set, support S/PDIF IEC6958 proto    114           If set, support S/PDIF IEC6958 protocol for playback.
119           IEC60958 protocol is not available f    115           IEC60958 protocol is not available for capture.
120           By default, custom protocol is assum    116           By default, custom protocol is assumed, meaning that protocol is
121           configured according to protocol def    117           configured according to protocol defined in related DAI link node,
122           such as i2s, left justified, right j    118           such as i2s, left justified, right justified, dsp and pdm protocols.
123         $ref: /schemas/types.yaml#/definitions !! 119         allOf:
                                                   >> 120           - $ref: /schemas/types.yaml#/definitions/flag
124                                                   121 
125       "#clock-cells":                             122       "#clock-cells":
126         description: Configure the SAI device     123         description: Configure the SAI device as master clock provider.
127         const: 0                                  124         const: 0
128                                                   125 
129       port:                                    << 
130         $ref: audio-graph-port.yaml#           << 
131         unevaluatedProperties: false           << 
132                                                << 
133     required:                                     126     required:
134       - compatible                                127       - compatible
135       - "#sound-dai-cells"                        128       - "#sound-dai-cells"
136       - reg                                       129       - reg
137       - clocks                                    130       - clocks
138       - clock-names                               131       - clock-names
139       - dmas                                      132       - dmas
140       - dma-names                                 133       - dma-names
141                                                   134 
142 allOf:                                            135 allOf:
143   - if:                                           136   - if:
144       properties:                                 137       properties:
145         compatible:                               138         compatible:
146           contains:                               139           contains:
147             const: st,stm32f4-sai                 140             const: st,stm32f4-sai
148     then:                                      !! 141 
                                                   >> 142   - then:
149       properties:                                 143       properties:
150         clocks:                                   144         clocks:
151           items:                                  145           items:
152             - description: x8k, SAI parent clo    146             - description: x8k, SAI parent clock for sampling rates multiple of 8kHz.
153             - description: x11k, SAI parent cl    147             - description: x11k, SAI parent clock for sampling rates multiple of 11.025kHz.
154                                                   148 
155         clock-names:                              149         clock-names:
156           items:                                  150           items:
157             - const: x8k                          151             - const: x8k
158             - const: x11k                         152             - const: x11k
159     else:                                      !! 153 
                                                   >> 154   - else:
160       properties:                                 155       properties:
161         clocks:                                   156         clocks:
162           items:                                  157           items:
163             - description: pclk feeds the peri    158             - description: pclk feeds the peripheral bus interface.
164             - description: x8k, SAI parent clo    159             - description: x8k, SAI parent clock for sampling rates multiple of 8kHz.
165             - description: x11k, SAI parent cl    160             - description: x11k, SAI parent clock for sampling rates multiple of 11.025kHz.
166                                                   161 
167         clock-names:                              162         clock-names:
168           items:                                  163           items:
169             - const: pclk                         164             - const: pclk
170             - const: x8k                          165             - const: x8k
171             - const: x11k                         166             - const: x11k
172                                                   167 
173 additionalProperties: false                       168 additionalProperties: false
174                                                   169 
175 examples:                                         170 examples:
176   - |                                             171   - |
177     #include <dt-bindings/interrupt-controller    172     #include <dt-bindings/interrupt-controller/arm-gic.h>
178     #include <dt-bindings/clock/stm32mp1-clks.    173     #include <dt-bindings/clock/stm32mp1-clks.h>
179     #include <dt-bindings/reset/stm32mp1-reset    174     #include <dt-bindings/reset/stm32mp1-resets.h>
180     sai2: sai@4400b000 {                          175     sai2: sai@4400b000 {
181       compatible = "st,stm32h7-sai";              176       compatible = "st,stm32h7-sai";
182       #address-cells = <1>;                       177       #address-cells = <1>;
183       #size-cells = <1>;                          178       #size-cells = <1>;
184       ranges = <0 0x4400b000 0x400>;              179       ranges = <0 0x4400b000 0x400>;
185       reg = <0x4400b000 0x4>, <0x4400b3f0 0x10    180       reg = <0x4400b000 0x4>, <0x4400b3f0 0x10>;
186       clocks = <&rcc SAI2>, <&rcc PLL3_Q>, <&r    181       clocks = <&rcc SAI2>, <&rcc PLL3_Q>, <&rcc PLL3_R>;
187       clock-names = "pclk", "x8k", "x11k";        182       clock-names = "pclk", "x8k", "x11k";
188       pinctrl-names = "default", "sleep";         183       pinctrl-names = "default", "sleep";
189       pinctrl-0 = <&sai2a_pins_a>, <&sai2b_pin    184       pinctrl-0 = <&sai2a_pins_a>, <&sai2b_pins_b>;
190       pinctrl-1 = <&sai2a_sleep_pins_a>, <&sai    185       pinctrl-1 = <&sai2a_sleep_pins_a>, <&sai2b_sleep_pins_b>;
                                                   >> 186       status = "okay";
191                                                   187 
192       sai2a: audio-controller@4400b004 {          188       sai2a: audio-controller@4400b004 {
193         #sound-dai-cells = <0>;                   189         #sound-dai-cells = <0>;
194         compatible = "st,stm32-sai-sub-a";        190         compatible = "st,stm32-sai-sub-a";
195         reg = <0x4 0x1c>;                         191         reg = <0x4 0x1c>;
196         dmas = <&dmamux1 89 0x400 0x01>;          192         dmas = <&dmamux1 89 0x400 0x01>;
197         dma-names = "tx";                         193         dma-names = "tx";
198         clocks = <&rcc SAI2_K>;                   194         clocks = <&rcc SAI2_K>;
199         clock-names = "sai_ck";                   195         clock-names = "sai_ck";
                                                   >> 196         status = "okay";
200       };                                          197       };
201     };                                            198     };
202                                                   199 
203 ...                                               200 ...
                                                      

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php