blob: a90c70b1b73ea042af3c5509dccc60844f599acc [file] [log] [blame]
// 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 = <MI2S_PRIMARY>;
qcom,playback-sd-lines = <1>;
qcom,capture-sd-lines = <0>;
};
dai-link@1 {
reg = <MI2S_SECONDARY>;
qcom,playback-sd-lines = <0>;
};
dai-link@5 {
reg = <LPASS_DP_RX>;
};
dai-link@25 {
reg = <LPASS_CDC_DMA_VA_TX0>;
};
};
&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;
};