blob: 4b20cc16ab9e01b87c83b69008147ae39e2d070a [file] [log] [blame]
/*
* Copyright (c) 2019-2020, The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
* only version 2 as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*/
&int_codec {
compatible = "qcom,msm8952-dig-asoc-snd";
status = "okay";
qcom,model = "sdm429w-snd-card";
qcom,msm-ext-pa = "quaternary";
qcom,split-a2dp;
asoc-wsa-codec-names;
asoc-wsa-codec-prefixes;
ext_pa_tfa98xx;
qcom,audio-routing =
"CDC_CONN", "MCLK",
"QUAT_MI2S_RX", "DIGITAL_REGULATOR",
"TX_I2S_CLK", "DIGITAL_REGULATOR",
"DMIC1", "Digital Mic1",
"DMIC2", "Digital Mic2";
qcom,cdc-dmic-gpios = <&cdc_dmic_gpios>;
qcom,quat-mi2s-gpios = <&cdc_quat_mi2s_gpios>;
qcom,msm-gpios =
"quat_i2s",
"dmic";
qcom,pinctrl-names =
"all_off",
"quat_i2s_act",
"dmic_act",
"quat_i2s_dmic_act";
pinctrl-names =
"all_off",
"quat_i2s_act",
"dmic_act",
"quat_i2s_dmic_act";
pinctrl-0 = <&quat_mi2s_sleep &quat_mi2s_din_sleep
&cdc_dmic0_clk_sus &cdc_dmic0_data_sus>;
pinctrl-1 = <&quat_mi2s_active &quat_mi2s_din_active
&cdc_dmic0_clk_sus &cdc_dmic0_data_sus>;
pinctrl-2 = <&quat_mi2s_sleep &quat_mi2s_din_sleep
&cdc_dmic0_clk_act &cdc_dmic0_data_act>;
pinctrl-3 = <&quat_mi2s_active &quat_mi2s_din_active
&cdc_dmic0_clk_act &cdc_dmic0_data_act>;
/delete-property/qcom,cdc-us-euro-gpios;
/delete-property/qcom,pri-mi2s-gpios;
/delete-property/qcom,cdc-us-eu-gpios;
asoc-platform = <&pcm0>, <&pcm1>, <&pcm2>, <&voip>, <&voice>,
<&loopback>, <&compress>, <&hostless>,
<&afe>, <&lsm>, <&routing>, <&pcm_noirq>;
asoc-platform-names = "msm-pcm-dsp.0", "msm-pcm-dsp.1",
"msm-pcm-dsp.2", "msm-voip-dsp",
"msm-pcm-voice", "msm-pcm-loopback",
"msm-compress-dsp", "msm-pcm-hostless",
"msm-pcm-afe", "msm-lsm-client",
"msm-pcm-routing", "msm-pcm-dsp-noirq";
asoc-cpu = <&dai_pri_auxpcm>,
<&dai_mi2s0>, <&dai_mi2s1>,
<&dai_mi2s2>, <&dai_mi2s3>,
<&dai_mi2s4>, <&dai_mi2s5>,
<&sb_0_rx>, <&sb_0_tx>, <&sb_1_rx>, <&sb_1_tx>,
<&sb_3_rx>, <&sb_3_tx>, <&sb_4_rx>, <&sb_4_tx>,
<&bt_sco_rx>, <&bt_sco_tx>, <&bt_a2dp_rx>,
<&int_fm_rx>, <&int_fm_tx>,
<&afe_pcm_rx>, <&afe_pcm_tx>,
<&afe_proxy_rx>, <&afe_proxy_tx>,
<&incall_record_rx>, <&incall_record_tx>,
<&incall_music_rx>, <&incall_music_2_rx>;
asoc-cpu-names = "msm-dai-q6-auxpcm.1",
"msm-dai-q6-mi2s.0", "msm-dai-q6-mi2s.1",
"msm-dai-q6-mi2s.2", "msm-dai-q6-mi2s.3",
"msm-dai-q6-mi2s.4", "msm-dai-q6-mi2s.6",
"msm-dai-q6-dev.16384", "msmdai-q6-dev.16385",
"msm-dai-q6-dev.16386", "msm-dai-q6-dev.16387",
"msm-dai-q6-dev.16390", "msm-dai-q6-dev.16391",
"msm-dai-q6-dev.16392", "msm-dai-q6-dev.16393",
"msm-dai-q6-dev.12288", "msm-dai-q6-dev.12289",
"msm-dai-q6-dev.12290",
"msm-dai-q6-dev.12292", "msm-dai-q6-dev.12293",
"msm-dai-q6-dev.224", "msm-dai-q6-dev.225",
"msm-dai-q6-dev.241", "msm-dai-q6-dev.240",
"msm-dai-q6-dev.32771", "msm-dai-q6-dev.32772",
"msm-dai-q6-dev.32773", "msm-dai-q6-dev.32770";
asoc-codec = <&stub_codec>, <&msm_dig_codec>, <&ext_smart_pa>;
asoc-codec-names = "msm-stub-codec.1", "msm-dig-codec", "ext-smart-pa";
};
&soc {
msm_dig_codec: msm_dig_codec {
compatible = "qcom,msm-digital-codec";
reg = <0xc0f0000 0x0>;
qcom,no-analog-codec;
cdc-vdd-digital-supply = <&pm660_l9>;
qcom,cdc-vdd-digital-voltage = <1800000 1800000>;
qcom,cdc-vdd-digital-current = <10000>;
qcom,cdc-on-demand-supplies = "cdc-vdd-digital";
};
cdc_dmic_gpios: cdc_dmic_pinctrl {
compatible = "qcom,msm-cdc-pinctrl";
pinctrl-names = "aud_active", "aud_sleep";
pinctrl-0 = <&cdc_dmic0_clk_act &cdc_dmic0_data_act>;
pinctrl-1 = <&cdc_dmic0_clk_sus &cdc_dmic0_data_sus>;
};
cdc_quat_mi2s_gpios: msm_cdc_pinctrl_quat {
compatible = "qcom,msm-cdc-pinctrl";
pinctrl-names = "aud_active", "aud_sleep";
pinctrl-0 = <&quat_mi2s_active &quat_mi2s_din_active>;
pinctrl-1 = <&quat_mi2s_sleep &quat_mi2s_din_sleep>;
};
qcom,msm-dai-q6 {
compatible = "qcom,msm-dai-q6";
bt_a2dp_rx: qcom,msm-dai-q6-bt-a2dp-rx {
compatible = "qcom,msm-dai-q6-dev";
qcom,msm-dai-q6-dev-id = <12290>;
};
};
};
&tlmm {
smart_pa_int {
pa_int_default: pa_int_default {
mux {
pins = "gpio73", "gpio73";
function = "gpio";
};
config {
pins = "gpio73", "gpio73";
drive-strength = <4>;
bias-disable;
};
};
};
smart_pa_rst {
pa_rst_default: pa_rst_default {
mux {
pins = "gpio68", "gpio68";
function = "gpio";
};
config {
pins = "gpio68", "gpio68";
drive-strength = <4>;
bias-disable;
};
};
};
};
&wsa881x_i2c_f {
status = "disabled";
};
&wsa881x_i2c_45 {
status = "disabled";
};
&wsa881x_analog_vi_gpio {
status = "disabled";
};
&wsa881x_analog_clk_gpio {
status = "disabled";
};
&wsa881x_analog_reset_gpio {
status = "disabled";
};
&cdc_us_euro_sw {
status = "disabled";
};
&cdc_pri_mi2s_gpios {
status = "disabled";
};
&cdc_quin_mi2s_gpios {
status = "disabled";
};
&i2c_2 {
ext_smart_pa: nxp_smartpa@34 {
status = "okay";
compatible = "nxp,tfa98xx";
reg = <0x34>;
reset-gpio = <&tlmm 68 0>;
irq-gpio = <&tlmm 73 0>;
pinctrl-names = "default";
pinctrl-0 = <&pa_int_default &pa_rst_default>;
dvdd-supply = <&pm660_l9>;
dvdd-voltage = <1800000 1800000>;
dvdd-current = <15000>;
};
};