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

TOMOYO Linux Cross Reference
Linux/sound/soc/generic/audio-graph-card2-custom-sample.dtsi

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 /sound/soc/generic/audio-graph-card2-custom-sample.dtsi (Version linux-6.12-rc7) and /sound/soc/generic/audio-graph-card2-custom-sample.dtsi (Version linux-6.6.60)


  1 // SPDX-License-Identifier: GPL-2.0                 1 // SPDX-License-Identifier: GPL-2.0
  2 /*                                                  2 /*
  3  * audio-graph-card2-custom-sample.dtsi             3  * audio-graph-card2-custom-sample.dtsi
  4  *                                                  4  *
  5  * Copyright (C) 2020 Renesas Electronics Corp      5  * Copyright (C) 2020 Renesas Electronics Corp.
  6  * Copyright (C) 2020 Kuninori Morimoto <kunino      6  * Copyright (C) 2020 Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
  7  *                                                  7  *
  8  * This sample indicates how to use audio-grap      8  * This sample indicates how to use audio-graph-card2 and its
  9  * custom driver. "audio-graph-card2-custom-sa      9  * custom driver. "audio-graph-card2-custom-sample" is the custome driver
 10  * which is using audio-graph-card2.               10  * which is using audio-graph-card2.
 11  *                                                 11  *
 12  * You can easily use this sample by adding be     12  * You can easily use this sample by adding below line on your DT file,
 13  * and add new CONFIG to your .config.             13  * and add new CONFIG to your .config.
 14  *                                                 14  *
 15  *      #include "../../../../../sound/soc/gen     15  *      #include "../../../../../sound/soc/generic/audio-graph-card2-custom-sample.dtsi"
 16  *                                                 16  *
 17  *      CONFIG_SND_AUDIO_GRAPH_CARD2               17  *      CONFIG_SND_AUDIO_GRAPH_CARD2
 18  *      CONFIG_SND_AUDIO_GRAPH_CARD2_CUSTOM_SA     18  *      CONFIG_SND_AUDIO_GRAPH_CARD2_CUSTOM_SAMPLE
 19  *      CONFIG_SND_TEST_COMPONENT                  19  *      CONFIG_SND_TEST_COMPONENT
 20  *                                                 20  *
 21  *                                                 21  *
 22  * You can indicate more detail each device be     22  * You can indicate more detail each device behavior as debug if you modify
 23  * "compatible" on each test-component. see be     23  * "compatible" on each test-component. see below
 24  *                                                 24  *
 25  *      test_cpu {                                 25  *      test_cpu {
 26  *      -       compatible = "test-cpu";           26  *      -       compatible = "test-cpu";
 27  *      +       compatible = "test-cpu-verbose     27  *      +       compatible = "test-cpu-verbose";
 28  *              ...                                28  *              ...
 29  *      };                                         29  *      };
 30  *                                                 30  *
 31  *      test_codec {                               31  *      test_codec {
 32  *      -       compatible = "test-codec";         32  *      -       compatible = "test-codec";
 33  *      +       compatible = "test-codec-verbo     33  *      +       compatible = "test-codec-verbose";
 34  *              ...                                34  *              ...
 35  *      };                                         35  *      };
 36  *                                                 36  *
 37  *                                                 37  *
 38  * Below sample doesn't use "format" property,     38  * Below sample doesn't use "format" property,
 39  * because test-component driver (test-cpu/tes     39  * because test-component driver (test-cpu/test-codec) is supporting
 40  * snd_soc_dai_ops :: .auto_selectable_formats     40  * snd_soc_dai_ops :: .auto_selectable_formats.
 41  * see                                             41  * see
 42  *      snd_soc_runtime_get_dai_fmt()              42  *      snd_soc_runtime_get_dai_fmt()
 43  *      linux/sound/soc/generic/test-component     43  *      linux/sound/soc/generic/test-component.c :: test_dai_formats
 44  */                                                44  */
 45 / {                                                45 / {
 46         /*                                         46         /*
 47          * @ : used at links                       47          * @ : used at links
 48          *                                         48          *
 49          * [Normal]                                49          * [Normal]
 50          *      cpu0 <-@-----------------> code     50          *      cpu0 <-@-----------------> codec0
 51          *                                         51          *
 52          * [Semi-Multi]                            52          * [Semi-Multi]
 53          *                                         53          *
 54          * CPU:Codec = 1:N                         54          * CPU:Codec = 1:N
 55          *                                         55          *
 56          *                      +-+                56          *                      +-+
 57          *      cpu7 <-@------->| |-> codec12       57          *      cpu7 <-@------->| |-> codec12
 58          *                      | |-> codec13      58          *                      | |-> codec13
 59          *                      +-+                59          *                      +-+
 60          *                                         60          *
 61          * [Multi-CPU/Codec-0]                 !!  61          * [Multi-CPU/Codec]
 62          *              +-+             +-+        62          *              +-+             +-+
 63          *      cpu1 <--| |<-@--------->| |-> c     63          *      cpu1 <--| |<-@--------->| |-> codec1
 64          *      cpu2 <--| |             | |->      64          *      cpu2 <--| |             | |-> codec2
 65          *              +-+             +-+        65          *              +-+             +-+
 66          *                                         66          *
 67          * [Multi-CPU/Codec-1]                 << 
 68          *                                     << 
 69          *              +-+             +-+    << 
 70          *              | |<-@--------->| |     << 
 71          *              | |             | |    << 
 72          *      cpu8 <--| |<----------->| |->  << 
 73          *      cpu9 <--| |<---+------->| |->  << 
 74          *              +-+     \------>| |->  << 
 75          *                              +-+    << 
 76          *                                     << 
 77          * [Multi-CPU/Codec-2]                 << 
 78          *                                     << 
 79          *              +-+             +-+    << 
 80          *              | |<-@--------->| |     << 
 81          *              | |             | |    << 
 82          *      cpu10 <-| |<----------->| |->  << 
 83          *      cpu11 <-| |<-----+----->| |->  << 
 84          *      cpu12 <-| |<----/       +-+    << 
 85          *              +-+                    << 
 86          *                                     << 
 87          * [DPCM]                                  67          * [DPCM]
 88          *                                         68          *
 89          *      CPU3/CPU4 are converting rate      69          *      CPU3/CPU4 are converting rate to 44100
 90          *                                         70          *
 91          *      FE              BE                 71          *      FE              BE
 92          *                ****                     72          *                ****
 93          *      cpu3 <-@--*  *--@-> codec3          73          *      cpu3 <-@--*  *--@-> codec3
 94          *      cpu4 <-@--*  *  (44.1kHz)          74          *      cpu4 <-@--*  *  (44.1kHz)
 95          *                ****                     75          *                ****
 96          *                                         76          *
 97          * [DPCM-Multi]                            77          * [DPCM-Multi]
 98          *                                         78          *
 99          * --NOTE--                                79          * --NOTE--
100          * Multi-FE is not supported by ASoC.      80          * Multi-FE is not supported by ASoC.
101          *                                         81          *
102          *      FE              BE                 82          *      FE              BE
103          *                ****      +-+            83          *                ****      +-+
104          *      cpu5 <-@--*  *--@-> | | -> code     84          *      cpu5 <-@--*  *--@-> | | -> codec4
105          *      cpu6 <-@--*  *      | | -> code     85          *      cpu6 <-@--*  *      | | -> codec5
106          *                ****      +-+            86          *                ****      +-+
107          *                                         87          *
108          * [Codec2Codec]                           88          * [Codec2Codec]
109          *                         +-@-> codec     89          *                         +-@-> codec6
110          *                         |               90          *                         |
111          *                         +---> codec     91          *                         +---> codec7
112          *                                         92          *
113          * [Codec2Codec-Multi]                     93          * [Codec2Codec-Multi]
114          *                                         94          *
115          * --NOTE--                                95          * --NOTE--
116          * Multi connect N:M is not supported      96          * Multi connect N:M is not supported by ASoC.
117          *                                         97          *
118          *                              +-+        98          *                              +-+
119          *                         +-@->| |->      99          *                         +-@->| |-> codec8
120          *                         |    | |->     100          *                         |    | |-> codec9
121          *                         |    +-+       101          *                         |    +-+
122          *                         |    +-+       102          *                         |    +-+
123          *                         +--->| |->     103          *                         +--->| |-> codec10
124          *                              | |->     104          *                              | |-> codec11
125          *                              +-+       105          *                              +-+
126          */                                       106          */
127         audio-graph-card2-custom-sample {         107         audio-graph-card2-custom-sample {
128                 /*                                108                 /*
129                  * You can use audio-graph-car    109                  * You can use audio-graph-card2 directly by using
130                  *                                110                  *
131                  * compatible = "audio-graph-c    111                  * compatible = "audio-graph-card2";
132                  */                               112                  */
133                 compatible = "audio-graph-card    113                 compatible = "audio-graph-card2-custom-sample";
134                                                   114 
135                         /* for [DPCM]             115                         /* for [DPCM]              */
136                         /* BE                     116                         /* BE                   FE */
137                 routing = "TC DAI3 Playback",     117                 routing = "TC DAI3 Playback",   "DAI3 Playback",
138                           "TC DAI3 Playback",     118                           "TC DAI3 Playback",   "DAI4 Playback",
139                           "DAI3 Capture",         119                           "DAI3 Capture",       "TC DAI3 Capture",
140                           "DAI4 Capture",         120                           "DAI4 Capture",       "TC DAI3 Capture",
141                         /* for [DPCM-Multi]       121                         /* for [DPCM-Multi]        */
142                         /* BE                     122                         /* BE                   FE */
143                           "TC DAI4 Playback",     123                           "TC DAI4 Playback",   "DAI5 Playback",
144                           "TC DAI5 Playback",     124                           "TC DAI5 Playback",   "DAI5 Playback",
145                           "TC DAI4 Playback",     125                           "TC DAI4 Playback",   "DAI6 Playback",
146                           "TC DAI5 Playback",     126                           "TC DAI5 Playback",   "DAI6 Playback",
147                           "DAI5 Capture",         127                           "DAI5 Capture",       "TC DAI4 Capture",
148                           "DAI5 Capture",         128                           "DAI5 Capture",       "TC DAI5 Capture",
149                           "DAI6 Capture",         129                           "DAI6 Capture",       "TC DAI4 Capture",
150                           "DAI6 Capture",         130                           "DAI6 Capture",       "TC DAI5 Capture",
151                         /* for [Codec2Codec] *    131                         /* for [Codec2Codec] */
152                           "TC OUT",               132                           "TC OUT",             "TC DAI7 Playback",
153                           "TC DAI6 Capture",      133                           "TC DAI6 Capture",    "TC IN",
154                         /* for [Codec2Codec-Mu    134                         /* for [Codec2Codec-Multi] */
155                           "TC OUT",               135                           "TC OUT",             "TC DAI10 Playback",
156                           "TC DAI8 Capture",      136                           "TC DAI8 Capture",    "TC IN",
157                           "TC OUT",               137                           "TC OUT",             "TC DAI11 Playback",
158                           "TC DAI9 Capture",      138                           "TC DAI9 Capture",    "TC IN";
159                                                   139 
160                 links = <                         140                 links = <
161                         /*                        141                         /*
162                          * [Normal]: cpu side     142                          * [Normal]: cpu side only
163                          * cpu0/codec0            143                          * cpu0/codec0
164                          */                       144                          */
165                          &cpu0                    145                          &cpu0
166                                                   146 
167                         /*                     !! 147                         /* [Semi-Multi] */
168                          * [Semi-Multi]        << 
169                          * cpu7/codec12/codec1 << 
170                          */                    << 
171                         &sm0                      148                         &sm0
172                                                   149 
173                         /*                        150                         /*
174                          * [Multi-CPU/Codec-0] !! 151                          * [Multi-CPU/Codec]: cpu side only
175                          * cpu1/cpu2/codec1/co    152                          * cpu1/cpu2/codec1/codec2
176                          */                       153                          */
177                          &mcpu0                   154                          &mcpu0
178                                                   155 
179                         /*                        156                         /*
180                          * [Multi-CPU/Codec-1] << 
181                          * cpu8/cpu9/codec14/c << 
182                          *                     << 
183                          * Because it will rea << 
184                          * disable it so far.  << 
185                          * If you want to try  << 
186                          */                    << 
187                         //&mcpu1               << 
188                                                << 
189                         /*                     << 
190                          * [Multi-CPU/Codec-2] << 
191                          * cpu10/cpu11/cpu12/c << 
192                          *                     << 
193                          * Because it will rea << 
194                          * disable it so far.  << 
195                          * If you want to try  << 
196                          */                    << 
197                         //&mcpu2               << 
198                                                << 
199                         /*                     << 
200                          * [DPCM]: both FE / B    157                          * [DPCM]: both FE / BE
201                          * cpu3/cpu4/codec3       158                          * cpu3/cpu4/codec3
202                          */                       159                          */
203                          &fe00 &fe01 &be0         160                          &fe00 &fe01 &be0
204                                                   161 
205                         /*                        162                         /*
206                          * [DPCM-Multi]: both     163                          * [DPCM-Multi]: both FE / BE
207                          * cpu5/cpu6/codec4/co    164                          * cpu5/cpu6/codec4/codec5
208                          */                       165                          */
209                          &fe10 &fe11 &be1         166                          &fe10 &fe11 &be1
210                                                   167 
211                         /*                        168                         /*
212                          * [Codec2Codec]: cpu     169                          * [Codec2Codec]: cpu side only
213                          * codec6/codec7          170                          * codec6/codec7
214                          */                       171                          */
215                          &c2c                     172                          &c2c
216                                                   173 
217                         /*                        174                         /*
218                          * [Codec2Codec-Multi]    175                          * [Codec2Codec-Multi]: cpu side only
219                          * codec8/codec9/codec    176                          * codec8/codec9/codec10/codec11
220                          */                       177                          */
221                          &c2c_m                   178                          &c2c_m
222                 >;                                179                 >;
223                                                   180 
224                 multi {                           181                 multi {
225                         #address-cells = <1>;     182                         #address-cells = <1>;
226                         #size-cells = <0>;        183                         #size-cells = <0>;
227                                                   184 
228                         /*                     << 
229                          * [Multi-CPU-0]       << 
230                          *                     << 
231                          *              +---+  << 
232                          *      cpu1 <--|A X|<- << 
233                          *      cpu2 <--|B  |  << 
234                          *              +---+  << 
235                          */                    << 
236                         ports@0 {                 185                         ports@0 {
237                                 reg = <0>;        186                                 reg = <0>;
238                                 #address-cells    187                                 #address-cells = <1>;
239                                 #size-cells =     188                                 #size-cells = <0>;
240                         mcpu0:  port@0 { reg = !! 189                         /* [Multi-CPU] */
241                                 port@1 { reg = !! 190                         mcpu0:  port@0 { reg = <0>; mcpu0_ep: endpoint { remote-endpoint = <&mcodec0_ep>; }; };
242                                 port@2 { reg = !! 191                                 port@1 { reg = <1>; mcpu1_ep: endpoint { remote-endpoint = <&cpu1_ep>;    }; };
                                                   >> 192                                 port@2 { reg = <2>; mcpu2_ep: endpoint { remote-endpoint = <&cpu2_ep>;    }; };
243                         };                        193                         };
244                                                   194 
245                         /*                     !! 195                         /* [Multi-Codec] */
246                          * [Multi-Codec-0]     << 
247                          *                     << 
248                          *              +---+  << 
249                          *      cpu1 <--|A X|<- << 
250                          *      cpu2 <--|B  |  << 
251                          *              +---+  << 
252                          */                    << 
253                         ports@1 {                 196                         ports@1 {
254                                 reg = <1>;        197                                 reg = <1>;
255                                 #address-cells    198                                 #address-cells = <1>;
256                                 #size-cells =     199                                 #size-cells = <0>;
257                                 port@0 { reg = !! 200                                 port@0 { reg = <0>; mcodec0_ep: endpoint { remote-endpoint = <&mcpu0_ep>;  }; };
258                                 port@1 { reg = !! 201                                 port@1 { reg = <1>; mcodec1_ep: endpoint { remote-endpoint = <&codec1_ep>; }; };
259                                 port@2 { reg = !! 202                                 port@2 { reg = <2>; mcodec2_ep: endpoint { remote-endpoint = <&codec2_ep>; }; };
260                         };                        203                         };
261                                                   204 
262                         /*                     !! 205                         /* [DPCM-Multi]::BE */
263                          * [DPCM-Multi]::BE    << 
264                          *                     << 
265                          *      FE             << 
266                          *                **** << 
267                          *      cpu5 <-@--*  *- << 
268                          *      cpu6 <-@--*  *  << 
269                          *                **** << 
270                          */                    << 
271                         ports@2 {                 206                         ports@2 {
272                                 reg = <2>;        207                                 reg = <2>;
273                                 #address-cells    208                                 #address-cells = <1>;
274                                 #size-cells =     209                                 #size-cells = <0>;
275                                 port@0 { reg = !! 210                                 port@0 { reg = <0>; mbe_ep:  endpoint { remote-endpoint = <&be10_ep>;  }; };
276                                 port@1 { reg = !! 211                                 port@1 { reg = <1>; mbe1_ep: endpoint { remote-endpoint = <&codec4_ep>; }; };
277                                 port@2 { reg = !! 212                                 port@2 { reg = <2>; mbe2_ep: endpoint { remote-endpoint = <&codec5_ep>; }; };
278                         };                        213                         };
279                                                   214 
280                         /*                     !! 215                         /* [Codec2Codec-Multi]::CPU */
281                          * [Codec2Codec-Multi] << 
282                          *                     << 
283                          *              +---+  << 
284                          *         +-@->|X A|- << 
285                          *         |    |  B|- << 
286                          *         |    +---+  << 
287                          *         |    +---+  << 
288                          *         +--->|x a|- << 
289                          *              |  b|- << 
290                          *              +---+  << 
291                          */                    << 
292                         ports@3 {                 216                         ports@3 {
293                                 reg = <3>;        217                                 reg = <3>;
294                                 #address-cells    218                                 #address-cells = <1>;
295                                 #size-cells =     219                                 #size-cells = <0>;
296                                 port@0 { reg = !! 220                                 port@0 { reg = <0>; mc2c0_ep:  endpoint { remote-endpoint = <&c2cmf_ep>;  }; };
297                                 port@1 { reg = !! 221                                 port@1 { reg = <1>; mc2c00_ep: endpoint { remote-endpoint = <&codec8_ep>; }; };
298                                 port@2 { reg = !! 222                                 port@2 { reg = <2>; mc2c01_ep: endpoint { remote-endpoint = <&codec9_ep>; }; };
299                         };                        223                         };
300                                                   224 
301                         /*                     !! 225                         /* [Codec2Codec-Multi]::Codec */
302                          * [Codec2Codec-Multi] << 
303                          *                     << 
304                          *              +---+  << 
305                          *         +-@->|X A|- << 
306                          *         |    |  B|- << 
307                          *         |    +---+  << 
308                          *         |    +---+  << 
309                          *         +--->|x a|- << 
310                          *              |  b|- << 
311                          *              +---+  << 
312                          */                    << 
313                         ports@4 {                 226                         ports@4 {
314                                 reg = <4>;        227                                 reg = <4>;
315                                 #address-cells    228                                 #address-cells = <1>;
316                                 #size-cells =     229                                 #size-cells = <0>;
317                                 port@0 { reg = !! 230                                 port@0 { reg = <0>; mc2c1_ep:  endpoint { remote-endpoint = <&c2cmb_ep>;  }; };
318                                 port@1 { reg = !! 231                                 port@1 { reg = <1>; mc2c10_ep: endpoint { remote-endpoint = <&codec10_ep>; }; };
319                                 port@2 { reg = !! 232                                 port@2 { reg = <2>; mc2c11_ep: endpoint { remote-endpoint = <&codec11_ep>; }; };
320                         };                        233                         };
321                                                   234 
322                         /*                     !! 235                         /* [Semi-Multi] */
323                          * [Semi-Multi]        << 
324                          *                     << 
325                          *                     << 
326                          *      cpu7 <-@------- << 
327                          *                     << 
328                          *                     << 
329                          */                    << 
330                         ports@5 {                 236                         ports@5 {
331                                 reg = <5>;        237                                 reg = <5>;
332                                 #address-cells    238                                 #address-cells = <1>;
333                                 #size-cells =     239                                 #size-cells = <0>;
334                                 port@0 { reg = !! 240                                 port@0 { reg = <0>; smcodec0_ep: endpoint { remote-endpoint = <&cpu7_ep>;    }; };
335                                 port@1 { reg = !! 241                                 port@1 { reg = <1>; smcodec1_ep: endpoint { remote-endpoint = <&codec12_ep>; }; };
336                                 port@2 { reg = !! 242                                 port@2 { reg = <2>; smcodec2_ep: endpoint { remote-endpoint = <&codec13_ep>; }; };
337                         };                     << 
338                                                << 
339                         /*                     << 
340                          * [Multi-CPU-1]       << 
341                          *                     << 
342                          *              +---+  << 
343                          *              |  X|<- << 
344                          *              |   |  << 
345                          *      cpu8 <--|A 1|< << 
346                          *      cpu9 <--|B 2|< << 
347                          *              +---+  << 
348                          *                     << 
349                          */                    << 
350                         ports@6 {              << 
351                                 reg = <6>;     << 
352                                 #address-cells << 
353                                 #size-cells =  << 
354                         mcpu1:  port@0 { reg = << 
355                                 port@1 {       << 
356                                         #addre << 
357                                         #size- << 
358                                         reg =  << 
359                                         mcpu11 << 
360                                         mcpu11 << 
361                                 };             << 
362                                 port@2 {       << 
363                                         #addre << 
364                                         #size- << 
365                                         reg =  << 
366                                         mcpu12 << 
367                                         mcpu12 << 
368                                         mcpu12 << 
369                                 };             << 
370                         };                     << 
371                                                << 
372                         /*                     << 
373                          * [Multi-Codec-1]     << 
374                          *                     << 
375                          *              +---+  << 
376                          *              |  X|<- << 
377                          *              |   |  << 
378                          *      cpu8 <--|A 1|< << 
379                          *      cpu9 <--|B 2|< << 
380                          *              +---+  << 
381                          *                     << 
382                          */                    << 
383                         ports@7 {              << 
384                                 reg = <7>;     << 
385                                 #address-cells << 
386                                 #size-cells =  << 
387                                 port@0 { reg = << 
388                                 port@1 {       << 
389                                         #addre << 
390                                         #size- << 
391                                         reg =  << 
392                                         mcodec << 
393                                         mcodec << 
394                                 };             << 
395                                 port@2 {       << 
396                                         #addre << 
397                                         #size- << 
398                                         reg =  << 
399                                         mcodec << 
400                                         mcodec << 
401                                 };             << 
402                                 port@3 {       << 
403                                         #addre << 
404                                         #size- << 
405                                         reg =  << 
406                                         mcodec << 
407                                         mcodec << 
408                                 };             << 
409                         };                     << 
410                                                << 
411                         /*                     << 
412                          * [Multi-CPU-2]       << 
413                          *                     << 
414                          *              +---+  << 
415                          *              |  X|<- << 
416                          *              |   |  << 
417                          *      cpu10 <-|A 1|< << 
418                          *      cpu11 <-|B 2|< << 
419                          *      cpu12 <-|C 3|< << 
420                          *              +---+  << 
421                          */                    << 
422                         ports@8 {              << 
423                                 reg = <8>;     << 
424                                 #address-cells << 
425                                 #size-cells =  << 
426                         mcpu2:  port@0 { reg = << 
427                                 port@1 {       << 
428                                         #addre << 
429                                         #size- << 
430                                         reg =  << 
431                                         mcpu21 << 
432                                         mcpu21 << 
433                                 };             << 
434                                 port@2 {       << 
435                                         #addre << 
436                                         #size- << 
437                                         reg =  << 
438                                         mcpu22 << 
439                                         mcpu22 << 
440                                 };             << 
441                                 port@3 {       << 
442                                         #addre << 
443                                         #size- << 
444                                         reg =  << 
445                                         mcpu23 << 
446                                         mcpu23 << 
447                                 };             << 
448                         };                     << 
449                                                << 
450                         /*                     << 
451                          * [Multi-Codec-2]     << 
452                          *                     << 
453                          *              +---+  << 
454                          *              |  X|<- << 
455                          *              |   |  << 
456                          *      cpu10 <-|A 1|< << 
457                          *      cpu11 <-|B 2|< << 
458                          *      cpu12 <-|C 3|< << 
459                          *              +---+  << 
460                          */                    << 
461                         ports@9 {              << 
462                                 reg = <9>;     << 
463                                 #address-cells << 
464                                 #size-cells =  << 
465                                 port@0 { reg = << 
466                                 port@1 {       << 
467                                         #addre << 
468                                         #size- << 
469                                         reg =  << 
470                                         mcodec << 
471                                         mcodec << 
472                                 };             << 
473                                 port@2 {       << 
474                                         #addre << 
475                                         #size- << 
476                                         reg =  << 
477                                         mcodec << 
478                                         mcodec << 
479                                         mcodec << 
480                                 };             << 
481                         };                        243                         };
482                 };                                244                 };
483                                                   245 
484                 dpcm {                            246                 dpcm {
485                         #address-cells = <1>;     247                         #address-cells = <1>;
486                         #size-cells = <0>;        248                         #size-cells = <0>;
487                                                   249 
488                         ports@0 {                 250                         ports@0 {
489                                 reg = <0>;        251                                 reg = <0>;
490                                                   252 
491                                 #address-cells    253                                 #address-cells = <1>;
492                                 #size-cells =     254                                 #size-cells = <0>;
493                                 /*             !! 255                         /* [DPCM]::FE */
494                                  * [DPCM]::FE  << 
495                                  *             << 
496                                  *      FE     << 
497                                  *             << 
498                                  *      cpu3 <- << 
499                                  *      cpu4 < << 
500                                  *             << 
501                                  */            << 
502                         fe00:   port@0 { reg =    256                         fe00:   port@0 { reg = <0>; fe00_ep: endpoint { remote-endpoint = <&cpu3_ep>; }; };
503                         fe01:   port@1 { reg =    257                         fe01:   port@1 { reg = <1>; fe01_ep: endpoint { remote-endpoint = <&cpu4_ep>; }; };
504                                                   258 
505                                 /*             !! 259                         /* [DPCM-Multi]::FE */
506                                  * [DPCM-Multi << 
507                                  *             << 
508                                  *             << 
509                                  *             << 
510                                  *      cpu5 <- << 
511                                  *      cpu6 <- << 
512                                  *             << 
513                                  */            << 
514                         fe10:   port@2 { reg =    260                         fe10:   port@2 { reg = <2>; fe10_ep: endpoint { remote-endpoint = <&cpu5_ep>; }; };
515                         fe11:   port@3 { reg =    261                         fe11:   port@3 { reg = <3>; fe11_ep: endpoint { remote-endpoint = <&cpu6_ep>; }; };
516                         };                        262                         };
517                                                   263 
518                         ports@1 {                 264                         ports@1 {
519                                 reg = <1>;        265                                 reg = <1>;
520                                                   266 
521                                 #address-cells    267                                 #address-cells = <1>;
522                                 #size-cells =     268                                 #size-cells = <0>;
523                                 /*             !! 269                         /* [DPCM]::BE */
524                                  * [DPCM]::BE  << 
525                                  *             << 
526                                  *      FE     << 
527                                  *             << 
528                                  *      cpu3 <- << 
529                                  *      cpu4 < << 
530                                  *             << 
531                                  */            << 
532                         be0:    port@0 { reg =    270                         be0:    port@0 { reg = <0>; be00_ep: endpoint { remote-endpoint = <&codec3_ep>; }; };
533                                                   271 
534                                 /*             !! 272                         /* [DPCM-Multi]::BE */
535                                  * [DPCM-Multi << 
536                                  *             << 
537                                  *             << 
538                                  *             << 
539                                  *      cpu5 <- << 
540                                  *      cpu6 <- << 
541                                  *             << 
542                                  */            << 
543                         be1:    port@1 { reg =    273                         be1:    port@1 { reg = <1>; be10_ep: endpoint { remote-endpoint = <&mbe_ep>; }; };
544                         };                        274                         };
545                 };                                275                 };
546                                                   276 
547                 codec2codec {                     277                 codec2codec {
548                         #address-cells = <1>;     278                         #address-cells = <1>;
549                         #size-cells = <0>;        279                         #size-cells = <0>;
550                         /*                     !! 280                         /* [Codec2Codec] */
551                          * [Codec2Codec]       << 
552                          *                     << 
553                          *      +-@(c2c)-> cod << 
554                          *      |              << 
555                          *      +--------> cod << 
556                          */                    << 
557                         ports@0 {                 281                         ports@0 {
558                                 reg = <0>;        282                                 reg = <0>;
559                                                   283 
560                                 #address-cells    284                                 #address-cells = <1>;
561                                 #size-cells =     285                                 #size-cells = <0>;
562                                                   286 
563                                 /* use default    287                                 /* use default settings */
564                         c2c:    port@0 { reg =    288                         c2c:    port@0 { reg = <0>; c2cf_ep: endpoint { remote-endpoint = <&codec6_ep>; }; };
565                                 port@1 { reg =    289                                 port@1 { reg = <1>; c2cb_ep: endpoint { remote-endpoint = <&codec7_ep>; }; };
566                         };                        290                         };
567                                                   291 
568                         /*                     !! 292                         /* [Codec2Codec-Multi] */
569                          * [Codec2Codec-Multi] << 
570                          *                     << 
571                          *                     << 
572                          *         +-@(c2c_m)- << 
573                          *         |           << 
574                          *         |           << 
575                          *         |           << 
576                          *         +---------- << 
577                          *                     << 
578                          *                     << 
579                          */                    << 
580                         ports@1 {                 293                         ports@1 {
581                                 reg = <1>;        294                                 reg = <1>;
582                                                   295 
583                                 #address-cells    296                                 #address-cells = <1>;
584                                 #size-cells =     297                                 #size-cells = <0>;
585                                                   298 
586                                 /* use origina    299                                 /* use original settings */
587                                 rate = <48000>    300                                 rate = <48000>;
588                         c2c_m:  port@0 { reg =    301                         c2c_m:  port@0 { reg = <0>; c2cmf_ep: endpoint { remote-endpoint = <&mc2c0_ep>; }; };
589                                 port@1 { reg =    302                                 port@1 { reg = <1>; c2cmb_ep: endpoint { remote-endpoint = <&mc2c1_ep>; }; };
590                         };                        303                         };
591                 };                                304                 };
592         };                                        305         };
593                                                   306 
594         test_cpu {                                307         test_cpu {
595                 /*                                308                 /*
596                  * update compatible to indica    309                  * update compatible to indicate more detail behaviour
597                  * if you want. see test-compa    310                  * if you want. see test-compatible for more detail.
598                  *                                311                  *
599                  * ex)                            312                  * ex)
600                  *      - compatible = "test-c    313                  *      - compatible = "test-cpu";
601                  *      + compatible = "test-c    314                  *      + compatible = "test-cpu-verbose";
602                  */                               315                  */
603                 compatible = "test-cpu";          316                 compatible = "test-cpu";
604                 ports {                           317                 ports {
605                         #address-cells = <1>;     318                         #address-cells = <1>;
606                         #size-cells = <0>;        319                         #size-cells = <0>;
607                                                   320 
608                         bitclock-master;          321                         bitclock-master;
609                         frame-master;             322                         frame-master;
610                         /* [Normal] */            323                         /* [Normal] */
611                         cpu0: port@0 { reg = <    324                         cpu0: port@0 { reg = <0>; cpu0_ep: endpoint { remote-endpoint = <&codec0_ep>; }; };
612                                                   325 
613                         /* [Multi-CPU-0] */    !! 326                         /* [Multi-CPU] */
614                               port@1 { reg = < !! 327                               port@1 { reg = <1>; cpu1_ep: endpoint { remote-endpoint = <&mcpu1_ep>; }; };
615                               port@2 { reg = < !! 328                               port@2 { reg = <2>; cpu2_ep: endpoint { remote-endpoint = <&mcpu2_ep>; }; };
616                                                   329 
617                         /* [DPCM]::FE */          330                         /* [DPCM]::FE */
618                               port@3 { reg = <    331                               port@3 { reg = <3>; cpu3_ep: endpoint { remote-endpoint = <&fe00_ep>; }; };
619                               port@4 { reg = <    332                               port@4 { reg = <4>; cpu4_ep: endpoint { remote-endpoint = <&fe01_ep>; }; };
620                                                   333 
621                         /* [DPCM-Multi]::FE */    334                         /* [DPCM-Multi]::FE */
622                               port@5 { reg = <    335                               port@5 { reg = <5>; cpu5_ep: endpoint { remote-endpoint = <&fe10_ep>; }; };
623                               port@6 { reg = <    336                               port@6 { reg = <6>; cpu6_ep: endpoint { remote-endpoint = <&fe11_ep>; }; };
624                                                   337 
625                         /* [Semi-Multi] */        338                         /* [Semi-Multi] */
626                         sm0:  port@7 { reg = <    339                         sm0:  port@7 { reg = <7>; cpu7_ep: endpoint { remote-endpoint = <&smcodec0_ep>; }; };
627                                                << 
628                         /* [Multi-CPU-1] */    << 
629                               port@8 { reg = < << 
630                               port@9 { reg = < << 
631                         /* [Multi-CPU-2] */    << 
632                               port@a { reg = < << 
633                               port@b { reg = < << 
634                               port@c { reg = < << 
635                 };                                340                 };
636         };                                        341         };
637                                                   342 
638         test_codec {                              343         test_codec {
639                 /*                                344                 /*
640                  * update compatible to indica    345                  * update compatible to indicate more detail behaviour
641                  * if you want. see test-compa    346                  * if you want. see test-compatible for more detail.
642                  *                                347                  *
643                  * ex)                            348                  * ex)
644                  *      - compatible = "test-c    349                  *      - compatible = "test-codec";
645                  *      + compatible = "test-c    350                  *      + compatible = "test-codec-verbose";
646                  */                               351                  */
647                 compatible = "test-codec";        352                 compatible = "test-codec";
648                 ports {                           353                 ports {
649                         #address-cells = <1>;     354                         #address-cells = <1>;
650                         #size-cells = <0>;        355                         #size-cells = <0>;
651                                                   356 
652                         /*                        357                         /*
653                          * prefix can be added    358                          * prefix can be added to *component*,
654                          * see audio-graph-car    359                          * see audio-graph-card2::routing
655                          */                       360                          */
656                         prefix = "TC";            361                         prefix = "TC";
657                                                   362 
658                         /* [Normal] */            363                         /* [Normal] */
659                         port@0  { reg = <0>; c    364                         port@0  { reg = <0>; codec0_ep:  endpoint { remote-endpoint = <&cpu0_ep>; }; };
660                                                   365 
661                         /* [Multi-Codec-0] */  !! 366                         /* [Multi-Codec] */
662                         port@1  { reg = <1>; c !! 367                         port@1  { reg = <1>; codec1_ep:  endpoint { remote-endpoint = <&mcodec1_ep>; }; };
663                         port@2  { reg = <2>; c !! 368                         port@2  { reg = <2>; codec2_ep:  endpoint { remote-endpoint = <&mcodec2_ep>; }; };
664                                                   369 
665                         /* [DPCM]::BE */          370                         /* [DPCM]::BE */
666                         port@3  {                 371                         port@3  {
667                                 convert-rate =    372                                 convert-rate = <44100>;
668                                 reg = <3>; cod    373                                 reg = <3>; codec3_ep:  endpoint { remote-endpoint = <&be00_ep>; };
669                         };                        374                         };
670                                                   375 
671                         /* [DPCM-Multi]::BE */    376                         /* [DPCM-Multi]::BE */
672                         port@4  { reg = <4>; c    377                         port@4  { reg = <4>; codec4_ep:  endpoint { remote-endpoint = <&mbe1_ep>; }; };
673                         port@5  { reg = <5>; c    378                         port@5  { reg = <5>; codec5_ep:  endpoint { remote-endpoint = <&mbe2_ep>; }; };
674                                                   379 
675                         /* [Codec2Codec] */       380                         /* [Codec2Codec] */
676                         port@6  { bitclock-mas    381                         port@6  { bitclock-master;
677                                   frame-master    382                                   frame-master;
678                                   reg = <6>; c    383                                   reg = <6>; codec6_ep:  endpoint { remote-endpoint = <&c2cf_ep>; }; };
679                         port@7  { reg = <7>; c    384                         port@7  { reg = <7>; codec7_ep:  endpoint { remote-endpoint = <&c2cb_ep>; }; };
680                                                   385 
681                         /* [Codec2Codec-Multi]    386                         /* [Codec2Codec-Multi] */
682                         port@8  { bitclock-mas    387                         port@8  { bitclock-master;
683                                   frame-master    388                                   frame-master;
684                                   reg = <8>;      389                                   reg = <8>;  codec8_ep:  endpoint { remote-endpoint = <&mc2c00_ep>; }; };
685                         port@9  { reg = <9>;      390                         port@9  { reg = <9>;  codec9_ep:  endpoint { remote-endpoint = <&mc2c01_ep>; }; };
686                         port@a  { reg = <10>;     391                         port@a  { reg = <10>; codec10_ep: endpoint { remote-endpoint = <&mc2c10_ep>; }; };
687                         port@b  { reg = <11>;     392                         port@b  { reg = <11>; codec11_ep: endpoint { remote-endpoint = <&mc2c11_ep>; }; };
688                                                   393 
689                         /* [Semi-Multi] */        394                         /* [Semi-Multi] */
690                         port@c { reg = <12>; c    395                         port@c { reg = <12>; codec12_ep: endpoint { remote-endpoint = <&smcodec1_ep>; }; };
691                         port@d { reg = <13>; c    396                         port@d { reg = <13>; codec13_ep: endpoint { remote-endpoint = <&smcodec2_ep>; }; };
692                                                   397 
693                         /* [Multi-Codec-1] */  << 
694                         port@e  { reg = <14>;  << 
695                         port@f  { reg = <15>;  << 
696                         port@10 { reg = <16>;  << 
697                         /* [Multi-Codec-2] */  << 
698                         port@11 { reg = <17>;  << 
699                         port@12 { reg = <18>;  << 
700                 };                                398                 };
701         };                                        399         };
702 };                                                400 };
                                                      

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