xref: /OK3568_Linux_fs/kernel/arch/arm/boot/dts/rk3308-voice-module-pdm-mainboard-v10-aarch32.dts (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2*4882a593Smuzhiyun/*
3*4882a593Smuzhiyun * Copyright (c) 2018 Fuzhou Rockchip Electronics Co., Ltd
4*4882a593Smuzhiyun */
5*4882a593Smuzhiyun
6*4882a593Smuzhiyun/dts-v1/;
7*4882a593Smuzhiyun
8*4882a593Smuzhiyun#include "rk3308-voice-module-v10-aarch32.dtsi"
9*4882a593Smuzhiyun#include "rk3308-voice-module-mainboard-v10-aarch32.dtsi"
10*4882a593Smuzhiyun
11*4882a593Smuzhiyun/ {
12*4882a593Smuzhiyun	model = "Rockchip RK3308 Voice Module PDM MIC Main Board V10 (AArch32)";
13*4882a593Smuzhiyun	compatible = "rockchip,rk3308-voice-module-pdm-mainboard-v10-aarch32", "rockchip,rk3308";
14*4882a593Smuzhiyun
15*4882a593Smuzhiyun	pdm_i2s_dais: pdm-i2s-dais {
16*4882a593Smuzhiyun		status = "okay";
17*4882a593Smuzhiyun		compatible = "rockchip,rk3308-multi-dais", "rockchip,multi-dais";
18*4882a593Smuzhiyun		dais = <&pdm_8ch>, <&i2s_8ch_2>;
19*4882a593Smuzhiyun		capture,channel-mapping = <6 2>;
20*4882a593Smuzhiyun		playback,channel-mapping = <0 2>;
21*4882a593Smuzhiyun		bitclock-inversion = <1 0>;
22*4882a593Smuzhiyun	};
23*4882a593Smuzhiyun
24*4882a593Smuzhiyun	pdm-mic-array {
25*4882a593Smuzhiyun		status = "disabled";
26*4882a593Smuzhiyun		compatible = "simple-audio-card";
27*4882a593Smuzhiyun		simple-audio-card,name = "rockchip,pdm-mic-array";
28*4882a593Smuzhiyun		simple-audio-card,cpu {
29*4882a593Smuzhiyun			sound-dai = <&pdm_8ch>;
30*4882a593Smuzhiyun		};
31*4882a593Smuzhiyun		simple-audio-card,codec {
32*4882a593Smuzhiyun			sound-dai = <&dummy_codec>;
33*4882a593Smuzhiyun		};
34*4882a593Smuzhiyun	};
35*4882a593Smuzhiyun
36*4882a593Smuzhiyun	vad-sound {
37*4882a593Smuzhiyun		status = "okay";
38*4882a593Smuzhiyun		compatible = "rockchip,multicodecs-card";
39*4882a593Smuzhiyun		rockchip,card-name = "rockchip,rk3308-vad";
40*4882a593Smuzhiyun		rockchip,cpu = <&pdm_i2s_dais>;
41*4882a593Smuzhiyun		rockchip,codec = <&acodec>, <&vad>;
42*4882a593Smuzhiyun	};
43*4882a593Smuzhiyun};
44*4882a593Smuzhiyun
45*4882a593Smuzhiyun&acodec_sound {
46*4882a593Smuzhiyun	status = "disabled";
47*4882a593Smuzhiyun};
48*4882a593Smuzhiyun
49*4882a593Smuzhiyun&dummy_codec {
50*4882a593Smuzhiyun	status = "disabled";
51*4882a593Smuzhiyun	#sound-dai-cells = <0>;
52*4882a593Smuzhiyun};
53*4882a593Smuzhiyun
54*4882a593Smuzhiyun&i2s_8ch_2 {
55*4882a593Smuzhiyun	status = "okay";
56*4882a593Smuzhiyun	rockchip,no-dmaengine;
57*4882a593Smuzhiyun	#sound-dai-cells = <0>;
58*4882a593Smuzhiyun};
59*4882a593Smuzhiyun
60*4882a593Smuzhiyun&pdm_8ch {
61*4882a593Smuzhiyun	status = "okay";
62*4882a593Smuzhiyun	#sound-dai-cells = <0>;
63*4882a593Smuzhiyun	rockchip,no-dmaengine;
64*4882a593Smuzhiyun	pinctrl-names = "default";
65*4882a593Smuzhiyun	pinctrl-0 = <&pdm_m2_clk
66*4882a593Smuzhiyun		     &pdm_m2_clkm
67*4882a593Smuzhiyun		     &pdm_m2_sdi0
68*4882a593Smuzhiyun		     &pdm_m2_sdi1
69*4882a593Smuzhiyun		     &pdm_m2_sdi2
70*4882a593Smuzhiyun		     &pdm_m2_sdi3>;
71*4882a593Smuzhiyun};
72*4882a593Smuzhiyun
73*4882a593Smuzhiyun&pdm_i2s_dais {
74*4882a593Smuzhiyun	status = "okay";
75*4882a593Smuzhiyun	#sound-dai-cells = <0>;
76*4882a593Smuzhiyun};
77*4882a593Smuzhiyun
78*4882a593Smuzhiyun&vad {
79*4882a593Smuzhiyun	status = "okay";
80*4882a593Smuzhiyun	rockchip,audio-src = <&pdm_8ch>;
81*4882a593Smuzhiyun	rockchip,det-channel = <0>;
82*4882a593Smuzhiyun	rockchip,mode = <1>;
83*4882a593Smuzhiyun	rockchip,buffer-time-ms = <200>;
84*4882a593Smuzhiyun	#sound-dai-cells = <0>;
85*4882a593Smuzhiyun};
86