xref: /OK3568_Linux_fs/kernel/arch/arm64/boot/dts/rockchip/rk3566-evb2-lp4x-v10-i2s-mic-array.dts (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2*4882a593Smuzhiyun/*
3*4882a593Smuzhiyun * Copyright (c) 2020 Rockchip Electronics Co., Ltd.
4*4882a593Smuzhiyun *
5*4882a593Smuzhiyun */
6*4882a593Smuzhiyun
7*4882a593Smuzhiyun#include "rk3566-evb2-lp4x-v10.dtsi"
8*4882a593Smuzhiyun#include "rk3568-android.dtsi"
9*4882a593Smuzhiyun
10*4882a593Smuzhiyun/ {
11*4882a593Smuzhiyun	model = "Rockchip RK3566 EVB2 LP4X V10 Board I2S Mic Array";
12*4882a593Smuzhiyun	compatible = "rockchip,rk3566-evb2-lp4x-v10", "rockchip,rk3566";
13*4882a593Smuzhiyun
14*4882a593Smuzhiyun	rk809_sound_micarray: rk809-sound-micarray {
15*4882a593Smuzhiyun		compatible = "simple-audio-card";
16*4882a593Smuzhiyun		simple-audio-card,format = "i2s";
17*4882a593Smuzhiyun		simple-audio-card,name = "rockchip,rk809-codec";
18*4882a593Smuzhiyun		simple-audio-card,mclk-fs = <256>;
19*4882a593Smuzhiyun
20*4882a593Smuzhiyun		simple-audio-card,dai-link@0 {
21*4882a593Smuzhiyun			format = "i2s";
22*4882a593Smuzhiyun			cpu {
23*4882a593Smuzhiyun				sound-dai = <&i2s1_8ch>;
24*4882a593Smuzhiyun			};
25*4882a593Smuzhiyun			codec {
26*4882a593Smuzhiyun				sound-dai = <&rk809_codec 0>;
27*4882a593Smuzhiyun			};
28*4882a593Smuzhiyun		};
29*4882a593Smuzhiyun		simple-audio-card,dai-link@1 {
30*4882a593Smuzhiyun			format = "i2s";
31*4882a593Smuzhiyun			cpu {
32*4882a593Smuzhiyun				sound-dai = <&i2s1_8ch>;
33*4882a593Smuzhiyun			};
34*4882a593Smuzhiyun			codec {
35*4882a593Smuzhiyun				sound-dai = <&es7243e>;
36*4882a593Smuzhiyun			};
37*4882a593Smuzhiyun		};
38*4882a593Smuzhiyun	};
39*4882a593Smuzhiyun};
40*4882a593Smuzhiyun
41*4882a593Smuzhiyun&i2c3 {
42*4882a593Smuzhiyun	status = "okay";
43*4882a593Smuzhiyun
44*4882a593Smuzhiyun	es7243e: es7243e@10 {
45*4882a593Smuzhiyun		status = "okay";
46*4882a593Smuzhiyun		#sound-dai-cells = <0>;
47*4882a593Smuzhiyun		compatible = "ES7243E_MicArray_0";
48*4882a593Smuzhiyun		reg = <0x10>;
49*4882a593Smuzhiyun	};
50*4882a593Smuzhiyun
51*4882a593Smuzhiyun	es7243e_11: es7243e@11 {
52*4882a593Smuzhiyun		status = "okay";
53*4882a593Smuzhiyun		#sound-dai-cells = <0>;
54*4882a593Smuzhiyun		compatible = "ES7243E_MicArray_1";
55*4882a593Smuzhiyun		reg = <0x11>;
56*4882a593Smuzhiyun	};
57*4882a593Smuzhiyun
58*4882a593Smuzhiyun	es7243e_12: es7243e@12 {
59*4882a593Smuzhiyun		status = "okay";
60*4882a593Smuzhiyun		#sound-dai-cells = <0>;
61*4882a593Smuzhiyun		compatible = "ES7243E_MicArray_2";
62*4882a593Smuzhiyun		reg = <0x12>;
63*4882a593Smuzhiyun	};
64*4882a593Smuzhiyun};
65*4882a593Smuzhiyun
66*4882a593Smuzhiyun&i2s1_8ch {
67*4882a593Smuzhiyun	status = "okay";
68*4882a593Smuzhiyun	#sound-dai-cells = <0>;
69*4882a593Smuzhiyun	rockchip,clk-trcm = <0>;
70*4882a593Smuzhiyun	pinctrl-names = "default";
71*4882a593Smuzhiyun	pinctrl-0 = <&i2s1m0_sclktx
72*4882a593Smuzhiyun		     &i2s1m0_lrcktx
73*4882a593Smuzhiyun		     &i2s1m0_sclkrx
74*4882a593Smuzhiyun		     &i2s1m0_lrckrx
75*4882a593Smuzhiyun		     &i2s1m0_sdo0
76*4882a593Smuzhiyun		     &i2s1m0_sdi0
77*4882a593Smuzhiyun		     &i2s1m0_sdi1
78*4882a593Smuzhiyun		     &i2s1m0_sdi2
79*4882a593Smuzhiyun		     &i2s1m0_sdi3>;
80*4882a593Smuzhiyun};
81*4882a593Smuzhiyun
82*4882a593Smuzhiyun&rk809_codec {
83*4882a593Smuzhiyun	#sound-dai-cells = <1>;
84*4882a593Smuzhiyun	compatible = "rockchip,rk809-codec", "rockchip,rk817-codec";
85*4882a593Smuzhiyun	clocks = <&cru I2S1_MCLKOUT>;
86*4882a593Smuzhiyun	clock-names = "mclk";
87*4882a593Smuzhiyun	assigned-clocks = <&cru I2S1_MCLKOUT>, <&cru I2S1_MCLK_TX_IOE>;
88*4882a593Smuzhiyun	assigned-clock-rates = <12288000>;
89*4882a593Smuzhiyun	assigned-clock-parents = <&cru I2S1_MCLKOUT_TX>, <&cru I2S1_MCLKOUT_TX>;
90*4882a593Smuzhiyun	pinctrl-names = "default";
91*4882a593Smuzhiyun	pinctrl-0 = <&i2s1m0_mclk>;
92*4882a593Smuzhiyun	pdmdata-out-enable;
93*4882a593Smuzhiyun	adc-for-loopback;
94*4882a593Smuzhiyun	hp-volume = <20>;
95*4882a593Smuzhiyun	spk-volume = <3>;
96*4882a593Smuzhiyun	mic-in-differential;
97*4882a593Smuzhiyun	status = "okay";
98*4882a593Smuzhiyun};
99*4882a593Smuzhiyun
100*4882a593Smuzhiyun&rk809_sound {
101*4882a593Smuzhiyun	status = "disabled";
102*4882a593Smuzhiyun};
103