summaryrefslogtreecommitdiff
path: root/lemans-audio.dtsi
blob: 4113e1e255197d98fed36d3daa265454f57338d4 (plain)
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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
#include <bindings/qcom,gpr.h>
#include "msm-audio-lpass.dtsi"
#include "lemans-lpi.dtsi"

&soc {
	spf_core_platform: spf_core_platform {
		compatible = "qcom,spf-core-platform";
	};

	spf_tdm_quat: qcom,spf-msm-dai-tdm-quat {
		compatible = "qcom,msm-pcm-pinctrl";
		pinctrl-names = "default", "active";
		pinctrl-0 = <&quat_mi2s_sck_sleep &quat_mi2s_ws_sleep
					&quat_mi2s_sd0_sleep &quat_mi2s_sd1_sleep
					&quat_mi2s_sd2_sleep &quat_mi2s_sd3_sleep>;
		pinctrl-1 = <&quat_mi2s_sck_active &quat_mi2s_ws_active
					&quat_mi2s_sd0_active &quat_mi2s_sd1_active
					&quat_mi2s_sd2_active &quat_mi2s_sd3_active>;
		#gpio-cells = <0>;
	};

	spf_tdm_quin: qcom,spf-msm-dai-tdm-quin {
		compatible = "qcom,msm-pcm-pinctrl";
		pinctrl-names = "default", "active";
		pinctrl-0 = <&lpi_i2s1_sck_sleep &lpi_i2s1_ws_sleep
					&lpi_i2s1_sd0_sleep &lpi_i2s1_sd1_sleep>;
		pinctrl-1 = <&lpi_i2s1_sck_active &lpi_i2s1_ws_active
					&lpi_i2s1_sd0_active &lpi_i2s1_sd1_active>;
		#gpio-cells = <0>;
	};

	spf_tdm_sen: qcom,spf-msm-dai-tdm-sen {
		compatible = "qcom,msm-pcm-pinctrl";
		pinctrl-names = "default", "active";
		pinctrl-0 = <&lpi_i2s2_sck_sleep &lpi_i2s2_ws_sleep
					&lpi_i2s2_sd0_sleep &lpi_i2s2_sd1_sleep>;
		pinctrl-1 = <&lpi_i2s2_sck_active &lpi_i2s2_ws_active
					&lpi_i2s2_sd0_active &lpi_i2s2_sd1_active>;
		#gpio-cells = <0>;
	};

	spf_tdm_sep: qcom,spf-msm-dai-tdm-sep {
		compatible = "qcom,msm-pcm-pinctrl";
		pinctrl-names = "default", "active";
		pinctrl-0 = <&lpi_i2s3_sck_sleep &lpi_i2s3_ws_sleep
					&lpi_i2s3_sd0_sleep &lpi_i2s3_sd1_sleep>;
		pinctrl-1 = <&lpi_i2s3_sck_active &lpi_i2s3_ws_active
					&lpi_i2s3_sd0_active &lpi_i2s3_sd1_active>;
		#gpio-cells = <0>;
	};

	spf_tdm_oct: qcom,spf-msm-dai-tdm-oct {
		compatible = "qcom,msm-pcm-pinctrl";
		pinctrl-names = "default", "active";
		pinctrl-0 = <&lpi_i2s4_sck_sleep &lpi_i2s4_ws_sleep
					&lpi_i2s4_sd0_sleep &lpi_i2s4_sd1_sleep>;
		pinctrl-1 = <&lpi_i2s4_sck_active &lpi_i2s4_ws_active
					&lpi_i2s4_sd0_active &lpi_i2s4_sd1_active>;
		#gpio-cells = <0>;
	};
};

&glink_adsp {
	audio_gpr: qcom,gpr {
		compatible = "qcom,gpr";
		qcom,glink-channels = "adsp_apps";
		qcom,intents = <0x200 20>;
		reg = <GPR_DOMAIN_ADSP>;

		spf_core {
			compatible = "qcom,spf_core";
			reg = <GPR_SVC_ADSP_CORE>;
		};

		audio-pkt {
			compatible = "qcom,audio-pkt";
			qcom,audiopkt-ch-name = "apr_audio_svc";
			reg = <GPR_SVC_MAX>;
		};

		audio_prm {
			compatible = "qcom,audio_prm";
			reg = <GPR_SVC_ASM>;
		};
	};
};

