Linux 6.7-rc7
[linux-modified.git] / arch / arm64 / boot / dts / renesas / ulcb-simple-audio-card-mix+split.dtsi
1 // SPDX-License-Identifier: GPL-2.0
2 /*
3  * Device Tree for ULCB + Simple Audio Card (MIXer)
4  *
5  * Copyright (C) 2022 Renesas Electronics Corp.
6  */
7
8 /*
9  * Note:
10  * The HDMI output is ignored due to the limited number of subdevices
11  *
12  *      (A) CPU0 (2ch) <----> (2ch) (X) ak4613  (MIX-0)
13  *      (B) CPU1 (2ch)  --/                     (MIX-1)
14  *
15  *      (A) aplay   -D plughw:0,0 xxx.wav
16  *      (B) aplay   -D plughw:0,1 xxx.wav
17  *
18  *      (A) arecord -D plughw:0,0 xxx.wav
19  */
20
21 / {
22         sound_card: sound {
23                 #address-cells = <1>;
24                 #size-cells = <0>;
25
26                 compatible = "simple-scu-audio-card";
27                 label = "snd-ulcb-mix";
28
29                 simple-audio-card,prefix  = "ak4613";
30                 simple-audio-card,routing = "ak4613 Playback", "DAI0 Playback",
31                                             "ak4613 Playback", "DAI1 Playback",
32                                             "DAI0 Capture",    "ak4613 Capture";
33
34                 simple-audio-card,dai-link@0 {
35                         #address-cells = <1>;
36                         #size-cells = <0>;
37                         reg = <0>;
38                         convert-rate = <48000>;
39
40                         /*
41                          * (A) CPU0
42                          */
43                         cpu@0 {
44                                 reg = <0>;
45                                 bitclock-master;
46                                 frame-master;
47                                 sound-dai = <&rcar_sound 0>;
48                         };
49                         /*
50                          * (B) CPU1
51                          */
52                         cpu@1 {
53                                 reg = <1>;
54                                 sound-dai = <&rcar_sound 1>;
55                         };
56                         /*
57                          * (X) ak4613
58                          */
59                         codec {
60                                 prefix = "ak4613";
61                                 sound-dai = <&ak4613>;
62                         };
63                 };
64         };
65 };
66
67 &ak4613 {
68         /*
69          * (X) ak4613
70          */
71         #sound-dai-cells = <0>;
72 };
73
74 &rcar_sound {
75         #address-cells = <1>;
76         #size-cells = <0>;
77         #sound-dai-cells = <1>;
78
79         rcar_sound,dai@0 {
80                 reg = <0>;
81
82                 /*
83                  * (A) CPU0
84                  */
85                 dai0 {
86                         playback = <&src1 &ctu02 &mix0 &dvc0 &ssi0>;
87                         capture  = <&ssi1 &src0 &dvc1>;
88                 };
89                 /*
90                  * (B) CPU1
91                  */
92                 dai1 {
93                         playback = <&src2 &ctu03 &mix0 &dvc0 &ssi0>;
94                 };
95         };
96 };