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

TOMOYO Linux Cross Reference
Linux/Documentation/devicetree/bindings/sound/fsl,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/fsl,sai.yaml (Version linux-6.12-rc7) and /Documentation/devicetree/bindings/sound/fsl,sai.yaml (Version linux-6.2.16)


  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/fsl,s      4 $id: http://devicetree.org/schemas/sound/fsl,sai.yaml#
  5 $schema: http://devicetree.org/meta-schemas/co      5 $schema: http://devicetree.org/meta-schemas/core.yaml#
  6                                                     6 
  7 title: Freescale Synchronous Audio Interface (      7 title: Freescale Synchronous Audio Interface (SAI).
  8                                                     8 
  9 maintainers:                                        9 maintainers:
 10   - Shengjiu Wang <shengjiu.wang@nxp.com>           10   - Shengjiu Wang <shengjiu.wang@nxp.com>
 11                                                    11 
 12 description: |                                     12 description: |
 13   The SAI is based on I2S module that used com     13   The SAI is based on I2S module that used communicating with audio codecs,
 14   which provides a synchronous audio interface     14   which provides a synchronous audio interface that supports fullduplex
 15   serial interfaces with frame synchronization     15   serial interfaces with frame synchronization such as I2S, AC97, TDM, and
 16   codec/DSP interfaces.                            16   codec/DSP interfaces.
 17                                                    17 
 18 properties:                                        18 properties:
 19   compatible:                                      19   compatible:
 20     oneOf:                                         20     oneOf:
 21       - items:                                     21       - items:
 22           - enum:                                  22           - enum:
 23               - fsl,imx6ul-sai                     23               - fsl,imx6ul-sai
 24               - fsl,imx7d-sai                      24               - fsl,imx7d-sai
 25           - const: fsl,imx6sx-sai                  25           - const: fsl,imx6sx-sai
 26                                                    26 
 27       - items:                                     27       - items:
 28           - enum:                                  28           - enum:
 29               - fsl,imx8mm-sai                     29               - fsl,imx8mm-sai
 30               - fsl,imx8mn-sai                     30               - fsl,imx8mn-sai
 31               - fsl,imx8mp-sai                     31               - fsl,imx8mp-sai
 32           - const: fsl,imx8mq-sai                  32           - const: fsl,imx8mq-sai
 33                                                    33 
 34       - items:                                     34       - items:
 35           - enum:                                  35           - enum:
 36               - fsl,imx6sx-sai                     36               - fsl,imx6sx-sai
 37               - fsl,imx7ulp-sai                    37               - fsl,imx7ulp-sai
 38               - fsl,imx8mq-sai                     38               - fsl,imx8mq-sai
 39               - fsl,imx8qm-sai                     39               - fsl,imx8qm-sai
 40               - fsl,imx8ulp-sai                    40               - fsl,imx8ulp-sai
 41               - fsl,imx93-sai                      41               - fsl,imx93-sai
 42               - fsl,imx95-sai                  << 
 43               - fsl,vf610-sai                      42               - fsl,vf610-sai
 44                                                    43 
 45   reg:                                             44   reg:
 46     maxItems: 1                                    45     maxItems: 1
 47                                                    46 
 48   clocks:                                          47   clocks:
 49     items:                                         48     items:
 50       - description: The ipg clock for registe     49       - description: The ipg clock for register access
 51       - description: master clock source 0 (ob     50       - description: master clock source 0 (obsoleted)
 52       - description: master clock source 1         51       - description: master clock source 1
 53       - description: master clock source 2         52       - description: master clock source 2
 54       - description: master clock source 3         53       - description: master clock source 3
 55       - description: PLL clock source for 8kHz     54       - description: PLL clock source for 8kHz series
 56       - description: PLL clock source for 11kH     55       - description: PLL clock source for 11kHz series
 57     minItems: 4                                    56     minItems: 4
 58                                                    57 
 59   clock-names:                                     58   clock-names:
 60     oneOf:                                         59     oneOf:
 61       - items:                                     60       - items:
 62           - const: bus                             61           - const: bus
 63           - const: mclk0                           62           - const: mclk0
 64           - const: mclk1                           63           - const: mclk1
 65           - const: mclk2                           64           - const: mclk2
 66           - const: mclk3                           65           - const: mclk3
 67           - const: pll8k                           66           - const: pll8k
 68           - const: pll11k                          67           - const: pll11k
 69         minItems: 5                                68         minItems: 5
 70       - items:                                     69       - items:
 71           - const: bus                             70           - const: bus
 72           - const: mclk1                           71           - const: mclk1
 73           - const: mclk2                           72           - const: mclk2
 74           - const: mclk3                           73           - const: mclk3
 75           - const: pll8k                           74           - const: pll8k
 76           - const: pll11k                          75           - const: pll11k
 77         minItems: 4                                76         minItems: 4
 78                                                    77 
 79   power-domains:                               << 
 80     maxItems: 1                                << 
 81                                                << 
 82   dmas:                                            78   dmas:
 83     minItems: 1                                << 
 84     maxItems: 2                                    79     maxItems: 2
 85                                                    80 
 86   dma-names:                                       81   dma-names:
 87     minItems: 1                                !!  82     maxItems: 2
 88     items:                                     << 
 89       - enum: [ rx, tx ]                       << 
 90       - const: tx                              << 
 91                                                    83 
 92   interrupts:                                      84   interrupts:
 93     items:                                         85     items:
 94       - description: receive and transmit inte     86       - description: receive and transmit interrupt
 95                                                    87 
 96   big-endian:                                      88   big-endian:
 97     description: |                                 89     description: |
 98       required if all the SAI registers are bi     90       required if all the SAI registers are big-endian rather than little-endian.
 99     type: boolean                                  91     type: boolean
100                                                    92 
101   fsl,dataline:                                    93   fsl,dataline:
102     $ref: /schemas/types.yaml#/definitions/uin     94     $ref: /schemas/types.yaml#/definitions/uint32-matrix
103     description: |                                 95     description: |
104       Configure the dataline. It has 3 value f     96       Configure the dataline. It has 3 value for each configuration
105     maxItems: 16                                   97     maxItems: 16
106     items:                                         98     items:
107       items:                                       99       items:
108         - description: format Default(0), I2S(    100         - description: format Default(0), I2S(1) or PDM(2)
109           enum: [0, 1, 2]                         101           enum: [0, 1, 2]
110         - description: dataline mask for 'rx'     102         - description: dataline mask for 'rx'
111         - description: dataline mask for 'tx'     103         - description: dataline mask for 'tx'
112                                                   104 
113   fsl,sai-mclk-direction-output:                  105   fsl,sai-mclk-direction-output:
114     description: SAI will output the SAI MCLK     106     description: SAI will output the SAI MCLK clock.
115     type: boolean                                 107     type: boolean
116                                                   108 
117   fsl,sai-synchronous-rx:                         109   fsl,sai-synchronous-rx:
118     description: |                                110     description: |
119       SAI will work in the synchronous mode (s    111       SAI will work in the synchronous mode (sync Tx with Rx) which means
120       both the transmitter and the receiver wi    112       both the transmitter and the receiver will send and receive data by
121       following receiver's bit clocks and fram    113       following receiver's bit clocks and frame sync clocks.
122     type: boolean                                 114     type: boolean
123                                                   115 
124   fsl,sai-asynchronous:                           116   fsl,sai-asynchronous:
125     description: |                                117     description: |
126       SAI will work in the asynchronous mode,     118       SAI will work in the asynchronous mode, which means both transmitter
127       and receiver will send and receive data     119       and receiver will send and receive data by following their own bit clocks
128       and frame sync clocks separately.           120       and frame sync clocks separately.
129       If both fsl,sai-asynchronous and fsl,sai    121       If both fsl,sai-asynchronous and fsl,sai-synchronous-rx are absent, the
130       default synchronous mode (sync Rx with T    122       default synchronous mode (sync Rx with Tx) will be used, which means both
131       transmitter and receiver will send and r    123       transmitter and receiver will send and receive data by following clocks
132       of transmitter.                             124       of transmitter.
133     type: boolean                                 125     type: boolean
134                                                   126 
135   fsl,shared-interrupt:                           127   fsl,shared-interrupt:
136     description: Interrupt is shared with othe    128     description: Interrupt is shared with other modules.
137     type: boolean                                 129     type: boolean
138                                                   130 
139   lsb-first:                                      131   lsb-first:
140     description: |                                132     description: |
141       Configures whether the LSB or the MSB is    133       Configures whether the LSB or the MSB is transmitted
142       first for the fifo data. If this propert    134       first for the fifo data. If this property is absent,
143       the MSB is transmitted first as default,    135       the MSB is transmitted first as default, or the LSB
144       is transmitted first.                       136       is transmitted first.
145     type: boolean                                 137     type: boolean
146                                                   138 
147   "#sound-dai-cells":                             139   "#sound-dai-cells":
148     const: 0                                      140     const: 0
149     description: optional, some dts node didn'    141     description: optional, some dts node didn't add it.
150                                                   142 
151 allOf:                                            143 allOf:
152   - $ref: dai-common.yaml#                        144   - $ref: dai-common.yaml#
153   - if:                                           145   - if:
                                                   >> 146       properties:
                                                   >> 147         compatible:
                                                   >> 148           contains:
                                                   >> 149             const: fsl,vf610-sai
                                                   >> 150     then:
                                                   >> 151       properties:
                                                   >> 152         dmas:
                                                   >> 153           items:
                                                   >> 154             - description: DMA controller phandle and request line for TX
                                                   >> 155             - description: DMA controller phandle and request line for RX
                                                   >> 156         dma-names:
                                                   >> 157           items:
                                                   >> 158             - const: tx
                                                   >> 159             - const: rx
                                                   >> 160     else:
                                                   >> 161       properties:
                                                   >> 162         dmas:
                                                   >> 163           items:
                                                   >> 164             - description: DMA controller phandle and request line for RX
                                                   >> 165             - description: DMA controller phandle and request line for TX
                                                   >> 166         dma-names:
                                                   >> 167           items:
                                                   >> 168             - const: rx
                                                   >> 169             - const: tx
                                                   >> 170   - if:
154       required:                                   171       required:
155         - fsl,sai-asynchronous                    172         - fsl,sai-asynchronous
156     then:                                         173     then:
157       properties:                                 174       properties:
158         fsl,sai-synchronous-rx: false             175         fsl,sai-synchronous-rx: false
159                                                   176 
160 required:                                         177 required:
161   - compatible                                    178   - compatible
162   - reg                                           179   - reg
163   - clocks                                        180   - clocks
164   - clock-names                                   181   - clock-names
165   - dmas                                          182   - dmas
166   - dma-names                                     183   - dma-names
167   - interrupts                                    184   - interrupts
168                                                   185 
169 unevaluatedProperties: false                      186 unevaluatedProperties: false
170                                                   187 
171 examples:                                         188 examples:
172   - |                                             189   - |
173     #include <dt-bindings/interrupt-controller    190     #include <dt-bindings/interrupt-controller/arm-gic.h>
174     #include <dt-bindings/clock/vf610-clock.h>    191     #include <dt-bindings/clock/vf610-clock.h>
175     sai2: sai@40031000 {                          192     sai2: sai@40031000 {
176         compatible = "fsl,vf610-sai";             193         compatible = "fsl,vf610-sai";
177         reg = <0x40031000 0x1000>;                194         reg = <0x40031000 0x1000>;
178         interrupts = <86 IRQ_TYPE_LEVEL_HIGH>;    195         interrupts = <86 IRQ_TYPE_LEVEL_HIGH>;
179         pinctrl-names = "default";                196         pinctrl-names = "default";
180         pinctrl-0 = <&pinctrl_sai2_1>;            197         pinctrl-0 = <&pinctrl_sai2_1>;
181         clocks = <&clks VF610_CLK_PLATFORM_BUS    198         clocks = <&clks VF610_CLK_PLATFORM_BUS>,
182                  <&clks VF610_CLK_SAI2>,          199                  <&clks VF610_CLK_SAI2>,
183                  <&clks 0>, <&clks 0>;            200                  <&clks 0>, <&clks 0>;
184         clock-names = "bus", "mclk1", "mclk2",    201         clock-names = "bus", "mclk1", "mclk2", "mclk3";
185         dma-names = "rx", "tx";                !! 202         dma-names = "tx", "rx";
186         dmas = <&edma0 0 20>, <&edma0 0 21>;   !! 203         dmas = <&edma0 0 21>,
                                                   >> 204                <&edma0 0 20>;
187         big-endian;                               205         big-endian;
188         lsb-first;                                206         lsb-first;
189     };                                            207     };
190                                                   208 
191   - |                                             209   - |
192     #include <dt-bindings/interrupt-controller    210     #include <dt-bindings/interrupt-controller/arm-gic.h>
193     #include <dt-bindings/clock/imx8mm-clock.h    211     #include <dt-bindings/clock/imx8mm-clock.h>
194     sai1: sai@30010000 {                          212     sai1: sai@30010000 {
195         compatible = "fsl,imx8mm-sai", "fsl,im    213         compatible = "fsl,imx8mm-sai", "fsl,imx8mq-sai";
196         reg = <0x30010000 0x10000>;               214         reg = <0x30010000 0x10000>;
197         interrupts = <GIC_SPI 95 IRQ_TYPE_LEVE    215         interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
198         clocks = <&clk IMX8MM_CLK_SAI1_IPG>,      216         clocks = <&clk IMX8MM_CLK_SAI1_IPG>,
199                  <&clk IMX8MM_CLK_DUMMY>,         217                  <&clk IMX8MM_CLK_DUMMY>,
200                  <&clk IMX8MM_CLK_SAI1_ROOT>,     218                  <&clk IMX8MM_CLK_SAI1_ROOT>,
201                  <&clk IMX8MM_CLK_DUMMY>, <&cl    219                  <&clk IMX8MM_CLK_DUMMY>, <&clk IMX8MM_CLK_DUMMY>;
202         clock-names = "bus", "mclk0", "mclk1",    220         clock-names = "bus", "mclk0", "mclk1", "mclk2", "mclk3";
203         dmas = <&sdma2 0 2 0>, <&sdma2 1 2 0>;    221         dmas = <&sdma2 0 2 0>, <&sdma2 1 2 0>;
204         dma-names = "rx", "tx";                   222         dma-names = "rx", "tx";
205         fsl,dataline = <1 0xff 0xff 2 0xff 0x1    223         fsl,dataline = <1 0xff 0xff 2 0xff 0x11>;
206         #sound-dai-cells = <0>;                   224         #sound-dai-cells = <0>;
207     };                                            225     };
                                                      

~ [ 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