// SPDX-License-Identifier: (GPL-2.0+ OR MIT) /* * * This file defines the common audio settings for the child boards * using rt5682 codec and having 3 dmics connected to sc7280. * * Copyright 2022 Google LLC. */ / { /* BOARD-SPECIFIC TOP LEVEL NODES */ sound: sound { compatible = "google,sc7280-herobrine"; model = "sc7280-rt5682-max98360a-3mic"; audio-routing = "VA DMIC0", "vdd-micb", "VA DMIC1", "vdd-micb", "VA DMIC2", "vdd-micb", "VA DMIC3", "vdd-micb", "Headphone Jack", "HPOL", "Headphone Jack", "HPOR"; #address-cells = <1>; #size-cells = <0>; dai-link@0 { link-name = "MAX98360"; reg = <0>; cpu { sound-dai = <&lpass_cpu MI2S_SECONDARY>; }; codec { sound-dai = <&max98360a>; }; }; dai-link@1 { link-name = "DisplayPort"; reg = <1>; cpu { sound-dai = <&lpass_cpu LPASS_DP_RX>; }; codec { sound-dai = <&mdss_dp>; }; }; dai-link@2 { link-name = "ALC5682"; reg = <2>; cpu { sound-dai = <&lpass_cpu MI2S_PRIMARY>; }; codec { sound-dai = <&alc5682 0 /* aif1 */>; }; }; dai-link@4 { link-name = "DMIC"; reg = <4>; cpu { sound-dai = <&lpass_cpu LPASS_CDC_DMA_VA_TX0>; }; codec { sound-dai = <&lpass_va_macro 0>; }; }; }; }; hp_i2c: &i2c2 { clock-frequency = <400000>; status = "okay"; alc5682: codec@1a { compatible = "realtek,rt5682s"; reg = <0x1a>; pinctrl-names = "default"; pinctrl-0 = <&hp_irq>; #sound-dai-cells = <1>; interrupt-parent = <&tlmm>; interrupts = <101 IRQ_TYPE_EDGE_BOTH>; AVDD-supply = <&pp1800_alc5682>; DBVDD-supply = <&pp1800_alc5682>; LDO1-IN-supply = <&pp1800_alc5682>; MICVDD-supply = <&pp3300_codec>; realtek,dmic1-data-pin = <1>; realtek,dmic1-clk-pin = <2>; realtek,jd-src = <1>; realtek,dmic-clk-rate-hz = <2048000>; }; }; &lpass_cpu { pinctrl-names = "default"; pinctrl-0 = <&mi2s0_data0>, <&mi2s0_data1>, <&mi2s0_mclk>, <&mi2s0_sclk>, <&mi2s0_ws>, <&mi2s1_data0>, <&mi2s1_sclk>, <&mi2s1_ws>; #address-cells = <1>; #size-cells = <0>; status = "okay"; dai-link@0 { reg = ; qcom,playback-sd-lines = <1>; qcom,capture-sd-lines = <0>; }; dai-link@1 { reg = ; qcom,playback-sd-lines = <0>; }; dai-link@5 { reg = ; }; dai-link@25 { reg = ; }; }; &lpass_va_macro { vdd-micb-supply = <&pp1800_l2c>; pinctrl-0 = <&lpass_dmic01_clk>, <&lpass_dmic01_data>, <&lpass_dmic23_clk>, <&lpass_dmic23_data>; status = "okay"; }; /* PINCTRL - ADDITIONS TO NODES IN PARENT DEVICE TREE FILES */ &lpass_dmic01_clk { drive-strength = <8>; bias-disable; }; &lpass_dmic01_data { bias-pull-down; }; &lpass_dmic23_clk { drive-strength = <8>; bias-disable; }; &lpass_dmic23_data { bias-pull-down; }; &mi2s0_data0 { drive-strength = <6>; bias-disable; }; &mi2s0_data1 { drive-strength = <6>; bias-disable; }; &mi2s0_mclk { drive-strength = <6>; bias-disable; }; &mi2s0_sclk { drive-strength = <6>; bias-disable; }; &mi2s0_ws { drive-strength = <6>; bias-disable; };