190 lines
5.3 KiB
Devicetree
190 lines
5.3 KiB
Devicetree
/*
|
|
* 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>,
|
|
<&sb_7_rx>, <&sb_7_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.16398", "msm-dai-q6-dev.16399",
|
|
"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;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
&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>;
|
|
};
|
|
};
|