mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-12 07:37:31 -04:00
Merge "ARM: dts: msm: add audio routings sdxlemur"
This commit is contained in:
commit
83503f65e1
7 changed files with 1000 additions and 0 deletions
336
qcom/sdx-audio-lpass.dtsi
Normal file
336
qcom/sdx-audio-lpass.dtsi
Normal file
|
|
@ -0,0 +1,336 @@
|
|||
&soc {
|
||||
spf_core_platform: spf_core_platform {
|
||||
compatible = "qcom,spf-core-platform";
|
||||
};
|
||||
|
||||
audio_pkt_core_platform: audio-pkt-platform {
|
||||
compatible = "qcom,audio-pkt-core-platform";
|
||||
};
|
||||
|
||||
qcom,msm-adsp-loader {
|
||||
compatible = "qcom,adsp-loader";
|
||||
qcom,adsp-state = <0>;
|
||||
qcom,proc-img-to-load = "modem";
|
||||
};
|
||||
|
||||
qcom,msm-audio-ion {
|
||||
compatible = "qcom,msm-audio-ion";
|
||||
memory-region = <&audio_mem>;
|
||||
};
|
||||
|
||||
pcm0: qcom,msm-pcm {
|
||||
compatible = "qcom,msm-pcm-dsp";
|
||||
qcom,msm-pcm-dsp-id = <0>;
|
||||
};
|
||||
|
||||
routing: qcom,msm-pcm-routing {
|
||||
compatible = "qcom,msm-pcm-routing";
|
||||
};
|
||||
|
||||
pcm1: qcom,msm-pcm-low-latency {
|
||||
compatible = "qcom,msm-pcm-dsp";
|
||||
qcom,msm-pcm-dsp-id = <1>;
|
||||
qcom,msm-pcm-low-latency;
|
||||
qcom,latency-level = "ultra";
|
||||
};
|
||||
|
||||
qcom,msm-compr-dsp {
|
||||
compatible = "qcom,msm-compr-dsp";
|
||||
};
|
||||
|
||||
voip: qcom,msm-voip-dsp {
|
||||
compatible = "qcom,msm-voip-dsp";
|
||||
};
|
||||
|
||||
voice: qcom,msm-pcm-voice {
|
||||
compatible = "qcom,msm-pcm-voice";
|
||||
qcom,destroy-cvd;
|
||||
};
|
||||
|
||||
stub_codec: qcom,msm-stub-codec {
|
||||
compatible = "qcom,msm-stub-codec";
|
||||
};
|
||||
|
||||
qcom,msm-dai-fe {
|
||||
compatible = "qcom,msm-dai-fe";
|
||||
};
|
||||
|
||||
afe: qcom,msm-pcm-afe {
|
||||
compatible = "qcom,msm-pcm-afe";
|
||||
};
|
||||
|
||||
hostless: qcom,msm-pcm-hostless {
|
||||
compatible = "qcom,msm-pcm-hostless";
|
||||
};
|
||||
|
||||
audio_apr: qcom,msm-audio-apr {
|
||||
compatible = "qcom,msm-audio-apr";
|
||||
qcom,subsys-name = "apr_modem";
|
||||
};
|
||||
|
||||
host_pcm: qcom,msm-voice-host-pcm {
|
||||
compatible = "qcom,msm-voice-host-pcm";
|
||||
};
|
||||
|
||||
loopback: qcom,msm-pcm-loopback {
|
||||
compatible = "qcom,msm-pcm-loopback";
|
||||
};
|
||||
|
||||
compress: qcom,msm-compress-dsp {
|
||||
compatible = "qcom,msm-compress-dsp";
|
||||
qcom,adsp-version = "MDSP 1.2";
|
||||
};
|
||||
|
||||
qcom,msm-dai-stub {
|
||||
compatible = "qcom,msm-dai-stub";
|
||||
dtmf_tx: qcom,msm-dai-stub-dtmf-tx {
|
||||
compatible = "qcom,msm-dai-stub-dev";
|
||||
qcom,msm-dai-stub-dev-id = <4>;
|
||||
};
|
||||
|
||||
rx_capture_tx: qcom,msm-dai-stub-host-rx-capture-tx {
|
||||
compatible = "qcom,msm-dai-stub-dev";
|
||||
qcom,msm-dai-stub-dev-id = <5>;
|
||||
};
|
||||
|
||||
rx_playback_rx: qcom,msm-dai-stub-host-rx-playback-rx {
|
||||
compatible = "qcom,msm-dai-stub-dev";
|
||||
qcom,msm-dai-stub-dev-id = <6>;
|
||||
};
|
||||
|
||||
tx_capture_tx: qcom,msm-dai-stub-host-tx-capture-tx {
|
||||
compatible = "qcom,msm-dai-stub-dev";
|
||||
qcom,msm-dai-stub-dev-id = <7>;
|
||||
};
|
||||
|
||||
tx_playback_rx: qcom,msm-dai-stub-host-tx-playback-rx {
|
||||
compatible = "qcom,msm-dai-stub-dev";
|
||||
qcom,msm-dai-stub-dev-id = <8>;
|
||||
};
|
||||
};
|
||||
|
||||
qcom,msm-dai-q6 {
|
||||
compatible = "qcom,msm-dai-q6";
|
||||
afe_pcm_rx: qcom,msm-dai-q6-be-afe-pcm-rx {
|
||||
compatible = "qcom,msm-dai-q6-dev";
|
||||
qcom,msm-dai-q6-dev-id = <224>;
|
||||
};
|
||||
|
||||
afe_pcm_tx: qcom,msm-dai-q6-be-afe-pcm-tx {
|
||||
compatible = "qcom,msm-dai-q6-dev";
|
||||
qcom,msm-dai-q6-dev-id = <225>;
|
||||
};
|
||||
|
||||
afe_proxy_rx: qcom,msm-dai-q6-afe-proxy-rx {
|
||||
compatible = "qcom,msm-dai-q6-dev";
|
||||
qcom,msm-dai-q6-dev-id = <241>;
|
||||
};
|
||||
|
||||
afe_proxy_tx: qcom,msm-dai-q6-afe-proxy-tx {
|
||||
compatible = "qcom,msm-dai-q6-dev";
|
||||
qcom,msm-dai-q6-dev-id = <240>;
|
||||
};
|
||||
|
||||
incall_record_rx: qcom,msm-dai-q6-incall-record-rx {
|
||||
compatible = "qcom,msm-dai-q6-dev";
|
||||
qcom,msm-dai-q6-dev-id = <32771>;
|
||||
};
|
||||
|
||||
incall_record_tx: qcom,msm-dai-q6-incall-record-tx {
|
||||
compatible = "qcom,msm-dai-q6-dev";
|
||||
qcom,msm-dai-q6-dev-id = <32772>;
|
||||
};
|
||||
|
||||
incall_music_rx: qcom,msm-dai-q6-incall-music-rx {
|
||||
compatible = "qcom,msm-dai-q6-dev";
|
||||
qcom,msm-dai-q6-dev-id = <32773>;
|
||||
};
|
||||
};
|
||||
|
||||
pcm_dtmf: qcom,msm-pcm-dtmf {
|
||||
compatible = "qcom,msm-pcm-dtmf";
|
||||
};
|
||||
|
||||
dai_pri_auxpcm: qcom,msm-pri-auxpcm {
|
||||
compatible = "qcom,msm-auxpcm-dev";
|
||||
qcom,msm-cpudai-auxpcm-mode = <0>, <0>;
|
||||
qcom,msm-cpudai-auxpcm-sync = <1>, <1>;
|
||||
qcom,msm-cpudai-auxpcm-frame = <5>, <4>;
|
||||
qcom,msm-cpudai-auxpcm-quant = <2>, <2>;
|
||||
qcom,msm-cpudai-auxpcm-num-slots = <1>, <1>;
|
||||
qcom,msm-cpudai-auxpcm-slot-mapping = <1>, <1>;
|
||||
qcom,msm-cpudai-auxpcm-data = <0>, <0>;
|
||||
qcom,msm-cpudai-auxpcm-pcm-clk-rate = <2048000>, <2048000>;
|
||||
qcom,msm-auxpcm-interface = "primary";
|
||||
qcom,msm-cpudai-afe-clk-ver = <2>;
|
||||
};
|
||||
|
||||
dai_sec_auxpcm: qcom,msm-sec-auxpcm {
|
||||
compatible = "qcom,msm-auxpcm-dev";
|
||||
qcom,msm-cpudai-auxpcm-mode = <0>, <0>;
|
||||
qcom,msm-cpudai-auxpcm-sync = <1>, <1>;
|
||||
qcom,msm-cpudai-auxpcm-frame = <5>, <4>;
|
||||
qcom,msm-cpudai-auxpcm-quant = <2>, <2>;
|
||||
qcom,msm-cpudai-auxpcm-num-slots = <1>, <1>;
|
||||
qcom,msm-cpudai-auxpcm-slot-mapping = <1>, <1>;
|
||||
qcom,msm-cpudai-auxpcm-data = <0>, <0>;
|
||||
qcom,msm-cpudai-auxpcm-pcm-clk-rate = <2048000>, <2048000>;
|
||||
qcom,msm-auxpcm-interface = "secondary";
|
||||
qcom,msm-cpudai-afe-clk-ver = <2>;
|
||||
};
|
||||
|
||||
qcom,msm-dai-tdm-pri-rx {
|
||||
compatible = "qcom,msm-dai-tdm";
|
||||
qcom,msm-cpudai-tdm-group-id = <37120>;
|
||||
qcom,msm-cpudai-tdm-group-num-ports = <1>;
|
||||
qcom,msm-cpudai-tdm-group-port-id = <36864>;
|
||||
qcom,msm-cpudai-tdm-clk-rate = <12288000>;
|
||||
qcom,msm-cpudai-tdm-clk-internal = <1>;
|
||||
qcom,msm-cpudai-tdm-sync-mode = <0>;
|
||||
qcom,msm-cpudai-tdm-sync-src = <1>;
|
||||
qcom,msm-cpudai-tdm-data-out = <0>;
|
||||
qcom,msm-cpudai-tdm-invert-sync = <0>;
|
||||
qcom,msm-cpudai-tdm-data-delay = <1>;
|
||||
qcom,msm-cpudai-tdm-clk-attribute = /bits/ 16 <1>;
|
||||
dai_pri_tdm_rx_0: qcom,msm-dai-q6-tdm-pri-rx-0 {
|
||||
compatible = "qcom,msm-dai-q6-tdm";
|
||||
qcom,msm-cpudai-tdm-dev-id = <36864>;
|
||||
qcom,msm-cpudai-tdm-data-align = <0>;
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
qcom,msm-dai-tdm-pri-tx {
|
||||
compatible = "qcom,msm-dai-tdm";
|
||||
qcom,msm-cpudai-tdm-group-id = <37121>;
|
||||
qcom,msm-cpudai-tdm-group-num-ports = <1>;
|
||||
qcom,msm-cpudai-tdm-group-port-id = <36865>;
|
||||
qcom,msm-cpudai-tdm-clk-rate = <12288000>;
|
||||
qcom,msm-cpudai-tdm-clk-internal = <1>;
|
||||
qcom,msm-cpudai-tdm-sync-mode = <0>;
|
||||
qcom,msm-cpudai-tdm-sync-src = <1>;
|
||||
qcom,msm-cpudai-tdm-data-out = <0>;
|
||||
qcom,msm-cpudai-tdm-invert-sync = <0>;
|
||||
qcom,msm-cpudai-tdm-data-delay = <1>;
|
||||
qcom,msm-cpudai-tdm-clk-attribute = /bits/ 16 <1>;
|
||||
dai_pri_tdm_tx_0: qcom,msm-dai-q6-tdm-pri-tx-0 {
|
||||
compatible = "qcom,msm-dai-q6-tdm";
|
||||
qcom,msm-cpudai-tdm-dev-id = <36865>;
|
||||
qcom,msm-cpudai-tdm-data-align = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
qcom,msm-dai-tdm-sec-rx {
|
||||
compatible = "qcom,msm-dai-tdm";
|
||||
qcom,msm-cpudai-tdm-group-id = <37136>;
|
||||
qcom,msm-cpudai-tdm-group-num-ports = <1>;
|
||||
qcom,msm-cpudai-tdm-group-port-id = <36880>;
|
||||
qcom,msm-cpudai-tdm-clk-rate = <12288000>;
|
||||
qcom,msm-cpudai-tdm-clk-internal = <1>;
|
||||
qcom,msm-cpudai-tdm-sync-mode = <1>;
|
||||
qcom,msm-cpudai-tdm-sync-src = <0>;
|
||||
qcom,msm-cpudai-tdm-data-out = <0>;
|
||||
qcom,msm-cpudai-tdm-invert-sync = <0>;
|
||||
qcom,msm-cpudai-tdm-data-delay = <0>;
|
||||
dai_sec_tdm_rx_0: qcom,msm-dai-q6-tdm-sec-rx-0 {
|
||||
compatible = "qcom,msm-dai-q6-tdm";
|
||||
qcom,msm-cpudai-tdm-dev-id = <36880>;
|
||||
qcom,msm-cpudai-tdm-data-align = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
qcom,msm-dai-tdm-sec-tx {
|
||||
compatible = "qcom,msm-dai-tdm";
|
||||
qcom,msm-cpudai-tdm-group-id = <37137>;
|
||||
qcom,msm-cpudai-tdm-group-num-ports = <1>;
|
||||
qcom,msm-cpudai-tdm-group-port-id = <36881>;
|
||||
qcom,msm-cpudai-tdm-clk-rate = <12288000>;
|
||||
qcom,msm-cpudai-tdm-clk-internal = <1>;
|
||||
qcom,msm-cpudai-tdm-sync-mode = <1>;
|
||||
qcom,msm-cpudai-tdm-sync-src = <0>;
|
||||
qcom,msm-cpudai-tdm-data-out = <0>;
|
||||
qcom,msm-cpudai-tdm-invert-sync = <0>;
|
||||
qcom,msm-cpudai-tdm-data-delay = <0>;
|
||||
dai_sec_tdm_tx_0: qcom,msm-dai-q6-tdm-sec-tx-0 {
|
||||
compatible = "qcom,msm-dai-q6-tdm";
|
||||
qcom,msm-cpudai-tdm-dev-id = <36881>;
|
||||
qcom,msm-cpudai-tdm-data-align = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
qcom,msm-dai-mi2s {
|
||||
compatible = "qcom,msm-dai-mi2s";
|
||||
mi2s_prim: qcom,msm-dai-q6-mi2s-prim {
|
||||
compatible = "qcom,msm-dai-q6-mi2s";
|
||||
qcom,msm-dai-q6-mi2s-dev-id = <0>;
|
||||
qcom,msm-mi2s-rx-lines = <2>;
|
||||
qcom,msm-mi2s-tx-lines = <1>;
|
||||
};
|
||||
|
||||
mi2s_sec: qcom,msm-dai-q6-mi2s-sec {
|
||||
compatible = "qcom,msm-dai-q6-mi2s";
|
||||
qcom,msm-dai-q6-mi2s-dev-id = <1>;
|
||||
qcom,msm-mi2s-rx-lines = <2>;
|
||||
qcom,msm-mi2s-tx-lines = <1>;
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
prim_master: prim_master_pinctrl {
|
||||
compatible = "qcom,msm-cdc-pinctrl";
|
||||
pinctrl-names = "aud_active", "aud_sleep";
|
||||
pinctrl-0 = <&pri_ws_active_master
|
||||
&pri_sck_active_master
|
||||
&pri_dout_active
|
||||
&pri_din_active>;
|
||||
pinctrl-1 = <&pri_ws_sleep
|
||||
&pri_sck_sleep
|
||||
&pri_dout_sleep
|
||||
&pri_din_sleep>;
|
||||
qcom,mi2s-auxpcm-cdc-gpios;
|
||||
};
|
||||
|
||||
prim_slave: prim_slave_pinctrl {
|
||||
status = "disabled";
|
||||
compatible = "qcom,msm-cdc-pinctrl";
|
||||
pinctrl-names = "aud_active", "aud_sleep";
|
||||
pinctrl-0 = <&pri_ws_active_slave
|
||||
&pri_sck_active_slave
|
||||
&pri_dout_active
|
||||
&pri_din_active>;
|
||||
pinctrl-1 = <&pri_ws_sleep
|
||||
&pri_sck_sleep
|
||||
&pri_dout_sleep
|
||||
&pri_din_sleep>;
|
||||
qcom,mi2s-auxpcm-cdc-gpios;
|
||||
};
|
||||
|
||||
sec_master: sec_master_pinctrl {
|
||||
compatible = "qcom,msm-cdc-pinctrl";
|
||||
pinctrl-names = "aud_active", "aud_sleep";
|
||||
pinctrl-0 = <&sec_ws_active_master
|
||||
&sec_sck_active_master
|
||||
&sec_dout_active
|
||||
&sec_din_active>;
|
||||
pinctrl-1 = <&sec_ws_sleep
|
||||
&sec_sck_sleep
|
||||
&sec_dout_sleep
|
||||
&sec_din_sleep>;
|
||||
qcom,mi2s-auxpcm-cdc-gpios;
|
||||
};
|
||||
|
||||
sec_slave: sec_slave_pinctrl {
|
||||
status = "disabled";
|
||||
compatible = "qcom,msm-cdc-pinctrl";
|
||||
pinctrl-names = "aud_active", "aud_sleep";
|
||||
pinctrl-0 = <&sec_ws_active_slave
|
||||
&sec_sck_active_slave
|
||||
&sec_dout_active
|
||||
&sec_din_active>;
|
||||
pinctrl-1 = <&sec_ws_sleep
|
||||
&sec_sck_sleep
|
||||
&sec_dout_sleep
|
||||
&sec_din_sleep>;
|
||||
qcom,mi2s-auxpcm-cdc-gpios;
|
||||
};
|
||||
};
|
||||
36
qcom/sdx-wsa881x.dtsi
Normal file
36
qcom/sdx-wsa881x.dtsi
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
&soc {
|
||||
tavil_codec {
|
||||
swr_master {
|
||||
compatible = "qcom,swr-wcd";
|
||||
#address-cells = <2>;
|
||||
#size-cells = <0>;
|
||||
|
||||
wsa881x_0211: wsa881x@20170211 {
|
||||
status = "disabled";
|
||||
compatible = "qcom,wsa881x";
|
||||
reg = <0x00 0x20170211>;
|
||||
qcom,spkr-sd-n-node = <&wsa_spkr_wcd_sd1>;
|
||||
};
|
||||
|
||||
wsa881x_0212: wsa881x@20170212 {
|
||||
status = "disabled";
|
||||
compatible = "qcom,wsa881x";
|
||||
reg = <0x00 0x20170212>;
|
||||
qcom,spkr-sd-n-node = <&wsa_spkr_wcd_sd2>;
|
||||
};
|
||||
|
||||
wsa881x_0213: wsa881x@21170213 {
|
||||
status = "disabled";
|
||||
compatible = "qcom,wsa881x";
|
||||
reg = <0x00 0x21170213>;
|
||||
qcom,spkr-sd-n-node = <&wsa_spkr_wcd_sd1>;
|
||||
};
|
||||
|
||||
wsa881x_0214: wsa881x@21170214 {
|
||||
compatible = "qcom,wsa881x";
|
||||
reg = <0x00 0x21170214>;
|
||||
qcom,spkr-sd-n-node = <&wsa_spkr_wcd_sd2>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
130
qcom/sdxlemur-audio-overlay.dtsi
Normal file
130
qcom/sdxlemur-audio-overlay.dtsi
Normal file
|
|
@ -0,0 +1,130 @@
|
|||
#include "sdxlemur-wcd.dtsi"
|
||||
#include "sdx-wsa881x.dtsi"
|
||||
#include <dt-bindings/clock/qcom,audio-ext-clk.h>
|
||||
|
||||
&snd_934x {
|
||||
qcom,audio-routing =
|
||||
"RX_BIAS", "MCLK",
|
||||
"MADINPUT", "MCLK",
|
||||
"AMIC2", "MIC BIAS2",
|
||||
"MIC BIAS2", "Headset Mic",
|
||||
"AMIC3", "MIC BIAS2",
|
||||
"MIC BIAS2", "ANCRight Headset Mic",
|
||||
"AMIC4", "MIC BIAS2",
|
||||
"MIC BIAS2", "ANCLeft Headset Mic",
|
||||
"AMIC5", "MIC BIAS3",
|
||||
"MIC BIAS3", "Handset Mic",
|
||||
"DMIC1", "MIC BIAS1",
|
||||
"MIC BIAS1", "Digital Mic1",
|
||||
"DMIC2", "MIC BIAS3",
|
||||
"MIC BIAS3", "Digital Mic2",
|
||||
"DMIC3", "MIC BIAS3",
|
||||
"MIC BIAS3", "Digital Mic3",
|
||||
"DMIC4", "MIC BIAS4",
|
||||
"MIC BIAS4", "Digital Mic4",
|
||||
"DMIC5", "MIC BIAS4",
|
||||
"MIC BIAS4", "Digital Mic5",
|
||||
"SpkrRight IN", "SPK2 OUT";
|
||||
|
||||
qcom,msm-mbhc-hphl-swh = <1>;
|
||||
qcom,msm-mbhc-gnd-swh = <1>;
|
||||
qcom,msm-mbhc-hs-mic-max-threshold-mv = <1700>;
|
||||
qcom,msm-mbhc-hs-mic-min-threshold-mv = <50>;
|
||||
qcom,cdc-ext-clk-rate = <19200000>;
|
||||
qcom,tavil-mclk-clk-freq = <9600000>;
|
||||
|
||||
asoc-codec = <&stub_codec>;
|
||||
asoc-codec-names = "msm-stub-codec.1";
|
||||
|
||||
qcom,wsa-max-devs = <2>;
|
||||
qcom,wsa-devs = <&wsa881x_0211>, <&wsa881x_0212>,
|
||||
<&wsa881x_0213>, <&wsa881x_0214>;
|
||||
qcom,wsa-aux-dev-prefix = "SpkrLeft", "SpkrRight",
|
||||
"SpkrLeft", "SpkrRight";
|
||||
};
|
||||
|
||||
&soc {
|
||||
wcd9xxx_intc: wcd9xxx-irq {
|
||||
status = "ok"
|
||||
compatible = "qcom,wcd9xxx-irq";
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <1>;
|
||||
interrupt-parent = <&tlmm>;
|
||||
qcom,gpio-connect = <&tlmm 96 0>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&wcd_intr_default>;
|
||||
};
|
||||
|
||||
clock_audio_up: audio_ext_clk_up {
|
||||
compatible = "qcom,audio-ref-clk";
|
||||
qcom,codec-ext-clk-src = <AUDIO_LPASS_MCLK_3>;
|
||||
qcom,codec-lpass-clk-id = <770>;
|
||||
qcom,codec-lpass-ext-clk-freq = <9600000>;
|
||||
qcom,use-pinctrl = <1>;
|
||||
pinctrl-names = "sleep", "active";
|
||||
pinctrl-0 = <&i2s_mclk_sleep>;
|
||||
pinctrl-1 = <&i2s_mclk_active>;
|
||||
#clock-cells = <1>;
|
||||
};
|
||||
|
||||
wcd_rst_gpio: msm_cdc_pinctrl@92 {
|
||||
compatible = "qcom,msm-cdc-pinctrl";
|
||||
qcom,cdc-rst-n-gpio = <&tlmm 92 0>;
|
||||
pinctrl-names = "aud_active", "aud_sleep";
|
||||
pinctrl-0 = <&cdc_reset_active>;
|
||||
pinctrl-1 = <&cdc_reset_sleep>;
|
||||
};
|
||||
};
|
||||
|
||||
&soc {
|
||||
wcd934x_cdc: tavil_codec {
|
||||
compatible = "qcom,tavil-i2c";
|
||||
reg = <0x0d>;
|
||||
|
||||
interrupt-parent = <&wcd9xxx_intc>;
|
||||
interrupts = <0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
||||
17 18 19 20 21 22 23 24 25 26 27 28 29
|
||||
30 31>;
|
||||
|
||||
qcom,wcd-rst-gpio-node = <&wcd_rst_gpio>;
|
||||
|
||||
clock-names = "wcd_clk";
|
||||
clocks = <&clock_audio_up 0>;
|
||||
|
||||
cdc-vdd-buck-supply = <&pmxprairie_l6>;
|
||||
qcom,cdc-vdd-buck-voltage = <1800000 1800000>;
|
||||
qcom,cdc-vdd-buck-current = <650000>;
|
||||
|
||||
cdc-buck-sido-supply = <&pmxprairie_l6>;
|
||||
qcom,cdc-buck-sido-voltage = <1800000 1800000>;
|
||||
qcom,cdc-buck-sido-current = <250000>;
|
||||
|
||||
cdc-vdd-tx-h-supply = <&pmxprairie_l6>;
|
||||
qcom,cdc-vdd-tx-h-voltage = <1800000 1800000>;
|
||||
qcom,cdc-vdd-tx-h-current = <25000>;
|
||||
|
||||
cdc-vdd-rx-h-supply = <&pmxprairie_l6>;
|
||||
qcom,cdc-vdd-rx-h-voltage = <1800000 1800000>;
|
||||
qcom,cdc-vdd-rx-h-current = <25000>;
|
||||
|
||||
cdc-vddpx-1-supply = <&pmxprairie_l6>;
|
||||
qcom,cdc-vddpx-1-voltage = <1800000 1800000>;
|
||||
qcom,cdc-vddpx-1-current = <10000>;
|
||||
|
||||
qcom,cdc-static-supplies = "cdc-vdd-buck",
|
||||
"cdc-buck-sido",
|
||||
"cdc-vdd-tx-h",
|
||||
"cdc-vdd-rx-h",
|
||||
"cdc-vddpx-1";
|
||||
|
||||
qcom,cdc-micbias1-mv = <1800>;
|
||||
qcom,cdc-micbias2-mv = <1800>;
|
||||
qcom,cdc-micbias3-mv = <1800>;
|
||||
qcom,cdc-micbias4-mv = <1800>;
|
||||
|
||||
qcom,cdc-mclk-clk-rate = <9600000>;
|
||||
qcom,cdc-dmic-sample-rate = <4800000>;
|
||||
|
||||
qcom,wdsp-cmpnt-dev-name = "tavil_codec";
|
||||
};
|
||||
};
|
||||
43
qcom/sdxlemur-audio.dtsi
Normal file
43
qcom/sdxlemur-audio.dtsi
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
#include "sdx-audio-lpass.dtsi"
|
||||
|
||||
&soc {
|
||||
snd_934x: sound-tavil {
|
||||
compatible = "qcom,sdx-asoc-snd-tavil";
|
||||
qcom,model = "sdx-tavil-i2s-snd-card";
|
||||
qcom,prim_mi2s_aux_master = <&prim_master>;
|
||||
qcom,prim_mi2s_aux_slave = <&prim_slave>;
|
||||
qcom,sec_mi2s_aux_master = <&sec_master>;
|
||||
qcom,sec_mi2s_aux_slave = <&sec_slave>;
|
||||
|
||||
asoc-platform = <&pcm0>, <&pcm1>, <&voip>, <&voice>,
|
||||
<&loopback>, <&hostless>, <&afe>, <&routing>,
|
||||
<&pcm_dtmf>, <&host_pcm>, <&compress>;
|
||||
asoc-platform-names = "msm-pcm-dsp.0", "msm-pcm-dsp.1",
|
||||
"msm-voip-dsp", "msm-pcm-voice",
|
||||
"msm-pcm-loopback", "msm-pcm-hostless",
|
||||
"msm-pcm-afe", "msm-pcm-routing",
|
||||
"msm-pcm-dtmf", "msm-voice-host-pcm",
|
||||
"msm-compress-dsp";
|
||||
asoc-cpu = <&dai_pri_auxpcm>, <&mi2s_prim>, <&mi2s_sec>,
|
||||
<&dtmf_tx>,
|
||||
<&rx_capture_tx>, <&rx_playback_rx>,
|
||||
<&tx_capture_tx>, <&tx_playback_rx>,
|
||||
<&afe_pcm_rx>, <&afe_pcm_tx>, <&afe_proxy_rx>,
|
||||
<&afe_proxy_tx>, <&incall_record_rx>,
|
||||
<&incall_record_tx>, <&incall_music_rx>,
|
||||
<&dai_pri_tdm_rx_0>, <&dai_pri_tdm_tx_0>,
|
||||
<&dai_sec_tdm_rx_0>, <&dai_sec_tdm_tx_0>,
|
||||
<&dai_sec_auxpcm>;
|
||||
asoc-cpu-names = "msm-dai-q6-auxpcm.1",
|
||||
"msm-dai-q6-mi2s.0", "msm-dai-q6-mi2s.1",
|
||||
"msm-dai-stub-dev.4", "msm-dai-stub-dev.5",
|
||||
"msm-dai-stub-dev.6", "msm-dai-stub-dev.7",
|
||||
"msm-dai-stub-dev.8", "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-tdm.36864", "msm-dai-q6-tdm.36865",
|
||||
"msm-dai-q6-tdm.36880", "msm-dai-q6-tdm.36881",
|
||||
"msm-dai-q6-auxpcm.2";
|
||||
};
|
||||
};
|
||||
|
|
@ -996,5 +996,361 @@
|
|||
};
|
||||
};
|
||||
};
|
||||
wcd9xxx_intr {
|
||||
wcd_intr_default: wcd_intr_default {
|
||||
mux {
|
||||
pins = "gpio96";
|
||||
function = "gpio";
|
||||
};
|
||||
|
||||
config {
|
||||
pins = "gpio96";
|
||||
drive-strength = <2>; /* 2 mA */
|
||||
bias-pull-down; /* pull down */
|
||||
input-enable;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
cdc_reset_ctrl {
|
||||
cdc_reset_sleep: cdc_reset_sleep {
|
||||
mux {
|
||||
pins = "gpio92";
|
||||
function = "gpio";
|
||||
};
|
||||
|
||||
config {
|
||||
pins = "gpio92";
|
||||
drive-strength = <2>;
|
||||
bias-disable;
|
||||
output-low;
|
||||
};
|
||||
};
|
||||
|
||||
cdc_reset_active:cdc_reset_active {
|
||||
mux {
|
||||
pins = "gpio92";
|
||||
function = "gpio";
|
||||
};
|
||||
|
||||
config {
|
||||
pins = "gpio92";
|
||||
drive-strength = <8>;
|
||||
bias-pull-down;
|
||||
output-high;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
i2s_mclk {
|
||||
i2s_mclk_sleep: i2s_mclk_sleep {
|
||||
mux {
|
||||
pins = "gpio62";
|
||||
function = "i2s_mclk";
|
||||
};
|
||||
|
||||
config {
|
||||
pins = "gpio62";
|
||||
drive-strength = <2>; /* 2 mA */
|
||||
bias-pull-down; /* PULL DOWN */
|
||||
};
|
||||
};
|
||||
|
||||
i2s_mclk_active: i2s_mclk_active {
|
||||
mux {
|
||||
pins = "gpio62";
|
||||
function = "i2s_mclk";
|
||||
};
|
||||
|
||||
config {
|
||||
pins = "gpio62";
|
||||
drive-strength = <8>; /* 8 mA */
|
||||
bias-disable; /* NO PULL*/
|
||||
output-high;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
pmx_pri_mi2s_aux {
|
||||
pri_ws_sleep: pri_ws_sleep {
|
||||
mux {
|
||||
pins = "gpio12";
|
||||
function = "gpio";
|
||||
};
|
||||
|
||||
config {
|
||||
pins = "gpio12";
|
||||
drive-strength = <2>; /* 2 mA */
|
||||
bias-pull-down; /* PULL DOWN */
|
||||
input-enable;
|
||||
};
|
||||
};
|
||||
|
||||
pri_sck_sleep: pri_sck_sleep {
|
||||
mux {
|
||||
pins = "gpio15";
|
||||
function = "gpio";
|
||||
};
|
||||
|
||||
config {
|
||||
pins = "gpio15";
|
||||
drive-strength = <2>; /* 2 mA */
|
||||
bias-pull-down; /* PULL DOWN */
|
||||
input-enable;
|
||||
};
|
||||
};
|
||||
|
||||
pri_dout_sleep: pri_dout_sleep {
|
||||
mux {
|
||||
pins = "gpio14";
|
||||
function = "gpio";
|
||||
};
|
||||
|
||||
config {
|
||||
pins = "gpio14";
|
||||
drive-strength = <2>; /* 2 mA */
|
||||
bias-pull-down; /* PULL DOWN */
|
||||
input-enable;
|
||||
};
|
||||
};
|
||||
|
||||
pri_ws_active_master: pri_ws_active_master {
|
||||
mux {
|
||||
pins = "gpio12";
|
||||
function = "pri_mi2s";
|
||||
};
|
||||
|
||||
config {
|
||||
pins = "gpio12";
|
||||
drive-strength = <8>; /* 8 mA */
|
||||
bias-disable; /* NO PULL*/
|
||||
output-high;
|
||||
};
|
||||
};
|
||||
|
||||
pri_sck_active_master: pri_sck_active_master {
|
||||
mux {
|
||||
pins = "gpio15";
|
||||
function = "pri_mi2s";
|
||||
};
|
||||
|
||||
config {
|
||||
pins = "gpio15";
|
||||
drive-strength = <8>; /* 8 mA */
|
||||
bias-disable; /* NO PULL*/
|
||||
output-high;
|
||||
};
|
||||
};
|
||||
|
||||
pri_ws_active_slave: pri_ws_active_slave {
|
||||
mux {
|
||||
pins = "gpio12";
|
||||
function = "pri_mi2s";
|
||||
};
|
||||
|
||||
config {
|
||||
pins = "gpio12";
|
||||
drive-strength = <8>; /* 8 mA */
|
||||
bias-disable; /* NO PULL*/
|
||||
};
|
||||
};
|
||||
|
||||
pri_sck_active_slave: pri_sck_active_slave {
|
||||
mux {
|
||||
pins = "gpio15";
|
||||
function = "pri_mi2s";
|
||||
};
|
||||
|
||||
config {
|
||||
pins = "gpio15";
|
||||
drive-strength = <8>; /* 8 mA */
|
||||
bias-disable; /* NO PULL*/
|
||||
};
|
||||
};
|
||||
|
||||
pri_dout_active: pri_dout_active {
|
||||
mux {
|
||||
pins = "gpio14";
|
||||
function = "pri_mi2s";
|
||||
};
|
||||
|
||||
config {
|
||||
pins = "gpio14";
|
||||
drive-strength = <8>; /* 8 mA */
|
||||
bias-disable; /* NO PULL*/
|
||||
output-high;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
pmx_pri_mi2s_aux_din {
|
||||
pri_din_sleep: pri_din_sleep {
|
||||
mux {
|
||||
pins = "gpio13";
|
||||
function = "gpio";
|
||||
};
|
||||
|
||||
config {
|
||||
pins = "gpio13";
|
||||
drive-strength = <2>; /* 2 mA */
|
||||
bias-pull-down; /* PULL DOWN */
|
||||
input-enable;
|
||||
};
|
||||
};
|
||||
|
||||
pri_din_active: pri_din_active {
|
||||
mux {
|
||||
pins = "gpio13";
|
||||
function = "pri_mi2s";
|
||||
};
|
||||
|
||||
config {
|
||||
pins = "gpio13";
|
||||
drive-strength = <8>; /* 8 mA */
|
||||
bias-disable; /* NO PULL */
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
pmx_sec_mi2s_aux {
|
||||
sec_ws_sleep: sec_ws_sleep {
|
||||
mux {
|
||||
pins = "gpio16";
|
||||
function = "gpio";
|
||||
};
|
||||
|
||||
config {
|
||||
pins = "gpio16";
|
||||
drive-strength = <2>; /* 2 mA */
|
||||
bias-pull-down; /* PULL DOWN */
|
||||
input-enable;
|
||||
};
|
||||
};
|
||||
|
||||
sec_sck_sleep: sec_sck_sleep {
|
||||
mux {
|
||||
pins = "gpio19";
|
||||
function = "gpio";
|
||||
};
|
||||
|
||||
config {
|
||||
pins = "gpio19";
|
||||
drive-strength = <2>; /* 2 mA */
|
||||
bias-pull-down; /* PULL DOWN */
|
||||
input-enable;
|
||||
};
|
||||
};
|
||||
|
||||
sec_dout_sleep: sec_dout_sleep {
|
||||
mux {
|
||||
pins = "gpio18";
|
||||
function = "gpio";
|
||||
};
|
||||
|
||||
config {
|
||||
pins = "gpio18";
|
||||
drive-strength = <2>; /* 2 mA */
|
||||
bias-pull-down; /* PULL DOWN */
|
||||
input-enable;
|
||||
};
|
||||
};
|
||||
|
||||
sec_ws_active_master: sec_ws_active_master {
|
||||
mux {
|
||||
pins = "gpio16";
|
||||
function = "sec_mi2s";
|
||||
};
|
||||
|
||||
config {
|
||||
pins = "gpio16";
|
||||
drive-strength = <8>; /* 8 mA */
|
||||
bias-disable; /* NO PULL*/
|
||||
output-high;
|
||||
};
|
||||
};
|
||||
|
||||
sec_sck_active_master: sec_sck_active_master {
|
||||
mux {
|
||||
pins = "gpio19";
|
||||
function = "sec_mi2s";
|
||||
};
|
||||
|
||||
config {
|
||||
pins = "gpio19";
|
||||
drive-strength = <8>; /* 8 mA */
|
||||
bias-disable; /* NO PULL*/
|
||||
output-high;
|
||||
};
|
||||
};
|
||||
|
||||
sec_ws_active_slave: sec_ws_active_slave {
|
||||
mux {
|
||||
pins = "gpio16";
|
||||
function = "sec_mi2s";
|
||||
};
|
||||
|
||||
config {
|
||||
pins = "gpio16";
|
||||
drive-strength = <8>; /* 8 mA */
|
||||
bias-disable; /* NO PULL*/
|
||||
};
|
||||
};
|
||||
|
||||
sec_sck_active_slave: sec_sck_active_slave {
|
||||
mux {
|
||||
pins = "gpio19";
|
||||
function = "sec_mi2s";
|
||||
};
|
||||
|
||||
config {
|
||||
pins = "gpio19";
|
||||
drive-strength = <8>; /* 8 mA */
|
||||
bias-disable; /* NO PULL*/
|
||||
};
|
||||
};
|
||||
|
||||
sec_dout_active: sec_dout_active {
|
||||
mux {
|
||||
pins = "gpio18";
|
||||
function = "sec_mi2s";
|
||||
};
|
||||
|
||||
config {
|
||||
pins = "gpio18";
|
||||
drive-strength = <8>; /* 8 mA */
|
||||
bias-disable; /* NO PULL*/
|
||||
output-high;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
pmx_sec_mi2s_aux_din {
|
||||
sec_din_sleep: sec_din_sleep {
|
||||
mux {
|
||||
pins = "gpio17";
|
||||
function = "gpio";
|
||||
};
|
||||
|
||||
config {
|
||||
pins = "gpio17";
|
||||
drive-strength = <2>; /* 2 mA */
|
||||
bias-disable; /* NO PULL */
|
||||
input-enable;
|
||||
};
|
||||
};
|
||||
|
||||
sec_din_active: sec_din_active {
|
||||
mux {
|
||||
pins = "gpio17";
|
||||
function = "sec_mi2s";
|
||||
};
|
||||
|
||||
config {
|
||||
pins = "gpio17";
|
||||
drive-strength = <8>; /* 8 mA */
|
||||
bias-disable; /* NO PULL */
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
|||
68
qcom/sdxlemur-wcd.dtsi
Normal file
68
qcom/sdxlemur-wcd.dtsi
Normal file
|
|
@ -0,0 +1,68 @@
|
|||
&soc {
|
||||
tavil_codec {
|
||||
wcd: wcd_pinctrl@5 {
|
||||
compatible = "qcom,wcd-pinctrl";
|
||||
qcom,num-gpios = <5>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
|
||||
spkr_1_wcd_en_active: spkr_1_wcd_en_active {
|
||||
mux {
|
||||
pins = "gpio2";
|
||||
};
|
||||
|
||||
config {
|
||||
pins = "gpio2";
|
||||
output-high;
|
||||
};
|
||||
};
|
||||
|
||||
spkr_1_wcd_en_sleep: spkr_1_wcd_en_sleep {
|
||||
mux {
|
||||
pins = "gpio2";
|
||||
};
|
||||
|
||||
config {
|
||||
pins = "gpio2";
|
||||
input-enable;
|
||||
};
|
||||
};
|
||||
|
||||
spkr_2_wcd_en_active: spkr_2_sd_n_active {
|
||||
mux {
|
||||
pins = "gpio3";
|
||||
};
|
||||
|
||||
config {
|
||||
pins = "gpio3";
|
||||
output-high;
|
||||
};
|
||||
};
|
||||
|
||||
spkr_2_wcd_en_sleep: spkr_2_sd_n_sleep {
|
||||
mux {
|
||||
pins = "gpio3";
|
||||
};
|
||||
|
||||
config {
|
||||
pins = "gpio3";
|
||||
input-enable;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
wsa_spkr_wcd_sd1: msm_cdc_pinctrll {
|
||||
compatible = "qcom,msm-cdc-pinctrl";
|
||||
pinctrl-names = "aud_active", "aud_sleep";
|
||||
pinctrl-0 = <&spkr_1_wcd_en_active>;
|
||||
pinctrl-1 = <&spkr_1_wcd_en_sleep>;
|
||||
};
|
||||
|
||||
wsa_spkr_wcd_sd2: msm_cdc_pinctrlr {
|
||||
compatible = "qcom,msm-cdc-pinctrl";
|
||||
pinctrl-names = "aud_active", "aud_sleep";
|
||||
pinctrl-0 = <&spkr_2_wcd_en_active>;
|
||||
pinctrl-1 = <&spkr_2_wcd_en_sleep>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
@ -3,6 +3,7 @@
|
|||
#include <dt-bindings/clock/qcom,gcc-sdxlemur.h>
|
||||
#include <dt-bindings/clock/qcom,rpmh.h>
|
||||
#include <dt-bindings/soc/qcom,dcc_v2.h>
|
||||
#include <dt-bindings/sound/qcom,gpr.h>
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
#include <dt-bindings/regulator/qcom,rpmh-regulator-levels.h>
|
||||
#include <dt-bindings/interconnect/qcom,sdxlemur.h>
|
||||
|
|
@ -89,6 +90,12 @@
|
|||
size = <0xC00000>;
|
||||
linux,cma-default;
|
||||
};
|
||||
|
||||
audio_mem: audio_region@0 {
|
||||
compatible = "shared-dma-pool";
|
||||
no-map;
|
||||
size = <0x400000>;
|
||||
};
|
||||
};
|
||||
|
||||
cpus {
|
||||
|
|
@ -648,6 +655,29 @@
|
|||
0x2000 3
|
||||
0x4400 2>;
|
||||
};
|
||||
|
||||
qcom,gpr {
|
||||
compatible = "qcom,gpr";
|
||||
qcom,glink-channels = "modem_apps";
|
||||
qcom,intents = <0x200 20>;
|
||||
reg = <GPR_DOMAIN_MODEM>;
|
||||
|
||||
spf_core {
|
||||
compatible = "qcom,spf_core";
|
||||
reg = <GPR_SVC_ADSP_CORE>;
|
||||
};
|
||||
|
||||
audio-pkt {
|
||||
compatible = "qcom,audio-pkt";
|
||||
qcom,audiopkt-ch-name = "apr_audio_svc";
|
||||
reg = <GPR_SVC_MAX>;
|
||||
};
|
||||
|
||||
audio_prm {
|
||||
compatible = "qcom,audio_prm";
|
||||
reg = <GPR_SVC_ASM>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
|
@ -895,3 +925,4 @@
|
|||
#include "sdxlemur-pm.dtsi"
|
||||
#include "sdxlemur-pcie.dtsi"
|
||||
#include "sdxlemur-blsp.dtsi"
|
||||
#include "sdxlemur-audio.dtsi"
|
||||
|
|
|
|||
Loading…
Reference in a new issue