Loading Documentation/devicetree/bindings/sound/qcom-audio-dev.txt +163 −0 Original line number Diff line number Diff line Loading @@ -220,6 +220,13 @@ Required properties: inCall Music Delivery port ID is 32773. incall Music 2 Delivery port ID is 32770. Optional properties: - qcom,msm-dai-q6-slim-dev-id : The Slimbus HW device (instance) ID associated with Slimbus ports. 0 - Slimbus HW device ID 0 (first instance) 1 - Slimbus HW device ID 1 (second instance) * msm_dai_cdc_dma [First Level Nodes] Loading Loading @@ -553,6 +560,7 @@ Example: qcom,msm-dai-q6-sb-0-rx { compatible = "qcom,msm-dai-q6-dev"; qcom,msm-dai-q6-dev-id = <16384>; qcom,msm-dai-q6-slim-dev-id = <0>; }; qcom,msm-dai-q6-sb-0-tx { Loading Loading @@ -1070,6 +1078,7 @@ Example: Required properties: - compatible : "qcom,sm8150-asoc-snd-stub" for SM8150 target. - compatible : "qcom,kona-asoc-snd-stub" for Kona target. - qcom,model : The user-visible name of this sound card. - qcom,tasha-mclk-clk-freq : MCLK frequency value for tasha codec - asoc-platform: This is phandle list containing the references to platform device Loading Loading @@ -1930,6 +1939,160 @@ Example: asoc-codec-names = "tlv320aic3x-codec", "msm-stub-codec.1"; }; * KONA ASoC Machine driver Required properties: - compatible : "qcom,kona-asoc-snd". - qcom,model : The user-visible name of this sound card. - qcom,audio-routing : A list of the connections between audio components. - asoc-platform: This is phandle list containing the references to platform device nodes that are used as part of the sound card dai-links. - asoc-platform-names: This property contains list of platform names. The order of the platform names should match to that of the phandle order given in "asoc-platform". - asoc-cpu: This is phandle list containing the references to cpu dai device nodes that are used as part of the sound card dai-links. - asoc-cpu-names: This property contains list of cpu dai names. The order of the cpu dai names should match to that of the phandle order given in "asoc-cpu". The cpu names are in the form of "%s.%d" form, where the id (%d) field represents the back-end AFE port id that this CPU dai is associated with. - asoc-codec: This is phandle list containing the references to codec dai device nodes that are used as part of the sound card dai-links. - asoc-codec-names: This property contains list of codec dai names. The order of the codec dai names should match to that of the phandle order given in "asoc-codec". - qcom,codec-aux-devs: This is phandle list containing the references to Auxilary codec devices. Optional properties: - qcom,msm-mi2s-master: This property is used to inform machine driver if MSM is the clock master of mi2s. 1 means master and 0 means slave. The first entry is primary mi2s; the second entry is secondary mi2s, and so on. - qcom,msm-mbhc-hphl-swh: This property is used to distinguish headset HPHL switch type on target typically the switch type will be normally open or normally close, value for this property 0 for normally close and 1 for normally open. - qcom,msm-mbhc-gnd-swh: This property is used to distinguish headset GND switch type on target typically the switch type will be normally open or normally close, value for this property 0 for normally close and 1 for normally open. - qcom,wsa-max-devs : Maximum number of WSA881x devices present in the target - qcom,wsa-devs : List of phandles for all possible WSA881x devices supported for the target - qcom,wsa-aux-dev-prefix : Name prefix with Left/Right configuration for WSA881x device - qcom,ext-disp-audio-rx: Property to specify if Audio over Display port is supported for the target - qcom,wcn-btfm : Property to specify if WCN BT/FM chip is used for the target - qcom,mi2s-audio-intf: Property to specify if MI2S interface is used for the target - qcom,auxpcm-audio-intf: Property to specify if Aux PCM interface is used for the target - qcom,cdc-dmic-gpios : phandle for Digital mic clk and data gpios. - qcom,msm_audio_ssr_devs: List the snd event framework clients - qcom,afe-rxtx-lb: AFE RX to TX loopback. Example: kona_snd: sound { status = "okay"; compatible = "qcom,kona-asoc-snd"; qcom,ext-disp-audio-rx = <1>; qcom,wcn-btfm = <1>; qcom,mi2s-audio-intf = <1>; qcom,auxpcm-audio-intf = <1>; qcom,afe-rxtx-lb = <1>; asoc-platform = <&pcm0>, <&pcm1>, <&pcm2>, <&voip>, <&voice>, <&loopback>, <&compress>, <&hostless>, <&afe>, <&lsm>, <&routing>, <&compr>, <&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-compr-dsp", "msm-pcm-dsp-noirq"; asoc-cpu = <&dai_dp>, <&dai_mi2s0>, <&dai_mi2s1>, <&dai_mi2s2>, <&dai_mi2s3>, <&dai_mi2s4>, <&dai_pri_auxpcm>, <&dai_sec_auxpcm>, <&dai_tert_auxpcm>, <&dai_quat_auxpcm>, <&dai_quin_auxpcm>, <&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>, <&usb_audio_rx>, <&usb_audio_tx>, <&dai_pri_tdm_rx_0>, <&dai_pri_tdm_tx_0>, <&dai_sec_tdm_rx_0>, <&dai_sec_tdm_tx_0>, <&dai_tert_tdm_rx_0>, <&dai_tert_tdm_tx_0>, <&dai_quat_tdm_rx_0>, <&dai_quat_tdm_tx_0>, <&dai_quin_tdm_rx_0>, <&dai_quin_tdm_tx_0>, <&wsa_cdc_dma_0_rx>, <&wsa_cdc_dma_0_tx>, <&wsa_cdc_dma_1_rx>, <&wsa_cdc_dma_1_tx>, <&wsa_cdc_dma_2_tx>, <&va_cdc_dma_0_tx>, <&va_cdc_dma_1_tx>, <&rx_cdc_dma_0_rx>, <&tx_cdc_dma_0_tx>, <&rx_cdc_dma_1_rx>, <&tx_cdc_dma_1_tx>, <&rx_cdc_dma_2_rx>, <&tx_cdc_dma_2_tx>, <&rx_cdc_dma_3_rx>, <&tx_cdc_dma_3_tx>, <&rx_cdc_dma_4_rx>, <&tx_cdc_dma_4_tx>, <&rx_cdc_dma_5_rx>, <&tx_cdc_dma_5_tx>, <&tx_cdc_dma_6_tx>, <&tx_cdc_dma_7_tx>; asoc-cpu-names = "msm-dai-q6-dp.24608", "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-auxpcm.1", "msm-dai-q6-auxpcm.2", "msm-dai-q6-auxpcm.3", "msm-dai-q6-auxpcm.4", "msm-dai-q6-auxpcm.5", "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", "msm-dai-q6-dev.16398", "msm-dai-q6-dev.16399", "msm-dai-q6-dev.16401", "msm-dai-q6-dev.16400", "msm-dai-q6-dev.28672", "msm-dai-q6-dev.28673", "msm-dai-q6-tdm.36864", "msm-dai-q6-tdm.36865", "msm-dai-q6-tdm.36880", "msm-dai-q6-tdm.36881", "msm-dai-q6-tdm.36896", "msm-dai-q6-tdm.36897", "msm-dai-q6-tdm.36912", "msm-dai-q6-tdm.36913", "msm-dai-q6-tdm.36928", "msm-dai-q6-tdm.36929", "msm-dai-cdc-dma-dev.45056", "msm-dai-cdc-dma-dev.45057", "msm-dai-cdc-dma-dev.45058", "msm-dai-cdc-dma-dev.45059", "msm-dai-cdc-dma-dev.45061", "msm-dai-cdc-dma-dev.45089", "msm-dai-cdc-dma-dev.45091", "msm-dai-cdc-dma-dev.45120", "msm-dai-cdc-dma-dev.45121", "msm-dai-cdc-dma-dev.45122", "msm-dai-cdc-dma-dev.45123", "msm-dai-cdc-dma-dev.45124", "msm-dai-cdc-dma-dev.45125", "msm-dai-cdc-dma-dev.45126", "msm-dai-cdc-dma-dev.45127", "msm-dai-cdc-dma-dev.45128", "msm-dai-cdc-dma-dev.45129", "msm-dai-cdc-dma-dev.45130", "msm-dai-cdc-dma-dev.45131", "msm-dai-cdc-dma-dev.45133", "msm-dai-cdc-dma-dev.45135"; qcom,msm-mi2s-master = <1>, <1>, <1>, <1>, <1>; qcom,msm-mbhc-hphl-swh = <1>; qcom,msm-mbhc-gnd-swh = <1>; qcom,cdc-dmic-gpios = <&cdc_dmic12_gpios>, <&cdc_dmic34_gpios>; asoc-codec = <&stub_codec>, <&bolero>, <&ext_disp_audio_codec>; asoc-codec-names = "msm-stub-codec.1", "bolero-codec", "msm-ext-disp-audio-codec-rx"; 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"; qcom,codec-aux-devs = <&wcd937x_codec>; qcom,msm_audio_ssr_devs = <&audio_apr>, <&q6core>; }; * voice-mhi-audio Required properties: Loading Documentation/devicetree/bindings/sound/wcd_codec.txt +153 −2 Original line number Diff line number Diff line Loading @@ -455,6 +455,7 @@ Required properties: soundwire core registers. - clock-names : clock names defined for WSA macro - clocks : clock handles defined for WSA macro - qcom,default-clk-id: Default clk ID used for WSA macro - qcom,wsa-swr-gpios: phandle for SWR data and clock GPIOs of WSA macro - qcom,wsa-bcl-pmic-params: u8 array of PMIC ID, SID and PPID in same order required to be configured to receive interrupts Loading @@ -471,6 +472,15 @@ Example: <&clock_audio_wsa_2 0>; qcom,wsa-swr-gpios = &wsa_swr_gpios; qcom,wsa-bcl-pmic-params = /bits/ 8 <0x00 0x00 0x1E>; qcom,default-clk-id = <TX_CORE_CLK>; swr_0: wsa_swr_master { compatible = "qcom,swr-mstr"; wsa881x_1: wsa881x@20170212 { compatible = "qcom,wsa881x"; reg = <0x00 0x20170212>; qcom,spkr-sd-n-gpio = <&tlmm 80 0>; }; }; }; }; Loading @@ -480,8 +490,18 @@ Required properties: - compatible = "qcom,va-macro"; - reg: Specifies the VA macro base address for Bolero soundwire core registers. - clock-names : clock names defined for WSA macro - clocks : clock handles defined for WSA macro - clock-names : clock names defined for VA macro - clocks : clock handles defined for VA macro - qcom,default-clk-id: Default clk ID used for VA macro - va-vdd-micb-supply: phandle of mic bias supply's regulator device tree node - qcom,va-vdd-micb-voltage: mic bias supply's voltage level min and max in mV - qcom,va-vdd-micb-current: mic bias supply's max current in mA - qcom,va-dmic-sample-rate: Sample rate defined for DMIC connected to VA macro Optional properties: - qcom,va-clk-mux-select: VA macro MCLK MUX selection - qcom,va-island-mode-muxsel: VA macro island mode MUX selection This property is required if qcom,va-clk-mux-select is provided Example: Loading @@ -491,6 +511,13 @@ Example: reg = <0x0C490000 0x0>; clock-names = "va_core_clk"; clocks = <&clock_audio_va 0>; qcom,default-clk-id = <TX_CORE_CLK>; va-vdd-micb-supply = <&S4A>; qcom,va-vdd-micb-voltage = <1800000 1800000>; qcom,va-vdd-micb-current = <11200>; qcom,va-dmic-sample-rate = <4800000>; qcom,va-clk-mux-select = <1>; qcom,va-island-mode-muxsel = <0x033A0000>; }; }; Loading @@ -502,6 +529,7 @@ Required properties: soundwire core registers. - clock-names : clock names defined for RX macro - clocks : clock handles defined for RX macro - qcom,default-clk-id: Default clk ID used for RX macro - qcom,rx-swr-gpios: phandle for SWR data and clock GPIOs of RX macro - qcom,rx_mclk_mode_muxsel: register address for RX macro MCLK mode mux select - qcom,rx-bcl-pmic-params: u8 array of PMIC ID, SID and PPID in same order Loading @@ -520,11 +548,15 @@ Example: qcom,rx-swr-gpios = <&rx_swr_gpios>; qcom,rx_mclk_mode_muxsel = <0x62C25020>; qcom,rx-bcl-pmic-params = /bits/ 8 <0x00 0x00 0x1E>; qcom,default-clk-id = <TX_CORE_CLK>; swr_1: rx_swr_master { compatible = "qcom,swr-mstr"; wcd937x_rx_slave: wcd937x-rx-slave { compatible = "qcom,wcd937x-slave"; }; wcd938x_rx_slave: wcd938x-rx-slave { compatible = "qcom,wcd938x-slave"; }; }; }; }; Loading Loading @@ -560,6 +592,8 @@ Example: wcd937x_tx_slave: wcd937x-tx-slave { compatible = "qcom,wcd937x-slave"; }; wcd938x_tx_slave: wcd938x-tx-slave { compatible = "qcom,wcd938x-slave"; }; }; }; Loading Loading @@ -648,3 +682,120 @@ wcd937x_codec: wcd937x-codec { qcom,cdc-on-demand-supplies = "cdc-vdd-buck", "cdc-vdd-mic-bias"; }; Traverso Codec Required properties: - compatible: "qcom,wcd938x-codec"; - qcom,rx_swr_ch_map: mapping of swr rx slave port configuration to port_type and also corresponding master port type it need to attach. format: <port_id, slave_port_type, ch_mask, ch_rate, master_port_type> same port_id configurations have to be grouped, and in ascending order. - qcom,tx_swr_ch_map: mapping of swr tx slave port configuration to port_type and also corresponding master port type it need to attach. format: <port_id,slave_port_type, ch_mask, ch_rate, master_port_type> same port_id configurations have to be grouped, and in ascending order. - qcom,wcd-rst-gpio-node: Phandle reference to the DT node having codec reset gpio configuration. If this property is not defined, it is expected to atleast define "qcom,cdc-reset-gpio" property. - qcom,rx-slave: phandle reference of Soundwire Rx slave device. - qcom,tx-slave: phandle reference of Soundwire Tx slave device. Optional properties: - cdc-vdd-rxtx-supply: phandle of rxtx supply's regulator device tree node. - qcom,cdc-vdd-rxtx-voltage: rxtx supply's voltage level min and max in mV. - qcom,cdc-vdd-rxtx-current: rxtx supply's max current in mA. - cdc-vddio-supply: phandle of io supply's regulator device tree node. - qcom,cdc-vddio-voltage: io supply's voltage level min and max in mV. - qcom,cdc-vddio-current: io supply's max current in mA. - cdc-vdd-buck-supply: phandle of buck supply's regulator device tree node. - qcom,cdc-vdd-buck-voltage: buck supply's voltage level min and max in mV. - qcom,cdc-vdd-buck-current: buck supply's max current in mA. - cdc-vdd-mic-bias-supply: phandle of mic bias supply's regulator device tree node. - qcom,cdc-vdd-mic-bias-voltage: mic bias supply's voltage level min and max in mV. - qcom,cdc-vdd-mic-bias-current: mic bias supply's max current in mA. - qcom,cdc-static-supplies: List of supplies to be enabled prior to codec hardware probe. Supplies in this list will be stay enabled. - qcom,cdc-on-demand-supplies: List of supplies which can be enabled dynamically. Supplies in this list are off by default. Example: wcd938x_codec: wcd938x-codec { compatible = "qcom,wcd938x-codec"; qcom,rx_swr_ch_map = <0 HPH_L 0x1 0 HPH_L>, <0 HPH_R 0x2 0 HPH_R>, <1 CLSH 0x3 0 CLSH>, <2 COMP_L 0x1 0 COMP_L>, <2 COMP_R 0x2 0 COMP_R>, <3 LO 0x1 0 LO>, <4 DSD_L 0x1 0 DSD_L>, <4 DSD_R 0x2 0 DSD_R>; qcom,tx_swr_ch_map = <0 ADC1 0x1 0 ADC1>, <1 ADC2 0x1 0 ADC3>, <1 ADC3 0x2 0 ADC4>, <2 DMIC0 0x1 0 DMIC0>, <2 DMIC1 0x2 0 DMIC1>, <2 MBHC 0x4 0 DMIC2>, <3 DMIC2 0x1 0 DMIC4>, <3 DMIC3 0x2 0 DMIC5>, <3 DMIC4 0x4 0 DMIC6>, <3 DMIC5 0x8 0 DMIC7>; qcom,wcd-rst-gpio-node = <&wcd938x_rst_gpio>; qcom,rx-slave = <&wcd938x_rx_slave>; qcom,tx-slave = <&wcd938x_tx_slave>; cdc-vdd-buck-supply = <&S4A>; qcom,cdc-vdd-buck-voltage = <1800000 1800000>; qcom,cdc-vdd-buck-current = <650000>; cdc-vdd-rxtx-supply = <&S4A>; qcom,cdc-vdd-rxtx-voltage = <1800000 1800000>; qcom,cdc-vdd-rxtx-current = <30000>; cdc-vddio-supply = <&S4A>; qcom,cdc-vddio-voltage = <1800000 1800000>; qcom,cdc-vddio-current = <30000>; cdc-vdd-mic-bias-supply = <&BOB>; qcom,cdc-vdd-mic-bias-voltage = <3296000 3296000>; qcom,cdc-vdd-mic-bias-current = <30000>; qcom,cdc-static-supplies = "cdc-vdd-rxtx", "cdc-vddio"; qcom,cdc-on-demand-supplies = "cdc-vdd-buck", "cdc-vdd-mic-bias"; }; Bolero Clock Resource Manager Required Properties: - compatible = "qcom,bolero-clk-rsc-mngr"; - qcom,fs-gen-sequence: Register sequence for fs clock generation - clock-names : clock names defined for WSA macro - clocks : clock handles defined for WSA macro Optional Properties: - qcom,rx_mclk_mode_muxsel: register address for RX macro MCLK mode mux select - qcom,wsa_mclk_mode_muxsel: register address for WSA macro MCLK mux select - qcom,va_mclk_mode_muxsel: register address for VA macro MCLK mode mux select Example: &bolero { bolero-clock-rsc-manager { compatible = "qcom,bolero-clk-rsc-mngr"; qcom,fs-gen-sequence = <0x3000 0x1>, <0x3004 0x1>, <0x3080 0x2>; qcom,rx_mclk_mode_muxsel = <0x033240D8>; qcom,wsa_mclk_mode_muxsel = <0x033220D8>; qcom,va_mclk_mode_muxsel = <0x033A0000>; clock-names = "tx_core_clk", "tx_npl_clk", "rx_core_clk", "rx_npl_clk", "wsa_core_clk", "wsa_npl_clk", "va_core_clk", "va_npl_clk"; clocks = <&clock_audio_tx_1 0>, <&clock_audio_tx_2 0>, <&clock_audio_rx_1 0>, <&clock_audio_rx_2 0>, <&clock_audio_wsa_1 0>, <&clock_audio_wsa_2 0>, <&clock_audio_va_1 0>, <&clock_audio_va_2 0>; }; }; No newline at end of file arch/arm64/boot/dts/qcom/atoll-audio-overlay.dtsi 0 → 100644 +513 −0 File added.Preview size limit exceeded, changes collapsed. Show changes arch/arm64/boot/dts/qcom/atoll-audio.dtsi 0 → 100644 +175 −0 Original line number Diff line number Diff line /* * Copyright (c) 2019, 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. */ #include <dt-bindings/clock/qcom,audio-ext-clk-v2.h> #include "msm-audio-lpass.dtsi" &msm_audio_ion { iommus = <&apps_smmu 0x1001 0x0>; qcom,smmu-sid-mask = /bits/ 64 <0xf>; }; &soc { qcom,avtimer@62DF0000 { compatible = "qcom,avtimer"; reg = <0x62DF000C 0x4>, <0x62DF0010 0x4>; reg-names = "avtimer_lsb_addr", "avtimer_msb_addr"; qcom,clk-div = <192>; qcom,clk-mult = <10>; }; }; &audio_apr { q6core: qcom,q6core-audio { compatible = "qcom,q6core-audio"; lpass_core_hw_vote: vote_lpass_core_hw { compatible = "qcom,audio-ref-clk"; qcom,codec-ext-clk-src = <AUDIO_LPASS_CORE_HW_VOTE>; #clock-cells = <1>; }; lpass_audio_hw_vote: vote_lpass_audio_hw { compatible = "qcom,audio-ref-clk"; qcom,codec-ext-clk-src = <AUDIO_LPASS_AUDIO_HW_VOTE>; #clock-cells = <1>; }; bolero: bolero-cdc { compatible = "qcom,bolero-codec"; clock-names = "lpass_core_hw_vote", "lpass_audio_hw_vote"; clocks = <&lpass_core_hw_vote 0>, <&lpass_audio_hw_vote 0>; bolero-clk-rsc-mngr { compatible = "qcom,bolero-clk-rsc-mngr"; }; tx_macro: tx-macro@62620000 { swr2: tx_swr_master { }; }; rx_macro: rx-macro@62600000 { swr1: rx_swr_master { }; }; wsa_macro: wsa-macro@62640000 { swr0: wsa_swr_master { }; }; }; }; }; &q6core { atoll_snd: sound { compatible = "qcom,kona-asoc-snd"; qcom,mi2s-audio-intf = <1>; qcom,auxpcm-audio-intf = <1>; qcom,wcn-btfm = <0>; qcom,ext-disp-audio-rx = <0>; qcom,afe-rxtx-lb = <0>; asoc-platform = <&pcm0>, <&pcm1>, <&pcm2>, <&voip>, <&voice>, <&loopback>, <&compress>, <&hostless>, <&afe>, <&lsm>, <&routing>, <&compr>, <&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-compr-dsp", "msm-pcm-dsp-noirq"; asoc-cpu = <&dai_dp>, <&dai_dp1>, <&dai_mi2s0>, <&dai_mi2s1>, <&dai_mi2s2>, <&dai_mi2s3>, <&dai_mi2s4>, <&dai_mi2s5>, <&dai_pri_auxpcm>, <&dai_sec_auxpcm>, <&dai_tert_auxpcm>, <&dai_quat_auxpcm>, <&dai_quin_auxpcm>, <&dai_sen_auxpcm>, <&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>, <&usb_audio_rx>, <&usb_audio_tx>, <&sb_7_rx>, <&sb_7_tx>, <&sb_8_tx>, <&dai_pri_tdm_rx_0>, <&dai_pri_tdm_tx_0>, <&dai_sec_tdm_rx_0>, <&dai_sec_tdm_tx_0>, <&dai_tert_tdm_rx_0>, <&dai_tert_tdm_tx_0>, <&dai_quat_tdm_rx_0>, <&dai_quat_tdm_tx_0>, <&dai_quin_tdm_rx_0>, <&dai_quin_tdm_tx_0>, <&dai_sen_tdm_rx_0>, <&dai_sen_tdm_tx_0>, <&wsa_cdc_dma_0_rx>, <&wsa_cdc_dma_0_tx>, <&wsa_cdc_dma_1_rx>, <&wsa_cdc_dma_1_tx>, <&wsa_cdc_dma_2_tx>, <&va_cdc_dma_0_tx>, <&va_cdc_dma_1_tx>, <&va_cdc_dma_2_tx>, <&rx_cdc_dma_0_rx>, <&tx_cdc_dma_0_tx>, <&rx_cdc_dma_1_rx>, <&tx_cdc_dma_1_tx>, <&rx_cdc_dma_2_rx>, <&tx_cdc_dma_2_tx>, <&rx_cdc_dma_3_rx>, <&tx_cdc_dma_3_tx>, <&rx_cdc_dma_4_rx>, <&tx_cdc_dma_4_tx>, <&rx_cdc_dma_5_rx>, <&tx_cdc_dma_5_tx>, <&rx_cdc_dma_6_rx>, <&rx_cdc_dma_7_rx>, <&afe_loopback_tx>; asoc-cpu-names = "msm-dai-q6-dp.0", "msm-dai-q6-dp.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.5", "msm-dai-q6-auxpcm.1", "msm-dai-q6-auxpcm.2", "msm-dai-q6-auxpcm.3", "msm-dai-q6-auxpcm.4", "msm-dai-q6-auxpcm.5", "msm-dai-q6-auxpcm.6", "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", "msm-dai-q6-dev.28672", "msm-dai-q6-dev.28673", "msm-dai-q6-dev.16398", "msm-dai-q6-dev.16399", "msm-dai-q6-dev.16401", "msm-dai-q6-tdm.36864", "msm-dai-q6-tdm.36865", "msm-dai-q6-tdm.36880", "msm-dai-q6-tdm.36881", "msm-dai-q6-tdm.36896", "msm-dai-q6-tdm.36897", "msm-dai-q6-tdm.36912", "msm-dai-q6-tdm.36913", "msm-dai-q6-tdm.36928", "msm-dai-q6-tdm.36929", "msm-dai-q6-tdm.36944", "msm-dai-q6-tdm.36945", "msm-dai-cdc-dma-dev.45056", "msm-dai-cdc-dma-dev.45057", "msm-dai-cdc-dma-dev.45058", "msm-dai-cdc-dma-dev.45059", "msm-dai-cdc-dma-dev.45061", "msm-dai-cdc-dma-dev.45089", "msm-dai-cdc-dma-dev.45091", "msm-dai-cdc-dma-dev.45093", "msm-dai-cdc-dma-dev.45104", "msm-dai-cdc-dma-dev.45105", "msm-dai-cdc-dma-dev.45106", "msm-dai-cdc-dma-dev.45107", "msm-dai-cdc-dma-dev.45108", "msm-dai-cdc-dma-dev.45109", "msm-dai-cdc-dma-dev.45110", "msm-dai-cdc-dma-dev.45111", "msm-dai-cdc-dma-dev.45112", "msm-dai-cdc-dma-dev.45113", "msm-dai-cdc-dma-dev.45114", "msm-dai-cdc-dma-dev.45115", "msm-dai-cdc-dma-dev.45116", "msm-dai-cdc-dma-dev.45118", "msm-dai-q6-dev.24577"; }; }; arch/arm64/boot/dts/qcom/atoll-idp-overlay.dts +1 −0 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ #include <dt-bindings/interrupt-controller/arm-gic.h> #include "atoll-idp.dtsi" #include "atoll-audio-overlay.dtsi" / { model = "IDP"; Loading Loading
Documentation/devicetree/bindings/sound/qcom-audio-dev.txt +163 −0 Original line number Diff line number Diff line Loading @@ -220,6 +220,13 @@ Required properties: inCall Music Delivery port ID is 32773. incall Music 2 Delivery port ID is 32770. Optional properties: - qcom,msm-dai-q6-slim-dev-id : The Slimbus HW device (instance) ID associated with Slimbus ports. 0 - Slimbus HW device ID 0 (first instance) 1 - Slimbus HW device ID 1 (second instance) * msm_dai_cdc_dma [First Level Nodes] Loading Loading @@ -553,6 +560,7 @@ Example: qcom,msm-dai-q6-sb-0-rx { compatible = "qcom,msm-dai-q6-dev"; qcom,msm-dai-q6-dev-id = <16384>; qcom,msm-dai-q6-slim-dev-id = <0>; }; qcom,msm-dai-q6-sb-0-tx { Loading Loading @@ -1070,6 +1078,7 @@ Example: Required properties: - compatible : "qcom,sm8150-asoc-snd-stub" for SM8150 target. - compatible : "qcom,kona-asoc-snd-stub" for Kona target. - qcom,model : The user-visible name of this sound card. - qcom,tasha-mclk-clk-freq : MCLK frequency value for tasha codec - asoc-platform: This is phandle list containing the references to platform device Loading Loading @@ -1930,6 +1939,160 @@ Example: asoc-codec-names = "tlv320aic3x-codec", "msm-stub-codec.1"; }; * KONA ASoC Machine driver Required properties: - compatible : "qcom,kona-asoc-snd". - qcom,model : The user-visible name of this sound card. - qcom,audio-routing : A list of the connections between audio components. - asoc-platform: This is phandle list containing the references to platform device nodes that are used as part of the sound card dai-links. - asoc-platform-names: This property contains list of platform names. The order of the platform names should match to that of the phandle order given in "asoc-platform". - asoc-cpu: This is phandle list containing the references to cpu dai device nodes that are used as part of the sound card dai-links. - asoc-cpu-names: This property contains list of cpu dai names. The order of the cpu dai names should match to that of the phandle order given in "asoc-cpu". The cpu names are in the form of "%s.%d" form, where the id (%d) field represents the back-end AFE port id that this CPU dai is associated with. - asoc-codec: This is phandle list containing the references to codec dai device nodes that are used as part of the sound card dai-links. - asoc-codec-names: This property contains list of codec dai names. The order of the codec dai names should match to that of the phandle order given in "asoc-codec". - qcom,codec-aux-devs: This is phandle list containing the references to Auxilary codec devices. Optional properties: - qcom,msm-mi2s-master: This property is used to inform machine driver if MSM is the clock master of mi2s. 1 means master and 0 means slave. The first entry is primary mi2s; the second entry is secondary mi2s, and so on. - qcom,msm-mbhc-hphl-swh: This property is used to distinguish headset HPHL switch type on target typically the switch type will be normally open or normally close, value for this property 0 for normally close and 1 for normally open. - qcom,msm-mbhc-gnd-swh: This property is used to distinguish headset GND switch type on target typically the switch type will be normally open or normally close, value for this property 0 for normally close and 1 for normally open. - qcom,wsa-max-devs : Maximum number of WSA881x devices present in the target - qcom,wsa-devs : List of phandles for all possible WSA881x devices supported for the target - qcom,wsa-aux-dev-prefix : Name prefix with Left/Right configuration for WSA881x device - qcom,ext-disp-audio-rx: Property to specify if Audio over Display port is supported for the target - qcom,wcn-btfm : Property to specify if WCN BT/FM chip is used for the target - qcom,mi2s-audio-intf: Property to specify if MI2S interface is used for the target - qcom,auxpcm-audio-intf: Property to specify if Aux PCM interface is used for the target - qcom,cdc-dmic-gpios : phandle for Digital mic clk and data gpios. - qcom,msm_audio_ssr_devs: List the snd event framework clients - qcom,afe-rxtx-lb: AFE RX to TX loopback. Example: kona_snd: sound { status = "okay"; compatible = "qcom,kona-asoc-snd"; qcom,ext-disp-audio-rx = <1>; qcom,wcn-btfm = <1>; qcom,mi2s-audio-intf = <1>; qcom,auxpcm-audio-intf = <1>; qcom,afe-rxtx-lb = <1>; asoc-platform = <&pcm0>, <&pcm1>, <&pcm2>, <&voip>, <&voice>, <&loopback>, <&compress>, <&hostless>, <&afe>, <&lsm>, <&routing>, <&compr>, <&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-compr-dsp", "msm-pcm-dsp-noirq"; asoc-cpu = <&dai_dp>, <&dai_mi2s0>, <&dai_mi2s1>, <&dai_mi2s2>, <&dai_mi2s3>, <&dai_mi2s4>, <&dai_pri_auxpcm>, <&dai_sec_auxpcm>, <&dai_tert_auxpcm>, <&dai_quat_auxpcm>, <&dai_quin_auxpcm>, <&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>, <&usb_audio_rx>, <&usb_audio_tx>, <&dai_pri_tdm_rx_0>, <&dai_pri_tdm_tx_0>, <&dai_sec_tdm_rx_0>, <&dai_sec_tdm_tx_0>, <&dai_tert_tdm_rx_0>, <&dai_tert_tdm_tx_0>, <&dai_quat_tdm_rx_0>, <&dai_quat_tdm_tx_0>, <&dai_quin_tdm_rx_0>, <&dai_quin_tdm_tx_0>, <&wsa_cdc_dma_0_rx>, <&wsa_cdc_dma_0_tx>, <&wsa_cdc_dma_1_rx>, <&wsa_cdc_dma_1_tx>, <&wsa_cdc_dma_2_tx>, <&va_cdc_dma_0_tx>, <&va_cdc_dma_1_tx>, <&rx_cdc_dma_0_rx>, <&tx_cdc_dma_0_tx>, <&rx_cdc_dma_1_rx>, <&tx_cdc_dma_1_tx>, <&rx_cdc_dma_2_rx>, <&tx_cdc_dma_2_tx>, <&rx_cdc_dma_3_rx>, <&tx_cdc_dma_3_tx>, <&rx_cdc_dma_4_rx>, <&tx_cdc_dma_4_tx>, <&rx_cdc_dma_5_rx>, <&tx_cdc_dma_5_tx>, <&tx_cdc_dma_6_tx>, <&tx_cdc_dma_7_tx>; asoc-cpu-names = "msm-dai-q6-dp.24608", "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-auxpcm.1", "msm-dai-q6-auxpcm.2", "msm-dai-q6-auxpcm.3", "msm-dai-q6-auxpcm.4", "msm-dai-q6-auxpcm.5", "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", "msm-dai-q6-dev.16398", "msm-dai-q6-dev.16399", "msm-dai-q6-dev.16401", "msm-dai-q6-dev.16400", "msm-dai-q6-dev.28672", "msm-dai-q6-dev.28673", "msm-dai-q6-tdm.36864", "msm-dai-q6-tdm.36865", "msm-dai-q6-tdm.36880", "msm-dai-q6-tdm.36881", "msm-dai-q6-tdm.36896", "msm-dai-q6-tdm.36897", "msm-dai-q6-tdm.36912", "msm-dai-q6-tdm.36913", "msm-dai-q6-tdm.36928", "msm-dai-q6-tdm.36929", "msm-dai-cdc-dma-dev.45056", "msm-dai-cdc-dma-dev.45057", "msm-dai-cdc-dma-dev.45058", "msm-dai-cdc-dma-dev.45059", "msm-dai-cdc-dma-dev.45061", "msm-dai-cdc-dma-dev.45089", "msm-dai-cdc-dma-dev.45091", "msm-dai-cdc-dma-dev.45120", "msm-dai-cdc-dma-dev.45121", "msm-dai-cdc-dma-dev.45122", "msm-dai-cdc-dma-dev.45123", "msm-dai-cdc-dma-dev.45124", "msm-dai-cdc-dma-dev.45125", "msm-dai-cdc-dma-dev.45126", "msm-dai-cdc-dma-dev.45127", "msm-dai-cdc-dma-dev.45128", "msm-dai-cdc-dma-dev.45129", "msm-dai-cdc-dma-dev.45130", "msm-dai-cdc-dma-dev.45131", "msm-dai-cdc-dma-dev.45133", "msm-dai-cdc-dma-dev.45135"; qcom,msm-mi2s-master = <1>, <1>, <1>, <1>, <1>; qcom,msm-mbhc-hphl-swh = <1>; qcom,msm-mbhc-gnd-swh = <1>; qcom,cdc-dmic-gpios = <&cdc_dmic12_gpios>, <&cdc_dmic34_gpios>; asoc-codec = <&stub_codec>, <&bolero>, <&ext_disp_audio_codec>; asoc-codec-names = "msm-stub-codec.1", "bolero-codec", "msm-ext-disp-audio-codec-rx"; 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"; qcom,codec-aux-devs = <&wcd937x_codec>; qcom,msm_audio_ssr_devs = <&audio_apr>, <&q6core>; }; * voice-mhi-audio Required properties: Loading
Documentation/devicetree/bindings/sound/wcd_codec.txt +153 −2 Original line number Diff line number Diff line Loading @@ -455,6 +455,7 @@ Required properties: soundwire core registers. - clock-names : clock names defined for WSA macro - clocks : clock handles defined for WSA macro - qcom,default-clk-id: Default clk ID used for WSA macro - qcom,wsa-swr-gpios: phandle for SWR data and clock GPIOs of WSA macro - qcom,wsa-bcl-pmic-params: u8 array of PMIC ID, SID and PPID in same order required to be configured to receive interrupts Loading @@ -471,6 +472,15 @@ Example: <&clock_audio_wsa_2 0>; qcom,wsa-swr-gpios = &wsa_swr_gpios; qcom,wsa-bcl-pmic-params = /bits/ 8 <0x00 0x00 0x1E>; qcom,default-clk-id = <TX_CORE_CLK>; swr_0: wsa_swr_master { compatible = "qcom,swr-mstr"; wsa881x_1: wsa881x@20170212 { compatible = "qcom,wsa881x"; reg = <0x00 0x20170212>; qcom,spkr-sd-n-gpio = <&tlmm 80 0>; }; }; }; }; Loading @@ -480,8 +490,18 @@ Required properties: - compatible = "qcom,va-macro"; - reg: Specifies the VA macro base address for Bolero soundwire core registers. - clock-names : clock names defined for WSA macro - clocks : clock handles defined for WSA macro - clock-names : clock names defined for VA macro - clocks : clock handles defined for VA macro - qcom,default-clk-id: Default clk ID used for VA macro - va-vdd-micb-supply: phandle of mic bias supply's regulator device tree node - qcom,va-vdd-micb-voltage: mic bias supply's voltage level min and max in mV - qcom,va-vdd-micb-current: mic bias supply's max current in mA - qcom,va-dmic-sample-rate: Sample rate defined for DMIC connected to VA macro Optional properties: - qcom,va-clk-mux-select: VA macro MCLK MUX selection - qcom,va-island-mode-muxsel: VA macro island mode MUX selection This property is required if qcom,va-clk-mux-select is provided Example: Loading @@ -491,6 +511,13 @@ Example: reg = <0x0C490000 0x0>; clock-names = "va_core_clk"; clocks = <&clock_audio_va 0>; qcom,default-clk-id = <TX_CORE_CLK>; va-vdd-micb-supply = <&S4A>; qcom,va-vdd-micb-voltage = <1800000 1800000>; qcom,va-vdd-micb-current = <11200>; qcom,va-dmic-sample-rate = <4800000>; qcom,va-clk-mux-select = <1>; qcom,va-island-mode-muxsel = <0x033A0000>; }; }; Loading @@ -502,6 +529,7 @@ Required properties: soundwire core registers. - clock-names : clock names defined for RX macro - clocks : clock handles defined for RX macro - qcom,default-clk-id: Default clk ID used for RX macro - qcom,rx-swr-gpios: phandle for SWR data and clock GPIOs of RX macro - qcom,rx_mclk_mode_muxsel: register address for RX macro MCLK mode mux select - qcom,rx-bcl-pmic-params: u8 array of PMIC ID, SID and PPID in same order Loading @@ -520,11 +548,15 @@ Example: qcom,rx-swr-gpios = <&rx_swr_gpios>; qcom,rx_mclk_mode_muxsel = <0x62C25020>; qcom,rx-bcl-pmic-params = /bits/ 8 <0x00 0x00 0x1E>; qcom,default-clk-id = <TX_CORE_CLK>; swr_1: rx_swr_master { compatible = "qcom,swr-mstr"; wcd937x_rx_slave: wcd937x-rx-slave { compatible = "qcom,wcd937x-slave"; }; wcd938x_rx_slave: wcd938x-rx-slave { compatible = "qcom,wcd938x-slave"; }; }; }; }; Loading Loading @@ -560,6 +592,8 @@ Example: wcd937x_tx_slave: wcd937x-tx-slave { compatible = "qcom,wcd937x-slave"; }; wcd938x_tx_slave: wcd938x-tx-slave { compatible = "qcom,wcd938x-slave"; }; }; }; Loading Loading @@ -648,3 +682,120 @@ wcd937x_codec: wcd937x-codec { qcom,cdc-on-demand-supplies = "cdc-vdd-buck", "cdc-vdd-mic-bias"; }; Traverso Codec Required properties: - compatible: "qcom,wcd938x-codec"; - qcom,rx_swr_ch_map: mapping of swr rx slave port configuration to port_type and also corresponding master port type it need to attach. format: <port_id, slave_port_type, ch_mask, ch_rate, master_port_type> same port_id configurations have to be grouped, and in ascending order. - qcom,tx_swr_ch_map: mapping of swr tx slave port configuration to port_type and also corresponding master port type it need to attach. format: <port_id,slave_port_type, ch_mask, ch_rate, master_port_type> same port_id configurations have to be grouped, and in ascending order. - qcom,wcd-rst-gpio-node: Phandle reference to the DT node having codec reset gpio configuration. If this property is not defined, it is expected to atleast define "qcom,cdc-reset-gpio" property. - qcom,rx-slave: phandle reference of Soundwire Rx slave device. - qcom,tx-slave: phandle reference of Soundwire Tx slave device. Optional properties: - cdc-vdd-rxtx-supply: phandle of rxtx supply's regulator device tree node. - qcom,cdc-vdd-rxtx-voltage: rxtx supply's voltage level min and max in mV. - qcom,cdc-vdd-rxtx-current: rxtx supply's max current in mA. - cdc-vddio-supply: phandle of io supply's regulator device tree node. - qcom,cdc-vddio-voltage: io supply's voltage level min and max in mV. - qcom,cdc-vddio-current: io supply's max current in mA. - cdc-vdd-buck-supply: phandle of buck supply's regulator device tree node. - qcom,cdc-vdd-buck-voltage: buck supply's voltage level min and max in mV. - qcom,cdc-vdd-buck-current: buck supply's max current in mA. - cdc-vdd-mic-bias-supply: phandle of mic bias supply's regulator device tree node. - qcom,cdc-vdd-mic-bias-voltage: mic bias supply's voltage level min and max in mV. - qcom,cdc-vdd-mic-bias-current: mic bias supply's max current in mA. - qcom,cdc-static-supplies: List of supplies to be enabled prior to codec hardware probe. Supplies in this list will be stay enabled. - qcom,cdc-on-demand-supplies: List of supplies which can be enabled dynamically. Supplies in this list are off by default. Example: wcd938x_codec: wcd938x-codec { compatible = "qcom,wcd938x-codec"; qcom,rx_swr_ch_map = <0 HPH_L 0x1 0 HPH_L>, <0 HPH_R 0x2 0 HPH_R>, <1 CLSH 0x3 0 CLSH>, <2 COMP_L 0x1 0 COMP_L>, <2 COMP_R 0x2 0 COMP_R>, <3 LO 0x1 0 LO>, <4 DSD_L 0x1 0 DSD_L>, <4 DSD_R 0x2 0 DSD_R>; qcom,tx_swr_ch_map = <0 ADC1 0x1 0 ADC1>, <1 ADC2 0x1 0 ADC3>, <1 ADC3 0x2 0 ADC4>, <2 DMIC0 0x1 0 DMIC0>, <2 DMIC1 0x2 0 DMIC1>, <2 MBHC 0x4 0 DMIC2>, <3 DMIC2 0x1 0 DMIC4>, <3 DMIC3 0x2 0 DMIC5>, <3 DMIC4 0x4 0 DMIC6>, <3 DMIC5 0x8 0 DMIC7>; qcom,wcd-rst-gpio-node = <&wcd938x_rst_gpio>; qcom,rx-slave = <&wcd938x_rx_slave>; qcom,tx-slave = <&wcd938x_tx_slave>; cdc-vdd-buck-supply = <&S4A>; qcom,cdc-vdd-buck-voltage = <1800000 1800000>; qcom,cdc-vdd-buck-current = <650000>; cdc-vdd-rxtx-supply = <&S4A>; qcom,cdc-vdd-rxtx-voltage = <1800000 1800000>; qcom,cdc-vdd-rxtx-current = <30000>; cdc-vddio-supply = <&S4A>; qcom,cdc-vddio-voltage = <1800000 1800000>; qcom,cdc-vddio-current = <30000>; cdc-vdd-mic-bias-supply = <&BOB>; qcom,cdc-vdd-mic-bias-voltage = <3296000 3296000>; qcom,cdc-vdd-mic-bias-current = <30000>; qcom,cdc-static-supplies = "cdc-vdd-rxtx", "cdc-vddio"; qcom,cdc-on-demand-supplies = "cdc-vdd-buck", "cdc-vdd-mic-bias"; }; Bolero Clock Resource Manager Required Properties: - compatible = "qcom,bolero-clk-rsc-mngr"; - qcom,fs-gen-sequence: Register sequence for fs clock generation - clock-names : clock names defined for WSA macro - clocks : clock handles defined for WSA macro Optional Properties: - qcom,rx_mclk_mode_muxsel: register address for RX macro MCLK mode mux select - qcom,wsa_mclk_mode_muxsel: register address for WSA macro MCLK mux select - qcom,va_mclk_mode_muxsel: register address for VA macro MCLK mode mux select Example: &bolero { bolero-clock-rsc-manager { compatible = "qcom,bolero-clk-rsc-mngr"; qcom,fs-gen-sequence = <0x3000 0x1>, <0x3004 0x1>, <0x3080 0x2>; qcom,rx_mclk_mode_muxsel = <0x033240D8>; qcom,wsa_mclk_mode_muxsel = <0x033220D8>; qcom,va_mclk_mode_muxsel = <0x033A0000>; clock-names = "tx_core_clk", "tx_npl_clk", "rx_core_clk", "rx_npl_clk", "wsa_core_clk", "wsa_npl_clk", "va_core_clk", "va_npl_clk"; clocks = <&clock_audio_tx_1 0>, <&clock_audio_tx_2 0>, <&clock_audio_rx_1 0>, <&clock_audio_rx_2 0>, <&clock_audio_wsa_1 0>, <&clock_audio_wsa_2 0>, <&clock_audio_va_1 0>, <&clock_audio_va_2 0>; }; }; No newline at end of file
arch/arm64/boot/dts/qcom/atoll-audio-overlay.dtsi 0 → 100644 +513 −0 File added.Preview size limit exceeded, changes collapsed. Show changes
arch/arm64/boot/dts/qcom/atoll-audio.dtsi 0 → 100644 +175 −0 Original line number Diff line number Diff line /* * Copyright (c) 2019, 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. */ #include <dt-bindings/clock/qcom,audio-ext-clk-v2.h> #include "msm-audio-lpass.dtsi" &msm_audio_ion { iommus = <&apps_smmu 0x1001 0x0>; qcom,smmu-sid-mask = /bits/ 64 <0xf>; }; &soc { qcom,avtimer@62DF0000 { compatible = "qcom,avtimer"; reg = <0x62DF000C 0x4>, <0x62DF0010 0x4>; reg-names = "avtimer_lsb_addr", "avtimer_msb_addr"; qcom,clk-div = <192>; qcom,clk-mult = <10>; }; }; &audio_apr { q6core: qcom,q6core-audio { compatible = "qcom,q6core-audio"; lpass_core_hw_vote: vote_lpass_core_hw { compatible = "qcom,audio-ref-clk"; qcom,codec-ext-clk-src = <AUDIO_LPASS_CORE_HW_VOTE>; #clock-cells = <1>; }; lpass_audio_hw_vote: vote_lpass_audio_hw { compatible = "qcom,audio-ref-clk"; qcom,codec-ext-clk-src = <AUDIO_LPASS_AUDIO_HW_VOTE>; #clock-cells = <1>; }; bolero: bolero-cdc { compatible = "qcom,bolero-codec"; clock-names = "lpass_core_hw_vote", "lpass_audio_hw_vote"; clocks = <&lpass_core_hw_vote 0>, <&lpass_audio_hw_vote 0>; bolero-clk-rsc-mngr { compatible = "qcom,bolero-clk-rsc-mngr"; }; tx_macro: tx-macro@62620000 { swr2: tx_swr_master { }; }; rx_macro: rx-macro@62600000 { swr1: rx_swr_master { }; }; wsa_macro: wsa-macro@62640000 { swr0: wsa_swr_master { }; }; }; }; }; &q6core { atoll_snd: sound { compatible = "qcom,kona-asoc-snd"; qcom,mi2s-audio-intf = <1>; qcom,auxpcm-audio-intf = <1>; qcom,wcn-btfm = <0>; qcom,ext-disp-audio-rx = <0>; qcom,afe-rxtx-lb = <0>; asoc-platform = <&pcm0>, <&pcm1>, <&pcm2>, <&voip>, <&voice>, <&loopback>, <&compress>, <&hostless>, <&afe>, <&lsm>, <&routing>, <&compr>, <&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-compr-dsp", "msm-pcm-dsp-noirq"; asoc-cpu = <&dai_dp>, <&dai_dp1>, <&dai_mi2s0>, <&dai_mi2s1>, <&dai_mi2s2>, <&dai_mi2s3>, <&dai_mi2s4>, <&dai_mi2s5>, <&dai_pri_auxpcm>, <&dai_sec_auxpcm>, <&dai_tert_auxpcm>, <&dai_quat_auxpcm>, <&dai_quin_auxpcm>, <&dai_sen_auxpcm>, <&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>, <&usb_audio_rx>, <&usb_audio_tx>, <&sb_7_rx>, <&sb_7_tx>, <&sb_8_tx>, <&dai_pri_tdm_rx_0>, <&dai_pri_tdm_tx_0>, <&dai_sec_tdm_rx_0>, <&dai_sec_tdm_tx_0>, <&dai_tert_tdm_rx_0>, <&dai_tert_tdm_tx_0>, <&dai_quat_tdm_rx_0>, <&dai_quat_tdm_tx_0>, <&dai_quin_tdm_rx_0>, <&dai_quin_tdm_tx_0>, <&dai_sen_tdm_rx_0>, <&dai_sen_tdm_tx_0>, <&wsa_cdc_dma_0_rx>, <&wsa_cdc_dma_0_tx>, <&wsa_cdc_dma_1_rx>, <&wsa_cdc_dma_1_tx>, <&wsa_cdc_dma_2_tx>, <&va_cdc_dma_0_tx>, <&va_cdc_dma_1_tx>, <&va_cdc_dma_2_tx>, <&rx_cdc_dma_0_rx>, <&tx_cdc_dma_0_tx>, <&rx_cdc_dma_1_rx>, <&tx_cdc_dma_1_tx>, <&rx_cdc_dma_2_rx>, <&tx_cdc_dma_2_tx>, <&rx_cdc_dma_3_rx>, <&tx_cdc_dma_3_tx>, <&rx_cdc_dma_4_rx>, <&tx_cdc_dma_4_tx>, <&rx_cdc_dma_5_rx>, <&tx_cdc_dma_5_tx>, <&rx_cdc_dma_6_rx>, <&rx_cdc_dma_7_rx>, <&afe_loopback_tx>; asoc-cpu-names = "msm-dai-q6-dp.0", "msm-dai-q6-dp.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.5", "msm-dai-q6-auxpcm.1", "msm-dai-q6-auxpcm.2", "msm-dai-q6-auxpcm.3", "msm-dai-q6-auxpcm.4", "msm-dai-q6-auxpcm.5", "msm-dai-q6-auxpcm.6", "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", "msm-dai-q6-dev.28672", "msm-dai-q6-dev.28673", "msm-dai-q6-dev.16398", "msm-dai-q6-dev.16399", "msm-dai-q6-dev.16401", "msm-dai-q6-tdm.36864", "msm-dai-q6-tdm.36865", "msm-dai-q6-tdm.36880", "msm-dai-q6-tdm.36881", "msm-dai-q6-tdm.36896", "msm-dai-q6-tdm.36897", "msm-dai-q6-tdm.36912", "msm-dai-q6-tdm.36913", "msm-dai-q6-tdm.36928", "msm-dai-q6-tdm.36929", "msm-dai-q6-tdm.36944", "msm-dai-q6-tdm.36945", "msm-dai-cdc-dma-dev.45056", "msm-dai-cdc-dma-dev.45057", "msm-dai-cdc-dma-dev.45058", "msm-dai-cdc-dma-dev.45059", "msm-dai-cdc-dma-dev.45061", "msm-dai-cdc-dma-dev.45089", "msm-dai-cdc-dma-dev.45091", "msm-dai-cdc-dma-dev.45093", "msm-dai-cdc-dma-dev.45104", "msm-dai-cdc-dma-dev.45105", "msm-dai-cdc-dma-dev.45106", "msm-dai-cdc-dma-dev.45107", "msm-dai-cdc-dma-dev.45108", "msm-dai-cdc-dma-dev.45109", "msm-dai-cdc-dma-dev.45110", "msm-dai-cdc-dma-dev.45111", "msm-dai-cdc-dma-dev.45112", "msm-dai-cdc-dma-dev.45113", "msm-dai-cdc-dma-dev.45114", "msm-dai-cdc-dma-dev.45115", "msm-dai-cdc-dma-dev.45116", "msm-dai-cdc-dma-dev.45118", "msm-dai-q6-dev.24577"; }; };
arch/arm64/boot/dts/qcom/atoll-idp-overlay.dts +1 −0 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ #include <dt-bindings/interrupt-controller/arm-gic.h> #include "atoll-idp.dtsi" #include "atoll-audio-overlay.dtsi" / { model = "IDP"; Loading