1*c9d95cf0SKuninori Morimoto// SPDX-License-Identifier: GPL-2.0 2*c9d95cf0SKuninori Morimoto/* 3*c9d95cf0SKuninori Morimoto * Device Tree for ULCB + Kingfisher + Simple Audio Card (MIX + TDM Split) 4*c9d95cf0SKuninori Morimoto * 5*c9d95cf0SKuninori Morimoto * Copyright (C) 2022 Renesas Electronics Corp. 6*c9d95cf0SKuninori Morimoto */ 7*c9d95cf0SKuninori Morimoto 8*c9d95cf0SKuninori Morimoto/* 9*c9d95cf0SKuninori Morimoto * Note: 10*c9d95cf0SKuninori Morimoto * The HDMI output is ignored due to the limited number of subdevices 11*c9d95cf0SKuninori Morimoto * 12*c9d95cf0SKuninori Morimoto * (A) CPU0 (2ch) <----> (2ch) (X) ak4613 (MIX-0) 13*c9d95cf0SKuninori Morimoto * (B) CPU1 (2ch) --/ (MIX-1) 14*c9d95cf0SKuninori Morimoto * (C) CPU3 (2ch) ----> (8ch) (Y) PCM3168A-p (TDM-0 : 0,1ch) 15*c9d95cf0SKuninori Morimoto * (D) CPU2 (2ch) --/ (TDM-1 : 2,3ch) 16*c9d95cf0SKuninori Morimoto * (E) CPU4 (2ch) --/ (TDM-2 : 4,5ch) 17*c9d95cf0SKuninori Morimoto * (F) CPU5 (2ch) --/ (TDM-3 : 6,7ch) 18*c9d95cf0SKuninori Morimoto * (G) CPU6 (6ch) <---- (6ch) (Z) PCM3168A-c 19*c9d95cf0SKuninori Morimoto * 20*c9d95cf0SKuninori Morimoto * (A) aplay -D plughw:0,0 xxx.wav (MIX-0) 21*c9d95cf0SKuninori Morimoto * (B) aplay -D plughw:0,1 xxx.wav (MIX-1) 22*c9d95cf0SKuninori Morimoto * (C) aplay -D plughw:0,2 xxx.wav (TDM-0) 23*c9d95cf0SKuninori Morimoto * (D) aplay -D plughw:0,3 xxx.wav (TDM-1) 24*c9d95cf0SKuninori Morimoto * (E) aplay -D plughw:0,4 xxx.wav (TDM-2) 25*c9d95cf0SKuninori Morimoto * (F) aplay -D plughw:0,5 xxx.wav (TDM-3) 26*c9d95cf0SKuninori Morimoto * 27*c9d95cf0SKuninori Morimoto * (A) arecord -D plughw:0,0 xxx.wav 28*c9d95cf0SKuninori Morimoto * (G) arecord -D plughw:0,6 xxx.wav 29*c9d95cf0SKuninori Morimoto */ 30*c9d95cf0SKuninori Morimoto 31*c9d95cf0SKuninori Morimoto&sound_card { 32*c9d95cf0SKuninori Morimoto 33*c9d95cf0SKuninori Morimoto simple-audio-card,routing = "ak4613 Playback", "DAI0 Playback", 34*c9d95cf0SKuninori Morimoto "ak4613 Playback", "DAI1 Playback", 35*c9d95cf0SKuninori Morimoto "DAI0 Capture", "ak4613 Capture", 36*c9d95cf0SKuninori Morimoto "pcm3168a Playback", "DAI2 Playback", 37*c9d95cf0SKuninori Morimoto "pcm3168a Playback", "DAI3 Playback", 38*c9d95cf0SKuninori Morimoto "pcm3168a Playback", "DAI4 Playback", 39*c9d95cf0SKuninori Morimoto "pcm3168a Playback", "DAI5 Playback"; 40*c9d95cf0SKuninori Morimoto 41*c9d95cf0SKuninori Morimoto /* dai-link@0 is defined in ulcb.dtsi */ 42*c9d95cf0SKuninori Morimoto 43*c9d95cf0SKuninori Morimoto simple-audio-card,dai-link@1 { 44*c9d95cf0SKuninori Morimoto #address-cells = <1>; 45*c9d95cf0SKuninori Morimoto #size-cells = <0>; 46*c9d95cf0SKuninori Morimoto reg = <1>; 47*c9d95cf0SKuninori Morimoto convert-channels = <8>; /* to 8ch TDM */ 48*c9d95cf0SKuninori Morimoto 49*c9d95cf0SKuninori Morimoto /* 50*c9d95cf0SKuninori Morimoto * (C) CPU2 51*c9d95cf0SKuninori Morimoto */ 52*c9d95cf0SKuninori Morimoto cpu@0 { 53*c9d95cf0SKuninori Morimoto reg = <0>; 54*c9d95cf0SKuninori Morimoto bitclock-master; 55*c9d95cf0SKuninori Morimoto frame-master; 56*c9d95cf0SKuninori Morimoto sound-dai = <&rcar_sound 2>; 57*c9d95cf0SKuninori Morimoto }; 58*c9d95cf0SKuninori Morimoto /* 59*c9d95cf0SKuninori Morimoto * (D) CPU3 60*c9d95cf0SKuninori Morimoto */ 61*c9d95cf0SKuninori Morimoto cpu@1 { 62*c9d95cf0SKuninori Morimoto reg = <1>; 63*c9d95cf0SKuninori Morimoto sound-dai = <&rcar_sound 3>; 64*c9d95cf0SKuninori Morimoto }; 65*c9d95cf0SKuninori Morimoto /* 66*c9d95cf0SKuninori Morimoto * (E) CPU4 67*c9d95cf0SKuninori Morimoto */ 68*c9d95cf0SKuninori Morimoto cpu@2 { 69*c9d95cf0SKuninori Morimoto reg = <2>; 70*c9d95cf0SKuninori Morimoto sound-dai = <&rcar_sound 4>; 71*c9d95cf0SKuninori Morimoto }; 72*c9d95cf0SKuninori Morimoto /* 73*c9d95cf0SKuninori Morimoto * (F) CPU5 74*c9d95cf0SKuninori Morimoto */ 75*c9d95cf0SKuninori Morimoto cpu@3 { 76*c9d95cf0SKuninori Morimoto reg = <3>; 77*c9d95cf0SKuninori Morimoto sound-dai = <&rcar_sound 5>; 78*c9d95cf0SKuninori Morimoto }; 79*c9d95cf0SKuninori Morimoto /* 80*c9d95cf0SKuninori Morimoto * (Y) PCM3168A-p 81*c9d95cf0SKuninori Morimoto */ 82*c9d95cf0SKuninori Morimoto codec { 83*c9d95cf0SKuninori Morimoto prefix = "pcm3168a"; 84*c9d95cf0SKuninori Morimoto mclk-fs = <512>; 85*c9d95cf0SKuninori Morimoto sound-dai = <&pcm3168a 0>; 86*c9d95cf0SKuninori Morimoto }; 87*c9d95cf0SKuninori Morimoto }; 88*c9d95cf0SKuninori Morimoto simple-audio-card,dai-link@2 { 89*c9d95cf0SKuninori Morimoto reg = <2>; 90*c9d95cf0SKuninori Morimoto /* 91*c9d95cf0SKuninori Morimoto * (G) CPU6 92*c9d95cf0SKuninori Morimoto */ 93*c9d95cf0SKuninori Morimoto cpu { 94*c9d95cf0SKuninori Morimoto bitclock-master; 95*c9d95cf0SKuninori Morimoto frame-master; 96*c9d95cf0SKuninori Morimoto sound-dai = <&rcar_sound 6>; 97*c9d95cf0SKuninori Morimoto }; 98*c9d95cf0SKuninori Morimoto /* 99*c9d95cf0SKuninori Morimoto * (Z) PCM3168A-c 100*c9d95cf0SKuninori Morimoto */ 101*c9d95cf0SKuninori Morimoto codec { 102*c9d95cf0SKuninori Morimoto prefix = "pcm3168a"; 103*c9d95cf0SKuninori Morimoto mclk-fs = <512>; 104*c9d95cf0SKuninori Morimoto sound-dai = <&pcm3168a 1>; 105*c9d95cf0SKuninori Morimoto }; 106*c9d95cf0SKuninori Morimoto }; 107*c9d95cf0SKuninori Morimoto}; 108*c9d95cf0SKuninori Morimoto 109*c9d95cf0SKuninori Morimoto&pcm3168a { 110*c9d95cf0SKuninori Morimoto /* 111*c9d95cf0SKuninori Morimoto * (Y) PCM3168A-p 112*c9d95cf0SKuninori Morimoto * (Z) PCM3168A-c 113*c9d95cf0SKuninori Morimoto */ 114*c9d95cf0SKuninori Morimoto #sound-dai-cells = <1>; 115*c9d95cf0SKuninori Morimoto}; 116*c9d95cf0SKuninori Morimoto 117*c9d95cf0SKuninori Morimoto&rcar_sound { 118*c9d95cf0SKuninori Morimoto rcar_sound,dai { 119*c9d95cf0SKuninori Morimoto 120*c9d95cf0SKuninori Morimoto /* dai0-1 are defined in ulcb.dtsi */ 121*c9d95cf0SKuninori Morimoto 122*c9d95cf0SKuninori Morimoto /* 123*c9d95cf0SKuninori Morimoto * (C) CPU2 124*c9d95cf0SKuninori Morimoto */ 125*c9d95cf0SKuninori Morimoto dai2 { 126*c9d95cf0SKuninori Morimoto playback = <&ssiu30 &ssi3>; 127*c9d95cf0SKuninori Morimoto }; 128*c9d95cf0SKuninori Morimoto /* 129*c9d95cf0SKuninori Morimoto * (D) CPU3 130*c9d95cf0SKuninori Morimoto */ 131*c9d95cf0SKuninori Morimoto dai3 { 132*c9d95cf0SKuninori Morimoto playback = <&ssiu31 &ssi3>; 133*c9d95cf0SKuninori Morimoto }; 134*c9d95cf0SKuninori Morimoto /* 135*c9d95cf0SKuninori Morimoto * (E) CPU4 136*c9d95cf0SKuninori Morimoto */ 137*c9d95cf0SKuninori Morimoto dai4 { 138*c9d95cf0SKuninori Morimoto playback = <&ssiu32 &ssi3>; 139*c9d95cf0SKuninori Morimoto }; 140*c9d95cf0SKuninori Morimoto /* 141*c9d95cf0SKuninori Morimoto * (F) CPU5 142*c9d95cf0SKuninori Morimoto */ 143*c9d95cf0SKuninori Morimoto dai5 { 144*c9d95cf0SKuninori Morimoto playback = <&ssiu33 &ssi3>; 145*c9d95cf0SKuninori Morimoto }; 146*c9d95cf0SKuninori Morimoto /* 147*c9d95cf0SKuninori Morimoto * (G) CPU6 148*c9d95cf0SKuninori Morimoto */ 149*c9d95cf0SKuninori Morimoto dai6 { 150*c9d95cf0SKuninori Morimoto capture = <&ssi4>; 151*c9d95cf0SKuninori Morimoto }; 152*c9d95cf0SKuninori Morimoto }; 153*c9d95cf0SKuninori Morimoto}; 154