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