1*4882a593SmuzhiyunROCKCHIP multi dais driver 2*4882a593Smuzhiyun 3*4882a593SmuzhiyunRequired properties: 4*4882a593Smuzhiyun- compatible: "rockchip,multi-dais" 5*4882a593Smuzhiyun - "rockchip,rk3308-multi-dais" 6*4882a593Smuzhiyun- dais: The phandle of sub dais, such i2s, pdm etc. 7*4882a593Smuzhiyun- capture,channel-mapping: map channels, one for each in dais, 8*4882a593Smuzhiyun capture,channel-mapping = <2 6> means: 9*4882a593Smuzhiyun i2s 2ch + pdm 6ch --> total 8ch capture. 10*4882a593Smuzhiyun- playback,channel-mapping: map channels, one for each in dais. 11*4882a593Smuzhiyun playback,channel-mapping = <4 4> means: 12*4882a593Smuzhiyun i2s 4ch + pdm 4ch --> total 8ch playback. 13*4882a593Smuzhiyun 14*4882a593SmuzhiyunRequired properties for i2s 16ch: 15*4882a593Smuzhiyun- rockchip,grf: the phandle of the syscon node for GRF register. 16*4882a593Smuzhiyun 17*4882a593SmuzhiyunOptional properties: 18*4882a593Smuzhiyun- frame-master: bool properties, frame master, one for each in dais. 19*4882a593Smuzhiyun- bitclock-master: bool properties, bit clock master, one for each in dais. 20*4882a593Smuzhiyun- bitclock-inversion: bool properties, bit clock inversion, one for each in dais. 21*4882a593Smuzhiyun- frame-inversion: bool properties, frame clock inversion, one for each in dais. 22*4882a593Smuzhiyun 23*4882a593SmuzhiyunExample: 24*4882a593Smuzhiyun 25*4882a593Smuzhiyunmulti_dais: multi-dais { 26*4882a593Smuzhiyun status = "okay"; 27*4882a593Smuzhiyun compatible = "rockchip,multi-dais"; 28*4882a593Smuzhiyun dais = <&i2s_8ch_2>, <&pdm_8ch>; 29*4882a593Smuzhiyun capture,channel-mapping = <2 6>; 30*4882a593Smuzhiyun playback,channel-mapping = <4 4>; 31*4882a593Smuzhiyun bitclock-master = <1 0>; 32*4882a593Smuzhiyun frame-master = <1 0>; 33*4882a593Smuzhiyun bitclock-inversion = <0 0>; 34*4882a593Smuzhiyun frame-inversion = <0 0>; 35*4882a593Smuzhiyun rockchip,grf = <&grf>; 36*4882a593Smuzhiyun}; 37*4882a593Smuzhiyun 38*4882a593Smuzhiyun&i2s_8ch_2 { 39*4882a593Smuzhiyun status = "okay"; 40*4882a593Smuzhiyun rockchip,no-dmaengine; 41*4882a593Smuzhiyun}; 42*4882a593Smuzhiyun 43*4882a593Smuzhiyun&pdm_8ch { 44*4882a593Smuzhiyun status = "okay"; 45*4882a593Smuzhiyun rockchip,no-dmaengine; 46*4882a593Smuzhiyun}; 47*4882a593Smuzhiyun 48*4882a593Smuzhiyunvad-sound { 49*4882a593Smuzhiyun status = "okay"; 50*4882a593Smuzhiyun compatible = "rockchip,multicodecs-card"; 51*4882a593Smuzhiyun rockchip,card-name = "rockchip,rk3308-vad"; 52*4882a593Smuzhiyun rockchip,cpu = <&multi_dais>; 53*4882a593Smuzhiyun rockchip,codec = <&acodec>, <&vad>; 54*4882a593Smuzhiyun}; 55