11c5b7afeSJudy Hsiao// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
21c5b7afeSJudy Hsiao/*
31c5b7afeSJudy Hsiao *
41c5b7afeSJudy Hsiao * This file defines the common audio settings for the child boards
51c5b7afeSJudy Hsiao * using rt5682 codec.
61c5b7afeSJudy Hsiao *
71c5b7afeSJudy Hsiao * Copyright 2022 Google LLC.
81c5b7afeSJudy Hsiao */
91c5b7afeSJudy Hsiao
101c5b7afeSJudy Hsiao/ {
111c5b7afeSJudy Hsiao	/* BOARD-SPECIFIC TOP LEVEL NODES */
121c5b7afeSJudy Hsiao	sound: sound {
131c5b7afeSJudy Hsiao		compatible = "google,sc7280-herobrine";
141c5b7afeSJudy Hsiao		model = "sc7280-rt5682-max98360a-1mic";
151c5b7afeSJudy Hsiao
163d11e7e1SSheng-Liang Pan		audio-routing = "Headphone Jack", "HPOL",
171c5b7afeSJudy Hsiao				"Headphone Jack", "HPOR";
181c5b7afeSJudy Hsiao
191c5b7afeSJudy Hsiao		#address-cells = <1>;
201c5b7afeSJudy Hsiao		#size-cells = <0>;
211c5b7afeSJudy Hsiao
221c5b7afeSJudy Hsiao		dai-link@0 {
231c5b7afeSJudy Hsiao			link-name = "MAX98360";
241c5b7afeSJudy Hsiao			reg = <0>;
251c5b7afeSJudy Hsiao
261c5b7afeSJudy Hsiao			cpu {
271c5b7afeSJudy Hsiao				sound-dai = <&lpass_cpu MI2S_SECONDARY>;
281c5b7afeSJudy Hsiao			};
291c5b7afeSJudy Hsiao
301c5b7afeSJudy Hsiao			codec {
311c5b7afeSJudy Hsiao				sound-dai = <&max98360a>;
321c5b7afeSJudy Hsiao			};
331c5b7afeSJudy Hsiao		};
341c5b7afeSJudy Hsiao
351c5b7afeSJudy Hsiao		dai-link@1 {
36fc1780dbSJudy Hsiao			link-name = "DisplayPort";
371c5b7afeSJudy Hsiao			reg = <1>;
381c5b7afeSJudy Hsiao
391c5b7afeSJudy Hsiao			cpu {
40fc1780dbSJudy Hsiao				sound-dai = <&lpass_cpu LPASS_DP_RX>;
41fc1780dbSJudy Hsiao			};
42fc1780dbSJudy Hsiao
43fc1780dbSJudy Hsiao			codec {
44fc1780dbSJudy Hsiao				sound-dai = <&mdss_dp>;
45fc1780dbSJudy Hsiao			};
46fc1780dbSJudy Hsiao		};
47fc1780dbSJudy Hsiao
48fc1780dbSJudy Hsiao		dai-link@2 {
49fc1780dbSJudy Hsiao			link-name = "ALC5682";
50fc1780dbSJudy Hsiao			reg = <2>;
51fc1780dbSJudy Hsiao
52fc1780dbSJudy Hsiao			cpu {
531c5b7afeSJudy Hsiao				sound-dai = <&lpass_cpu MI2S_PRIMARY>;
541c5b7afeSJudy Hsiao			};
551c5b7afeSJudy Hsiao
561c5b7afeSJudy Hsiao			codec {
571c5b7afeSJudy Hsiao				sound-dai = <&alc5682 0 /* aif1 */>;
581c5b7afeSJudy Hsiao			};
591c5b7afeSJudy Hsiao		};
601c5b7afeSJudy Hsiao	};
611c5b7afeSJudy Hsiao};
621c5b7afeSJudy Hsiao
631c5b7afeSJudy Hsiaohp_i2c: &i2c2 {
641c5b7afeSJudy Hsiao	clock-frequency = <400000>;
653d11e7e1SSheng-Liang Pan	status = "okay";
661c5b7afeSJudy Hsiao
671c5b7afeSJudy Hsiao	alc5682: codec@1a {
681c5b7afeSJudy Hsiao		compatible = "realtek,rt5682s";
691c5b7afeSJudy Hsiao		reg = <0x1a>;
701c5b7afeSJudy Hsiao		pinctrl-names = "default";
711c5b7afeSJudy Hsiao		pinctrl-0 = <&hp_irq>;
721c5b7afeSJudy Hsiao
731c5b7afeSJudy Hsiao		#sound-dai-cells = <1>;
741c5b7afeSJudy Hsiao
751c5b7afeSJudy Hsiao		interrupt-parent = <&tlmm>;
761c5b7afeSJudy Hsiao		interrupts = <101 IRQ_TYPE_EDGE_BOTH>;
771c5b7afeSJudy Hsiao
781c5b7afeSJudy Hsiao		AVDD-supply = <&pp1800_alc5682>;
79*11c0d37dSKrzysztof Kozlowski		DBVDD-supply = <&pp1800_alc5682>;
80*11c0d37dSKrzysztof Kozlowski		LDO1-IN-supply = <&pp1800_alc5682>;
811c5b7afeSJudy Hsiao		MICVDD-supply = <&pp3300_codec>;
821c5b7afeSJudy Hsiao
831c5b7afeSJudy Hsiao		realtek,dmic1-data-pin = <1>;
841c5b7afeSJudy Hsiao		realtek,dmic1-clk-pin = <2>;
851c5b7afeSJudy Hsiao		realtek,jd-src = <1>;
861c5b7afeSJudy Hsiao		realtek,dmic-clk-rate-hz = <2048000>;
871c5b7afeSJudy Hsiao	};
881c5b7afeSJudy Hsiao};
891c5b7afeSJudy Hsiao
901c5b7afeSJudy Hsiao&lpass_cpu {
911c5b7afeSJudy Hsiao	pinctrl-names = "default";
921c5b7afeSJudy Hsiao	pinctrl-0 = <&mi2s0_data0>, <&mi2s0_data1>, <&mi2s0_mclk>, <&mi2s0_sclk>, <&mi2s0_ws>,
931c5b7afeSJudy Hsiao			<&mi2s1_data0>, <&mi2s1_sclk>, <&mi2s1_ws>;
941c5b7afeSJudy Hsiao
951c5b7afeSJudy Hsiao	#address-cells = <1>;
961c5b7afeSJudy Hsiao	#size-cells = <0>;
971c5b7afeSJudy Hsiao
983d11e7e1SSheng-Liang Pan	status = "okay";
993d11e7e1SSheng-Liang Pan
1001c5b7afeSJudy Hsiao	dai-link@0 {
1011c5b7afeSJudy Hsiao		reg = <MI2S_PRIMARY>;
1021c5b7afeSJudy Hsiao		qcom,playback-sd-lines = <1>;
1031c5b7afeSJudy Hsiao		qcom,capture-sd-lines = <0>;
1041c5b7afeSJudy Hsiao	};
1051c5b7afeSJudy Hsiao
1061c5b7afeSJudy Hsiao	dai-link@1 {
1071c5b7afeSJudy Hsiao		reg = <MI2S_SECONDARY>;
1081c5b7afeSJudy Hsiao		qcom,playback-sd-lines = <0>;
1091c5b7afeSJudy Hsiao	};
110fc1780dbSJudy Hsiao
111fc1780dbSJudy Hsiao	dai-link@5 {
112fc1780dbSJudy Hsiao		reg = <LPASS_DP_RX>;
113fc1780dbSJudy Hsiao	};
1141c5b7afeSJudy Hsiao};
1151c5b7afeSJudy Hsiao
116f98d1a3cSDouglas Anderson/* PINCTRL - ADDITIONS TO NODES IN PARENT DEVICE TREE FILES */
117f98d1a3cSDouglas Anderson
1181c5b7afeSJudy Hsiao&mi2s0_data0 {
1191c5b7afeSJudy Hsiao	drive-strength = <6>;
1201c5b7afeSJudy Hsiao	bias-disable;
1211c5b7afeSJudy Hsiao};
1221c5b7afeSJudy Hsiao
1231c5b7afeSJudy Hsiao&mi2s0_data1 {
1241c5b7afeSJudy Hsiao	drive-strength = <6>;
1251c5b7afeSJudy Hsiao	bias-disable;
1261c5b7afeSJudy Hsiao};
1271c5b7afeSJudy Hsiao
1281c5b7afeSJudy Hsiao&mi2s0_mclk {
1291c5b7afeSJudy Hsiao	drive-strength = <6>;
1301c5b7afeSJudy Hsiao	bias-disable;
1311c5b7afeSJudy Hsiao};
1321c5b7afeSJudy Hsiao
1331c5b7afeSJudy Hsiao&mi2s0_sclk {
1341c5b7afeSJudy Hsiao	drive-strength = <6>;
1351c5b7afeSJudy Hsiao	bias-disable;
1361c5b7afeSJudy Hsiao};
1371c5b7afeSJudy Hsiao
1381c5b7afeSJudy Hsiao&mi2s0_ws {
1391c5b7afeSJudy Hsiao	drive-strength = <6>;
1401c5b7afeSJudy Hsiao	bias-disable;
1411c5b7afeSJudy Hsiao};
142