xref: /openbmc/linux/scripts/dtc/include-prefixes/arm64/qcom/sc7280-herobrine-audio-wcd9385.dtsi (revision 9a87ffc99ec8eb8d35eed7c4f816d75f5cc9662e)
106c73a39SSrinivasa Rao Mandadapu// SPDX-License-Identifier: BSD-3-Clause
206c73a39SSrinivasa Rao Mandadapu/*
306c73a39SSrinivasa Rao Mandadapu * sc7280 device tree source for boards using Max98360 and wcd9385 codec
406c73a39SSrinivasa Rao Mandadapu *
506c73a39SSrinivasa Rao Mandadapu * Copyright (c) 2022, The Linux Foundation. All rights reserved.
606c73a39SSrinivasa Rao Mandadapu */
706c73a39SSrinivasa Rao Mandadapu
8*29e0b604SSrinivasa Rao Mandadapu/ {
9*29e0b604SSrinivasa Rao Mandadapu	/* BOARD-SPECIFIC TOP LEVEL NODES */
10*29e0b604SSrinivasa Rao Mandadapu	sound: sound {
11*29e0b604SSrinivasa Rao Mandadapu		compatible = "google,sc7280-herobrine";
12*29e0b604SSrinivasa Rao Mandadapu		model = "sc7280-wcd938x-max98360a-1mic";
13*29e0b604SSrinivasa Rao Mandadapu
14*29e0b604SSrinivasa Rao Mandadapu		audio-routing =
15*29e0b604SSrinivasa Rao Mandadapu			"IN1_HPHL", "HPHL_OUT",
16*29e0b604SSrinivasa Rao Mandadapu			"IN2_HPHR", "HPHR_OUT",
17*29e0b604SSrinivasa Rao Mandadapu			"AMIC1", "MIC BIAS1",
18*29e0b604SSrinivasa Rao Mandadapu			"AMIC2", "MIC BIAS2",
19*29e0b604SSrinivasa Rao Mandadapu			"VA DMIC0", "MIC BIAS1",
20*29e0b604SSrinivasa Rao Mandadapu			"VA DMIC1", "MIC BIAS1",
21*29e0b604SSrinivasa Rao Mandadapu			"VA DMIC2", "MIC BIAS3",
22*29e0b604SSrinivasa Rao Mandadapu			"VA DMIC3", "MIC BIAS3",
23*29e0b604SSrinivasa Rao Mandadapu			"TX SWR_ADC0", "ADC1_OUTPUT",
24*29e0b604SSrinivasa Rao Mandadapu			"TX SWR_ADC1", "ADC2_OUTPUT",
25*29e0b604SSrinivasa Rao Mandadapu			"TX SWR_ADC2", "ADC3_OUTPUT",
26*29e0b604SSrinivasa Rao Mandadapu			"TX SWR_DMIC0", "DMIC1_OUTPUT",
27*29e0b604SSrinivasa Rao Mandadapu			"TX SWR_DMIC1", "DMIC2_OUTPUT",
28*29e0b604SSrinivasa Rao Mandadapu			"TX SWR_DMIC2", "DMIC3_OUTPUT",
29*29e0b604SSrinivasa Rao Mandadapu			"TX SWR_DMIC3", "DMIC4_OUTPUT",
30*29e0b604SSrinivasa Rao Mandadapu			"TX SWR_DMIC4", "DMIC5_OUTPUT",
31*29e0b604SSrinivasa Rao Mandadapu			"TX SWR_DMIC5", "DMIC6_OUTPUT",
32*29e0b604SSrinivasa Rao Mandadapu			"TX SWR_DMIC6", "DMIC7_OUTPUT",
33*29e0b604SSrinivasa Rao Mandadapu			"TX SWR_DMIC7", "DMIC8_OUTPUT";
34*29e0b604SSrinivasa Rao Mandadapu
35*29e0b604SSrinivasa Rao Mandadapu		#address-cells = <1>;
36*29e0b604SSrinivasa Rao Mandadapu		#size-cells = <0>;
37*29e0b604SSrinivasa Rao Mandadapu
38*29e0b604SSrinivasa Rao Mandadapu		dai-link@0 {
39*29e0b604SSrinivasa Rao Mandadapu			link-name = "MAX98360A";
40*29e0b604SSrinivasa Rao Mandadapu			reg = <0>;
41*29e0b604SSrinivasa Rao Mandadapu
42*29e0b604SSrinivasa Rao Mandadapu			cpu {
43*29e0b604SSrinivasa Rao Mandadapu				sound-dai = <&lpass_cpu MI2S_SECONDARY>;
44*29e0b604SSrinivasa Rao Mandadapu			};
45*29e0b604SSrinivasa Rao Mandadapu
46*29e0b604SSrinivasa Rao Mandadapu			codec {
47*29e0b604SSrinivasa Rao Mandadapu				sound-dai = <&max98360a>;
48*29e0b604SSrinivasa Rao Mandadapu			};
49*29e0b604SSrinivasa Rao Mandadapu		};
50*29e0b604SSrinivasa Rao Mandadapu
51*29e0b604SSrinivasa Rao Mandadapu		dai-link@1 {
52*29e0b604SSrinivasa Rao Mandadapu			link-name = "DisplayPort";
53*29e0b604SSrinivasa Rao Mandadapu			reg = <1>;
54*29e0b604SSrinivasa Rao Mandadapu
55*29e0b604SSrinivasa Rao Mandadapu			cpu {
56*29e0b604SSrinivasa Rao Mandadapu				sound-dai = <&lpass_cpu LPASS_DP_RX>;
57*29e0b604SSrinivasa Rao Mandadapu			};
58*29e0b604SSrinivasa Rao Mandadapu
59*29e0b604SSrinivasa Rao Mandadapu			codec {
60*29e0b604SSrinivasa Rao Mandadapu				sound-dai = <&mdss_dp>;
61*29e0b604SSrinivasa Rao Mandadapu			};
62*29e0b604SSrinivasa Rao Mandadapu		};
63*29e0b604SSrinivasa Rao Mandadapu
64*29e0b604SSrinivasa Rao Mandadapu		dai-link@2 {
65*29e0b604SSrinivasa Rao Mandadapu			link-name = "WCD9385 Playback";
66*29e0b604SSrinivasa Rao Mandadapu			reg = <2>;
67*29e0b604SSrinivasa Rao Mandadapu
68*29e0b604SSrinivasa Rao Mandadapu			cpu {
69*29e0b604SSrinivasa Rao Mandadapu				sound-dai = <&lpass_cpu LPASS_CDC_DMA_RX0>;
70*29e0b604SSrinivasa Rao Mandadapu			};
71*29e0b604SSrinivasa Rao Mandadapu
72*29e0b604SSrinivasa Rao Mandadapu			codec {
73*29e0b604SSrinivasa Rao Mandadapu				sound-dai = <&wcd9385 0>, <&swr0 0>, <&lpass_rx_macro 0>;
74*29e0b604SSrinivasa Rao Mandadapu			};
75*29e0b604SSrinivasa Rao Mandadapu		};
76*29e0b604SSrinivasa Rao Mandadapu
77*29e0b604SSrinivasa Rao Mandadapu		dai-link@3 {
78*29e0b604SSrinivasa Rao Mandadapu			link-name = "WCD9385 Capture";
79*29e0b604SSrinivasa Rao Mandadapu			reg = <3>;
80*29e0b604SSrinivasa Rao Mandadapu
81*29e0b604SSrinivasa Rao Mandadapu			cpu {
82*29e0b604SSrinivasa Rao Mandadapu				sound-dai = <&lpass_cpu LPASS_CDC_DMA_TX3>;
83*29e0b604SSrinivasa Rao Mandadapu			};
84*29e0b604SSrinivasa Rao Mandadapu
85*29e0b604SSrinivasa Rao Mandadapu			codec {
86*29e0b604SSrinivasa Rao Mandadapu				sound-dai = <&wcd9385 1>, <&swr1 0>, <&lpass_tx_macro 0>;
87*29e0b604SSrinivasa Rao Mandadapu			};
88*29e0b604SSrinivasa Rao Mandadapu		};
89*29e0b604SSrinivasa Rao Mandadapu
90*29e0b604SSrinivasa Rao Mandadapu		dai-link@4 {
91*29e0b604SSrinivasa Rao Mandadapu			link-name = "DMIC";
92*29e0b604SSrinivasa Rao Mandadapu			reg = <4>;
93*29e0b604SSrinivasa Rao Mandadapu
94*29e0b604SSrinivasa Rao Mandadapu			cpu {
95*29e0b604SSrinivasa Rao Mandadapu				sound-dai = <&lpass_cpu LPASS_CDC_DMA_VA_TX0>;
96*29e0b604SSrinivasa Rao Mandadapu			};
97*29e0b604SSrinivasa Rao Mandadapu
98*29e0b604SSrinivasa Rao Mandadapu			codec {
99*29e0b604SSrinivasa Rao Mandadapu				sound-dai = <&lpass_va_macro 0>;
100*29e0b604SSrinivasa Rao Mandadapu			};
101*29e0b604SSrinivasa Rao Mandadapu		};
102*29e0b604SSrinivasa Rao Mandadapu	};
103*29e0b604SSrinivasa Rao Mandadapu};
104*29e0b604SSrinivasa Rao Mandadapu
105d5a959f9SSrinivasa Rao Mandadapu/* ADDITIONS TO NODES DEFINED IN PARENT DEVICE TREE FILES */
106d5a959f9SSrinivasa Rao Mandadapu
107f10c73acSSrinivasa Rao Mandadapu&lpass_cpu {
108f10c73acSSrinivasa Rao Mandadapu	status = "okay";
109f10c73acSSrinivasa Rao Mandadapu
110f10c73acSSrinivasa Rao Mandadapu	pinctrl-names = "default";
111f10c73acSSrinivasa Rao Mandadapu	pinctrl-0 = <&mi2s1_data0>, <&mi2s1_sclk>, <&mi2s1_ws>;
112f10c73acSSrinivasa Rao Mandadapu
113f10c73acSSrinivasa Rao Mandadapu	dai-link@1 {
114f10c73acSSrinivasa Rao Mandadapu		reg = <MI2S_SECONDARY>;
115f10c73acSSrinivasa Rao Mandadapu		qcom,playback-sd-lines = <0>;
116f10c73acSSrinivasa Rao Mandadapu	};
117f10c73acSSrinivasa Rao Mandadapu
118f10c73acSSrinivasa Rao Mandadapu	dai-link@5 {
119f10c73acSSrinivasa Rao Mandadapu		reg = <LPASS_DP_RX>;
120f10c73acSSrinivasa Rao Mandadapu	};
121f10c73acSSrinivasa Rao Mandadapu
122f10c73acSSrinivasa Rao Mandadapu	dai-link@6 {
123f10c73acSSrinivasa Rao Mandadapu		reg = <LPASS_CDC_DMA_RX0>;
124f10c73acSSrinivasa Rao Mandadapu	};
125f10c73acSSrinivasa Rao Mandadapu
126f10c73acSSrinivasa Rao Mandadapu	dai-link@19 {
127f10c73acSSrinivasa Rao Mandadapu		reg = <LPASS_CDC_DMA_TX3>;
128f10c73acSSrinivasa Rao Mandadapu	};
129f10c73acSSrinivasa Rao Mandadapu
130f10c73acSSrinivasa Rao Mandadapu	dai-link@25 {
131f10c73acSSrinivasa Rao Mandadapu		reg = <LPASS_CDC_DMA_VA_TX0>;
132f10c73acSSrinivasa Rao Mandadapu	};
133f10c73acSSrinivasa Rao Mandadapu};
134f10c73acSSrinivasa Rao Mandadapu
135d5a959f9SSrinivasa Rao Mandadapu&lpass_rx_macro {
136d5a959f9SSrinivasa Rao Mandadapu	status = "okay";
137d5a959f9SSrinivasa Rao Mandadapu};
138d5a959f9SSrinivasa Rao Mandadapu
139d5a959f9SSrinivasa Rao Mandadapu&lpass_tx_macro {
140d5a959f9SSrinivasa Rao Mandadapu	status = "okay";
141d5a959f9SSrinivasa Rao Mandadapu};
142d5a959f9SSrinivasa Rao Mandadapu
143d5a959f9SSrinivasa Rao Mandadapu&lpass_va_macro {
144d5a959f9SSrinivasa Rao Mandadapu	status = "okay";
145d5a959f9SSrinivasa Rao Mandadapu};
146d5a959f9SSrinivasa Rao Mandadapu
147d5a959f9SSrinivasa Rao Mandadapu&swr0 {
148d5a959f9SSrinivasa Rao Mandadapu	status = "okay";
149d5a959f9SSrinivasa Rao Mandadapu};
150d5a959f9SSrinivasa Rao Mandadapu
151d5a959f9SSrinivasa Rao Mandadapu&swr1 {
152d5a959f9SSrinivasa Rao Mandadapu	status = "okay";
153d5a959f9SSrinivasa Rao Mandadapu};
154d5a959f9SSrinivasa Rao Mandadapu
1550a3a56a9SSrinivasa Rao Mandadapu&wcd9385 {
1560a3a56a9SSrinivasa Rao Mandadapu	status = "okay";
1570a3a56a9SSrinivasa Rao Mandadapu};
1580a3a56a9SSrinivasa Rao Mandadapu
15949ac5e0cSSrinivasa Rao Mandadapu/* PINCTRL */
16049ac5e0cSSrinivasa Rao Mandadapu
16149ac5e0cSSrinivasa Rao Mandadapu&lpass_dmic01_clk {
16249ac5e0cSSrinivasa Rao Mandadapu	drive-strength = <8>;
16349ac5e0cSSrinivasa Rao Mandadapu	bias-disable;
16449ac5e0cSSrinivasa Rao Mandadapu};
16549ac5e0cSSrinivasa Rao Mandadapu
16649ac5e0cSSrinivasa Rao Mandadapu&lpass_dmic01_data {
16749ac5e0cSSrinivasa Rao Mandadapu	bias-pull-down;
16849ac5e0cSSrinivasa Rao Mandadapu};
16949ac5e0cSSrinivasa Rao Mandadapu
17049ac5e0cSSrinivasa Rao Mandadapu&lpass_dmic23_clk {
17149ac5e0cSSrinivasa Rao Mandadapu	drive-strength = <8>;
17249ac5e0cSSrinivasa Rao Mandadapu	bias-disable;
17349ac5e0cSSrinivasa Rao Mandadapu};
17449ac5e0cSSrinivasa Rao Mandadapu
17549ac5e0cSSrinivasa Rao Mandadapu&lpass_dmic23_data {
17649ac5e0cSSrinivasa Rao Mandadapu	bias-pull-down;
17749ac5e0cSSrinivasa Rao Mandadapu};
17849ac5e0cSSrinivasa Rao Mandadapu
17949ac5e0cSSrinivasa Rao Mandadapu&lpass_rx_swr_clk {
18049ac5e0cSSrinivasa Rao Mandadapu	drive-strength = <2>;
18149ac5e0cSSrinivasa Rao Mandadapu	slew-rate = <1>;
18249ac5e0cSSrinivasa Rao Mandadapu	bias-disable;
18349ac5e0cSSrinivasa Rao Mandadapu};
18449ac5e0cSSrinivasa Rao Mandadapu
18549ac5e0cSSrinivasa Rao Mandadapu&lpass_rx_swr_data {
18649ac5e0cSSrinivasa Rao Mandadapu	drive-strength = <2>;
18749ac5e0cSSrinivasa Rao Mandadapu	slew-rate = <1>;
18849ac5e0cSSrinivasa Rao Mandadapu	bias-bus-hold;
18949ac5e0cSSrinivasa Rao Mandadapu};
19049ac5e0cSSrinivasa Rao Mandadapu
19149ac5e0cSSrinivasa Rao Mandadapu&lpass_tx_swr_clk {
19249ac5e0cSSrinivasa Rao Mandadapu	drive-strength = <2>;
19349ac5e0cSSrinivasa Rao Mandadapu	slew-rate = <1>;
19449ac5e0cSSrinivasa Rao Mandadapu	bias-disable;
19549ac5e0cSSrinivasa Rao Mandadapu};
19649ac5e0cSSrinivasa Rao Mandadapu
19749ac5e0cSSrinivasa Rao Mandadapu&lpass_tx_swr_data {
19849ac5e0cSSrinivasa Rao Mandadapu	drive-strength = <2>;
19949ac5e0cSSrinivasa Rao Mandadapu	slew-rate = <1>;
20049ac5e0cSSrinivasa Rao Mandadapu	bias-bus-hold;
20149ac5e0cSSrinivasa Rao Mandadapu};
20249ac5e0cSSrinivasa Rao Mandadapu
20306c73a39SSrinivasa Rao Mandadapu&mi2s1_data0 {
20406c73a39SSrinivasa Rao Mandadapu	drive-strength = <6>;
20506c73a39SSrinivasa Rao Mandadapu	bias-disable;
20606c73a39SSrinivasa Rao Mandadapu};
20706c73a39SSrinivasa Rao Mandadapu
20806c73a39SSrinivasa Rao Mandadapu&mi2s1_sclk {
20906c73a39SSrinivasa Rao Mandadapu	drive-strength = <6>;
21006c73a39SSrinivasa Rao Mandadapu	bias-disable;
21106c73a39SSrinivasa Rao Mandadapu};
21206c73a39SSrinivasa Rao Mandadapu
21306c73a39SSrinivasa Rao Mandadapu&mi2s1_ws {
21406c73a39SSrinivasa Rao Mandadapu	drive-strength = <6>;
21506c73a39SSrinivasa Rao Mandadapu};
216