162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * Device Tree for ULCB + Kingfisher + Simple Audio Card (MIX + TDM Split) 462306a36Sopenharmony_ci * 562306a36Sopenharmony_ci * Copyright (C) 2022 Renesas Electronics Corp. 662306a36Sopenharmony_ci */ 762306a36Sopenharmony_ci 862306a36Sopenharmony_ci/* 962306a36Sopenharmony_ci * Note: 1062306a36Sopenharmony_ci * The HDMI output is ignored due to the limited number of subdevices 1162306a36Sopenharmony_ci * 1262306a36Sopenharmony_ci * (A) CPU0 (2ch) <----> (2ch) (X) ak4613 (MIX-0) 1362306a36Sopenharmony_ci * (B) CPU1 (2ch) --/ (MIX-1) 1462306a36Sopenharmony_ci * (C) CPU3 (2ch) ----> (8ch) (Y) PCM3168A-p (TDM-0 : 0,1ch) 1562306a36Sopenharmony_ci * (D) CPU2 (2ch) --/ (TDM-1 : 2,3ch) 1662306a36Sopenharmony_ci * (E) CPU4 (2ch) --/ (TDM-2 : 4,5ch) 1762306a36Sopenharmony_ci * (F) CPU5 (2ch) --/ (TDM-3 : 6,7ch) 1862306a36Sopenharmony_ci * (G) CPU6 (6ch) <---- (6ch) (Z) PCM3168A-c 1962306a36Sopenharmony_ci * 2062306a36Sopenharmony_ci * (A) aplay -D plughw:0,0 xxx.wav (MIX-0) 2162306a36Sopenharmony_ci * (B) aplay -D plughw:0,1 xxx.wav (MIX-1) 2262306a36Sopenharmony_ci * (C) aplay -D plughw:0,2 xxx.wav (TDM-0) 2362306a36Sopenharmony_ci * (D) aplay -D plughw:0,3 xxx.wav (TDM-1) 2462306a36Sopenharmony_ci * (E) aplay -D plughw:0,4 xxx.wav (TDM-2) 2562306a36Sopenharmony_ci * (F) aplay -D plughw:0,5 xxx.wav (TDM-3) 2662306a36Sopenharmony_ci * 2762306a36Sopenharmony_ci * (A) arecord -D plughw:0,0 xxx.wav 2862306a36Sopenharmony_ci * (G) arecord -D plughw:0,6 xxx.wav 2962306a36Sopenharmony_ci */ 3062306a36Sopenharmony_ci 3162306a36Sopenharmony_ci&sound_card { 3262306a36Sopenharmony_ci 3362306a36Sopenharmony_ci simple-audio-card,routing = "ak4613 Playback", "DAI0 Playback", 3462306a36Sopenharmony_ci "ak4613 Playback", "DAI1 Playback", 3562306a36Sopenharmony_ci "DAI0 Capture", "ak4613 Capture", 3662306a36Sopenharmony_ci "pcm3168a Playback", "DAI2 Playback", 3762306a36Sopenharmony_ci "pcm3168a Playback", "DAI3 Playback", 3862306a36Sopenharmony_ci "pcm3168a Playback", "DAI4 Playback", 3962306a36Sopenharmony_ci "pcm3168a Playback", "DAI5 Playback"; 4062306a36Sopenharmony_ci 4162306a36Sopenharmony_ci /* dai-link@0 is defined in ulcb.dtsi */ 4262306a36Sopenharmony_ci 4362306a36Sopenharmony_ci simple-audio-card,dai-link@1 { 4462306a36Sopenharmony_ci #address-cells = <1>; 4562306a36Sopenharmony_ci #size-cells = <0>; 4662306a36Sopenharmony_ci reg = <1>; 4762306a36Sopenharmony_ci convert-channels = <8>; /* to 8ch TDM */ 4862306a36Sopenharmony_ci 4962306a36Sopenharmony_ci /* 5062306a36Sopenharmony_ci * (C) CPU2 5162306a36Sopenharmony_ci */ 5262306a36Sopenharmony_ci cpu@0 { 5362306a36Sopenharmony_ci reg = <0>; 5462306a36Sopenharmony_ci bitclock-master; 5562306a36Sopenharmony_ci frame-master; 5662306a36Sopenharmony_ci sound-dai = <&rcar_sound 2>; 5762306a36Sopenharmony_ci }; 5862306a36Sopenharmony_ci /* 5962306a36Sopenharmony_ci * (D) CPU3 6062306a36Sopenharmony_ci */ 6162306a36Sopenharmony_ci cpu@1 { 6262306a36Sopenharmony_ci reg = <1>; 6362306a36Sopenharmony_ci sound-dai = <&rcar_sound 3>; 6462306a36Sopenharmony_ci }; 6562306a36Sopenharmony_ci /* 6662306a36Sopenharmony_ci * (E) CPU4 6762306a36Sopenharmony_ci */ 6862306a36Sopenharmony_ci cpu@2 { 6962306a36Sopenharmony_ci reg = <2>; 7062306a36Sopenharmony_ci sound-dai = <&rcar_sound 4>; 7162306a36Sopenharmony_ci }; 7262306a36Sopenharmony_ci /* 7362306a36Sopenharmony_ci * (F) CPU5 7462306a36Sopenharmony_ci */ 7562306a36Sopenharmony_ci cpu@3 { 7662306a36Sopenharmony_ci reg = <3>; 7762306a36Sopenharmony_ci sound-dai = <&rcar_sound 5>; 7862306a36Sopenharmony_ci }; 7962306a36Sopenharmony_ci /* 8062306a36Sopenharmony_ci * (Y) PCM3168A-p 8162306a36Sopenharmony_ci */ 8262306a36Sopenharmony_ci codec { 8362306a36Sopenharmony_ci prefix = "pcm3168a"; 8462306a36Sopenharmony_ci mclk-fs = <512>; 8562306a36Sopenharmony_ci sound-dai = <&pcm3168a 0>; 8662306a36Sopenharmony_ci }; 8762306a36Sopenharmony_ci }; 8862306a36Sopenharmony_ci simple-audio-card,dai-link@2 { 8962306a36Sopenharmony_ci reg = <2>; 9062306a36Sopenharmony_ci /* 9162306a36Sopenharmony_ci * (G) CPU6 9262306a36Sopenharmony_ci */ 9362306a36Sopenharmony_ci cpu { 9462306a36Sopenharmony_ci bitclock-master; 9562306a36Sopenharmony_ci frame-master; 9662306a36Sopenharmony_ci sound-dai = <&rcar_sound 6>; 9762306a36Sopenharmony_ci }; 9862306a36Sopenharmony_ci /* 9962306a36Sopenharmony_ci * (Z) PCM3168A-c 10062306a36Sopenharmony_ci */ 10162306a36Sopenharmony_ci codec { 10262306a36Sopenharmony_ci prefix = "pcm3168a"; 10362306a36Sopenharmony_ci mclk-fs = <512>; 10462306a36Sopenharmony_ci sound-dai = <&pcm3168a 1>; 10562306a36Sopenharmony_ci }; 10662306a36Sopenharmony_ci }; 10762306a36Sopenharmony_ci}; 10862306a36Sopenharmony_ci 10962306a36Sopenharmony_ci&pcm3168a { 11062306a36Sopenharmony_ci /* 11162306a36Sopenharmony_ci * (Y) PCM3168A-p 11262306a36Sopenharmony_ci * (Z) PCM3168A-c 11362306a36Sopenharmony_ci */ 11462306a36Sopenharmony_ci #sound-dai-cells = <1>; 11562306a36Sopenharmony_ci}; 11662306a36Sopenharmony_ci 11762306a36Sopenharmony_ci&rcar_sound { 11862306a36Sopenharmony_ci rcar_sound,dai { 11962306a36Sopenharmony_ci 12062306a36Sopenharmony_ci /* dai0-1 are defined in ulcb.dtsi */ 12162306a36Sopenharmony_ci 12262306a36Sopenharmony_ci /* 12362306a36Sopenharmony_ci * (C) CPU2 12462306a36Sopenharmony_ci */ 12562306a36Sopenharmony_ci dai2 { 12662306a36Sopenharmony_ci playback = <&ssiu30 &ssi3>; 12762306a36Sopenharmony_ci }; 12862306a36Sopenharmony_ci /* 12962306a36Sopenharmony_ci * (D) CPU3 13062306a36Sopenharmony_ci */ 13162306a36Sopenharmony_ci dai3 { 13262306a36Sopenharmony_ci playback = <&ssiu31 &ssi3>; 13362306a36Sopenharmony_ci }; 13462306a36Sopenharmony_ci /* 13562306a36Sopenharmony_ci * (E) CPU4 13662306a36Sopenharmony_ci */ 13762306a36Sopenharmony_ci dai4 { 13862306a36Sopenharmony_ci playback = <&ssiu32 &ssi3>; 13962306a36Sopenharmony_ci }; 14062306a36Sopenharmony_ci /* 14162306a36Sopenharmony_ci * (F) CPU5 14262306a36Sopenharmony_ci */ 14362306a36Sopenharmony_ci dai5 { 14462306a36Sopenharmony_ci playback = <&ssiu33 &ssi3>; 14562306a36Sopenharmony_ci }; 14662306a36Sopenharmony_ci /* 14762306a36Sopenharmony_ci * (G) CPU6 14862306a36Sopenharmony_ci */ 14962306a36Sopenharmony_ci dai6 { 15062306a36Sopenharmony_ci capture = <&ssi4>; 15162306a36Sopenharmony_ci }; 15262306a36Sopenharmony_ci }; 15362306a36Sopenharmony_ci}; 154