&spf_core_platform {
	spf_msm_audio_ion: qcom,spf-msm-audio-ion {
		compatible = "qcom,msm-audio-ion";
		qcom,smmu-version = <2>;
		qcom,smmu-enabled;
		iommus = <&apps_smmu 0x3001 0x0>;
		qcom,smmu-sid-mask = /bits/ 64 <0xf>;
		dma-coherent;
	};

	spf_tdm_sec: qcom,spf-msm-dai-tdm-sec {
		compatible = "qcom,msm-pcm-pinctrl";
		pinctrl-names = "default", "active";
		pinctrl-0 = <&sec_tdm_sck_sleep &sec_tdm_ws_sleep
					&sec_tdm_din_sleep &sec_tdm_dout_sleep>;
		pinctrl-1 = <&sec_tdm_sck_active &sec_tdm_ws_active
					&sec_tdm_din_active &sec_tdm_dout_active>;
		#gpio-cells = <0>;
	};

	spf_tdm_tert: qcom,spf-msm-dai-tdm-tert {
		compatible = "qcom,msm-pcm-pinctrl";
		pinctrl-names = "default", "active";
		pinctrl-0 = <&tert_tdm_sck_sleep &tert_tdm_ws_sleep
					&tert_tdm_din_sleep &tert_tdm_dout_sleep>;
		pinctrl-1 = <&tert_tdm_sck_active &tert_tdm_ws_active
					&tert_tdm_din_active &tert_tdm_dout_active>;
		#gpio-cells = <0>;
	};

	spf_tdm_hsif0: qcom,spf-msm-dai-tdm-hsif0 {
		compatible = "qcom,msm-pcm-pinctrl";
		pinctrl-names = "default", "active";
		pinctrl-0 = <&hs0_i2s_sck_sleep &hs0_i2s_ws_sleep
					&hs0_i2s_data0_sleep &hs0_i2s_data1_sleep>;
		pinctrl-1 = <&hs0_i2s_sck_active &hs0_i2s_ws_active
					&hs0_i2s_data0_active &hs0_i2s_data1_active>;
		#gpio-cells = <0>;
	};

	spf_tdm_hsif1: qcom,spf-msm-dai-tdm-hsif1 {
		compatible = "qcom,msm-pcm-pinctrl";
		pinctrl-names = "default", "active";
		pinctrl-0 = <&hs1_i2s_sck_sleep &hs1_i2s_ws_sleep
					&hs1_i2s_data0_sleep &hs1_i2s_data1_sleep>;
		pinctrl-1 = <&hs1_i2s_sck_active &hs1_i2s_ws_active
					&hs1_i2s_data0_active &hs1_i2s_data1_active>;
		#gpio-cells = <0>;
	};

	spf_tdm_hsif2: qcom,spf-msm-dai-tdm-hsif2 {
		compatible = "qcom,msm-pcm-pinctrl";
		pinctrl-names = "default", "active";
		pinctrl-0 = <&hs2_i2s_sck_sleep &hs2_i2s_ws_sleep
					&hs2_i2s_data0_sleep &hs2_i2s_data1_sleep>;
		pinctrl-1 = <&hs2_i2s_sck_active &hs2_i2s_ws_active
					&hs2_i2s_data0_active &hs2_i2s_data1_active>;
		#gpio-cells = <0>;
	};

	spf_internal_mclk1: qcom,spf-msm-internal-mclk1 {
		compatible = "qcom,msm-pcm-pinctrl";
		pinctrl-names = "default", "active";
		pinctrl-0 = <&audio_internal_mclk1_sleep>;
		pinctrl-1 = <&audio_internal_mclk1_active>;
		#gpio-cells = <0>;
	};

	spf_snd_8255: spf-sound-adp-star {
		compatible = "qcom,sa8255-asoc-snd-adp-star";
		qcom,model = "sa8255-adp-star-snd-card";
		qcom,mi2s-audio-intf;
		qcom,auxpcm-audio-intf;
		qcom,msm-mi2s-master = <1>, <1>, <1>, <1>, <1>;

		qcom,sec-tdm-gpios = <&spf_tdm_sec>;
		qcom,tert-tdm-gpios = <&spf_tdm_tert>;
		qcom,quat-tdm-gpios = <&spf_tdm_quat>;
		qcom,quin-tdm-gpios = <&spf_tdm_quin>;
		qcom,sen-tdm-gpios = <&spf_tdm_sen>;
		qcom,sep-tdm-gpios = <&spf_tdm_sep>;
		qcom,oct-tdm-gpios = <&spf_tdm_oct>;
		qcom,hsif0-tdm-gpios = <&spf_tdm_hsif0>;
		qcom,hsif1-tdm-gpios = <&spf_tdm_hsif1>;
		qcom,hsif2-tdm-gpios = <&spf_tdm_hsif2>;
		qcom,internal-mclk1-gpios = <&spf_internal_mclk1>;

		asoc-codec = <&stub_codec>;
		asoc-codec-names = "msm-stub-codec.1";
	};
};

&qupv3_se11_i2c {
	status = "ok";
};

&qupv3_se16_spi {
	status = "ok";
	spi_codec@0 {
		compatible = "qcom,spi-msm-codec-slave";
		reg = <0>;
		spi-max-frequency = <10000000>;
		spi-cpha;
	};
};