Loading Documentation/devicetree/bindings/sound/qcom-audio-dev.txt +7 −4 Original line number Diff line number Diff line Loading @@ -1511,7 +1511,10 @@ Optional properties: - 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,tavil_codec : Property to specify if Tavil codec is used for this target - qcom,cdc-dmic-gpios : phandle for Digital mic clk and data gpios. Loading @@ -1519,10 +1522,10 @@ Example: sm6150_snd: sound { status = "okay"; compatible = "qcom,sm6150-asoc-snd"; qcom,ext-disp-audio-rx; qcom,wcn-btfm; qcom,mi2s-audio-intf; qcom,auxpcm-audio-intf; qcom,ext-disp-audio-rx = <1>; qcom,wcn-btfm = <1>; qcom,mi2s-audio-intf = <1>; qcom,auxpcm-audio-intf = <1>; asoc-platform = <&pcm0>, <&pcm1>, <&pcm2>, <&voip>, <&voice>, <&loopback>, <&compress>, <&hostless>, Loading Documentation/devicetree/bindings/sound/wcd_codec.txt +9 −0 Original line number Diff line number Diff line Loading @@ -449,6 +449,7 @@ Required properties: soundwire core registers. - clock-names : clock names defined for WSA macro - clocks : clock handles defined for WSA macro - qcom,wsa-swr-gpios: phandle for SWR data and clock GPIOs of WSA macro Example: Loading Loading @@ -491,6 +492,8 @@ Required properties: soundwire core registers. - clock-names : clock names defined for RX macro - clocks : clock handles defined 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 Example: Loading @@ -501,6 +504,8 @@ Example: clock-names = "rx_core_clk", "rx_npl_clk"; clocks = <&clock_audio_rx_1 0>, <&clock_audio_rx_2 0>; qcom,rx-swr-gpios = <&rx_swr_gpios>; qcom,rx_mclk_mode_muxsel = <0x62C25020>; swr_1: rx_swr_master { compatible = "qcom,swr-mstr"; wcd937x_rx_slave: wcd937x-rx-slave { Loading @@ -518,6 +523,8 @@ Required properties: soundwire core registers. - clock-names : clock names defined for TX macro - clocks : clock handles defined for TX macro - qcom,tx-swr-gpios: phandle for SWR data and clock GPIOs of TX macro - qcom,tx-dmic-sample-rate: Sample rate defined for DMICs connected to TX macro Example: Loading @@ -528,6 +535,8 @@ Example: clock-names = "tx_core_clk", "tx_npl_clk"; clocks = <&clock_audio_tx_1 0> <&clock_audio_tx_2 0>; qcom,tx-swr-gpios = <&tx_swr_gpios>; qcom,tx-dmic-sample-rate = <4800000>; swr_2: tx_swr_master { compatible = "qcom,swr-mstr"; wcd937x_tx_slave: wcd937x-tx-slave { Loading arch/arm64/boot/dts/qcom/sm6150-audio-overlay.dtsi +30 −5 Original line number Diff line number Diff line Loading @@ -18,12 +18,12 @@ }; }; #include "sm6150-wcd.dtsi" #include "sm6150-lpi.dtsi" #include <dt-bindings/clock/qcom,audio-ext-clk.h> &bolero { qcom,num-macros = <4>; qcom,va-without-decimation; wsa_macro: wsa-macro@62F00000 { compatible = "qcom,wsa-macro"; reg = <0x62F00000 0x0>; Loading @@ -47,6 +47,7 @@ clocks = <&clock_audio_rx_1 0>, <&clock_audio_rx_2 0>; qcom,rx-swr-gpios = <&rx_swr_gpios>; qcom,rx_mclk_mode_muxsel = <0x62C25020>; swr_1: rx_swr_master { compatible = "qcom,swr-mstr"; wcd937x_rx_slave: wcd937x-rx-slave { Loading @@ -62,6 +63,7 @@ clocks = <&clock_audio_tx_1 0>, <&clock_audio_tx_2 0>; qcom,tx-swr-gpios = <&tx_swr_gpios>; qcom,tx-dmic-sample-rate = <4800000>; swr_2: tx_swr_master { compatible = "qcom,swr-mstr"; wcd937x_tx_slave: wcd937x-tx-slave { Loading @@ -77,6 +79,31 @@ qcom,model = "sm6150-idp-snd-card"; qcom,msm-mi2s-master = <1>, <1>, <1>, <1>, <1>; qcom,audio-routing = "AMIC2", "MIC BIAS2", "MIC BIAS2", "Analog Mic2", "DMIC0", "MIC BIAS1", "MIC BIAS1", "Digital Mic0", "DMIC1", "MIC BIAS1", "MIC BIAS1", "Digital Mic1", "DMIC2", "MIC BIAS3", "MIC BIAS3", "Digital Mic2", "DMIC3", "MIC BIAS3", "MIC BIAS3", "Digital Mic3", "TX_AIF1 CAP", "VA_MCLK", "TX_AIF2 CAP", "VA_MCLK", "RX AIF1 PB", "VA_MCLK", "RX AIF2 PB", "VA_MCLK", "RX AIF3 PB", "VA_MCLK", "RX AIF4 PB", "VA_MCLK", "HPHL_OUT", "VA_MCLK", "HPHR_OUT", "VA_MCLK", "AUX_OUT", "VA_MCLK", "IN1_HPHL", "HPHL_OUT", "IN2_HPHR", "HPHR_OUT", "IN3_AUX", "AUX_OUT", "TX SWR_ADC0", "ADC1_OUTPUT", "TX SWR_ADC2", "ADC2_OUTPUT", "TX SWR_ADC3", "ADC3_OUTPUT", "SpkrLeft IN", "WSA_SPK1 OUT", "SpkrRight IN", "WSA_SPK2 OUT", "WSA_SPK1 OUT", "VA_MCLK", Loading @@ -85,10 +112,8 @@ qcom,msm-mbhc-gnd-swh = <1>; qcom,cdc-dmic01-gpios = <&cdc_dmic01_gpios>; qcom,cdc-dmic23-gpios = <&cdc_dmic23_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"; asoc-codec = <&stub_codec>, <&bolero>; asoc-codec-names = "msm-stub-codec.1", "bolero_codec"; qcom,wsa-max-devs = <2>; qcom,wsa-devs = <&wsa881x_0211>, <&wsa881x_0212>, <&wsa881x_0213>, <&wsa881x_0214>; Loading arch/arm64/boot/dts/qcom/sm6150-audio.dtsi +8 −9 Original line number Diff line number Diff line Loading @@ -27,9 +27,9 @@ qcom,clk-div = <192>; qcom,clk-mult = <10>; }; }; audio_apr: qcom,msm-audio-apr { compatible = "qcom,msm-audio-apr"; &audio_apr { q6core: qcom,q6core-audio { compatible = "qcom,q6core-audio"; bolero: bolero-cdc { Loading @@ -37,13 +37,12 @@ }; }; }; }; &q6core { sm6150_snd: sound { compatible = "qcom,sm6150-asoc-snd"; qcom,mi2s-audio-intf; qcom,auxpcm-audio-intf; qcom,mi2s-audio-intf = <1>; qcom,auxpcm-audio-intf = <1>; asoc-platform = <&pcm0>, <&pcm1>, <&pcm2>, <&voip>, <&voice>, <&loopback>, <&compress>, <&hostless>, Loading arch/arm64/boot/dts/qcom/sm6150-external-codec.dtsi +42 −3 Original line number Diff line number Diff line Loading @@ -11,9 +11,17 @@ * GNU General Public License for more details. */ /{ aliases { swr0 = &swr_tavil; }; }; #include "sm6150-wcd.dtsi" &sm6150_snd { qcom,model = "sm6150-tavil-snd-card"; qcom,tavil_codec; qcom,tavil_codec = <1>; qcom,audio-routing = "AIF4 VI", "MCLK", "RX_BIAS", "MCLK", Loading Loading @@ -88,8 +96,8 @@ "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"; asoc-codec = <&stub_codec>, <&ext_disp_audio_codec>; asoc-codec-names = "msm-stub-codec.1", "msm-ext-disp-audio-codec-rx"; asoc-codec = <&stub_codec>; asoc-codec-names = "msm-stub-codec.1"; qcom,hph-en0-gpio = <&tavil_hph_en0>; qcom,hph-en1-gpio = <&tavil_hph_en1>; qcom,wsa-max-devs = <2>; Loading @@ -101,6 +109,37 @@ &slim_aud { status = "okay"; tavil_codec { swr_tavil: tavil_wsa_swr_master { compatible = "qcom,swr-mstr"; #address-cells = <2>; #size-cells = <0>; wsa881x_11: wsa881x@11 { compatible = "qcom,wsa881x"; reg = <0x00 0x20170211>; qcom,spkr-sd-n-node = <&wsa_spk_wcd_sd1>; }; wsa881x_12: wsa881x@12 { compatible = "qcom,wsa881x"; reg = <0x00 0x20170212>; qcom,spkr-sd-n-node = <&wsa_spk_wcd_sd2>; }; wsa881x_13: wsa881x@13 { compatible = "qcom,wsa881x"; reg = <0x00 0x21170213>; qcom,spkr-sd-n-node = <&wsa_spk_wcd_sd1>; }; wsa881x_14: wsa881x@14 { compatible = "qcom,wsa881x"; reg = <0x00 0x21170214>; qcom,spkr-sd-n-node = <&wsa_spk_wcd_sd2>; }; }; }; }; &dai_slim { Loading Loading
Documentation/devicetree/bindings/sound/qcom-audio-dev.txt +7 −4 Original line number Diff line number Diff line Loading @@ -1511,7 +1511,10 @@ Optional properties: - 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,tavil_codec : Property to specify if Tavil codec is used for this target - qcom,cdc-dmic-gpios : phandle for Digital mic clk and data gpios. Loading @@ -1519,10 +1522,10 @@ Example: sm6150_snd: sound { status = "okay"; compatible = "qcom,sm6150-asoc-snd"; qcom,ext-disp-audio-rx; qcom,wcn-btfm; qcom,mi2s-audio-intf; qcom,auxpcm-audio-intf; qcom,ext-disp-audio-rx = <1>; qcom,wcn-btfm = <1>; qcom,mi2s-audio-intf = <1>; qcom,auxpcm-audio-intf = <1>; asoc-platform = <&pcm0>, <&pcm1>, <&pcm2>, <&voip>, <&voice>, <&loopback>, <&compress>, <&hostless>, Loading
Documentation/devicetree/bindings/sound/wcd_codec.txt +9 −0 Original line number Diff line number Diff line Loading @@ -449,6 +449,7 @@ Required properties: soundwire core registers. - clock-names : clock names defined for WSA macro - clocks : clock handles defined for WSA macro - qcom,wsa-swr-gpios: phandle for SWR data and clock GPIOs of WSA macro Example: Loading Loading @@ -491,6 +492,8 @@ Required properties: soundwire core registers. - clock-names : clock names defined for RX macro - clocks : clock handles defined 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 Example: Loading @@ -501,6 +504,8 @@ Example: clock-names = "rx_core_clk", "rx_npl_clk"; clocks = <&clock_audio_rx_1 0>, <&clock_audio_rx_2 0>; qcom,rx-swr-gpios = <&rx_swr_gpios>; qcom,rx_mclk_mode_muxsel = <0x62C25020>; swr_1: rx_swr_master { compatible = "qcom,swr-mstr"; wcd937x_rx_slave: wcd937x-rx-slave { Loading @@ -518,6 +523,8 @@ Required properties: soundwire core registers. - clock-names : clock names defined for TX macro - clocks : clock handles defined for TX macro - qcom,tx-swr-gpios: phandle for SWR data and clock GPIOs of TX macro - qcom,tx-dmic-sample-rate: Sample rate defined for DMICs connected to TX macro Example: Loading @@ -528,6 +535,8 @@ Example: clock-names = "tx_core_clk", "tx_npl_clk"; clocks = <&clock_audio_tx_1 0> <&clock_audio_tx_2 0>; qcom,tx-swr-gpios = <&tx_swr_gpios>; qcom,tx-dmic-sample-rate = <4800000>; swr_2: tx_swr_master { compatible = "qcom,swr-mstr"; wcd937x_tx_slave: wcd937x-tx-slave { Loading
arch/arm64/boot/dts/qcom/sm6150-audio-overlay.dtsi +30 −5 Original line number Diff line number Diff line Loading @@ -18,12 +18,12 @@ }; }; #include "sm6150-wcd.dtsi" #include "sm6150-lpi.dtsi" #include <dt-bindings/clock/qcom,audio-ext-clk.h> &bolero { qcom,num-macros = <4>; qcom,va-without-decimation; wsa_macro: wsa-macro@62F00000 { compatible = "qcom,wsa-macro"; reg = <0x62F00000 0x0>; Loading @@ -47,6 +47,7 @@ clocks = <&clock_audio_rx_1 0>, <&clock_audio_rx_2 0>; qcom,rx-swr-gpios = <&rx_swr_gpios>; qcom,rx_mclk_mode_muxsel = <0x62C25020>; swr_1: rx_swr_master { compatible = "qcom,swr-mstr"; wcd937x_rx_slave: wcd937x-rx-slave { Loading @@ -62,6 +63,7 @@ clocks = <&clock_audio_tx_1 0>, <&clock_audio_tx_2 0>; qcom,tx-swr-gpios = <&tx_swr_gpios>; qcom,tx-dmic-sample-rate = <4800000>; swr_2: tx_swr_master { compatible = "qcom,swr-mstr"; wcd937x_tx_slave: wcd937x-tx-slave { Loading @@ -77,6 +79,31 @@ qcom,model = "sm6150-idp-snd-card"; qcom,msm-mi2s-master = <1>, <1>, <1>, <1>, <1>; qcom,audio-routing = "AMIC2", "MIC BIAS2", "MIC BIAS2", "Analog Mic2", "DMIC0", "MIC BIAS1", "MIC BIAS1", "Digital Mic0", "DMIC1", "MIC BIAS1", "MIC BIAS1", "Digital Mic1", "DMIC2", "MIC BIAS3", "MIC BIAS3", "Digital Mic2", "DMIC3", "MIC BIAS3", "MIC BIAS3", "Digital Mic3", "TX_AIF1 CAP", "VA_MCLK", "TX_AIF2 CAP", "VA_MCLK", "RX AIF1 PB", "VA_MCLK", "RX AIF2 PB", "VA_MCLK", "RX AIF3 PB", "VA_MCLK", "RX AIF4 PB", "VA_MCLK", "HPHL_OUT", "VA_MCLK", "HPHR_OUT", "VA_MCLK", "AUX_OUT", "VA_MCLK", "IN1_HPHL", "HPHL_OUT", "IN2_HPHR", "HPHR_OUT", "IN3_AUX", "AUX_OUT", "TX SWR_ADC0", "ADC1_OUTPUT", "TX SWR_ADC2", "ADC2_OUTPUT", "TX SWR_ADC3", "ADC3_OUTPUT", "SpkrLeft IN", "WSA_SPK1 OUT", "SpkrRight IN", "WSA_SPK2 OUT", "WSA_SPK1 OUT", "VA_MCLK", Loading @@ -85,10 +112,8 @@ qcom,msm-mbhc-gnd-swh = <1>; qcom,cdc-dmic01-gpios = <&cdc_dmic01_gpios>; qcom,cdc-dmic23-gpios = <&cdc_dmic23_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"; asoc-codec = <&stub_codec>, <&bolero>; asoc-codec-names = "msm-stub-codec.1", "bolero_codec"; qcom,wsa-max-devs = <2>; qcom,wsa-devs = <&wsa881x_0211>, <&wsa881x_0212>, <&wsa881x_0213>, <&wsa881x_0214>; Loading
arch/arm64/boot/dts/qcom/sm6150-audio.dtsi +8 −9 Original line number Diff line number Diff line Loading @@ -27,9 +27,9 @@ qcom,clk-div = <192>; qcom,clk-mult = <10>; }; }; audio_apr: qcom,msm-audio-apr { compatible = "qcom,msm-audio-apr"; &audio_apr { q6core: qcom,q6core-audio { compatible = "qcom,q6core-audio"; bolero: bolero-cdc { Loading @@ -37,13 +37,12 @@ }; }; }; }; &q6core { sm6150_snd: sound { compatible = "qcom,sm6150-asoc-snd"; qcom,mi2s-audio-intf; qcom,auxpcm-audio-intf; qcom,mi2s-audio-intf = <1>; qcom,auxpcm-audio-intf = <1>; asoc-platform = <&pcm0>, <&pcm1>, <&pcm2>, <&voip>, <&voice>, <&loopback>, <&compress>, <&hostless>, Loading
arch/arm64/boot/dts/qcom/sm6150-external-codec.dtsi +42 −3 Original line number Diff line number Diff line Loading @@ -11,9 +11,17 @@ * GNU General Public License for more details. */ /{ aliases { swr0 = &swr_tavil; }; }; #include "sm6150-wcd.dtsi" &sm6150_snd { qcom,model = "sm6150-tavil-snd-card"; qcom,tavil_codec; qcom,tavil_codec = <1>; qcom,audio-routing = "AIF4 VI", "MCLK", "RX_BIAS", "MCLK", Loading Loading @@ -88,8 +96,8 @@ "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"; asoc-codec = <&stub_codec>, <&ext_disp_audio_codec>; asoc-codec-names = "msm-stub-codec.1", "msm-ext-disp-audio-codec-rx"; asoc-codec = <&stub_codec>; asoc-codec-names = "msm-stub-codec.1"; qcom,hph-en0-gpio = <&tavil_hph_en0>; qcom,hph-en1-gpio = <&tavil_hph_en1>; qcom,wsa-max-devs = <2>; Loading @@ -101,6 +109,37 @@ &slim_aud { status = "okay"; tavil_codec { swr_tavil: tavil_wsa_swr_master { compatible = "qcom,swr-mstr"; #address-cells = <2>; #size-cells = <0>; wsa881x_11: wsa881x@11 { compatible = "qcom,wsa881x"; reg = <0x00 0x20170211>; qcom,spkr-sd-n-node = <&wsa_spk_wcd_sd1>; }; wsa881x_12: wsa881x@12 { compatible = "qcom,wsa881x"; reg = <0x00 0x20170212>; qcom,spkr-sd-n-node = <&wsa_spk_wcd_sd2>; }; wsa881x_13: wsa881x@13 { compatible = "qcom,wsa881x"; reg = <0x00 0x21170213>; qcom,spkr-sd-n-node = <&wsa_spk_wcd_sd1>; }; wsa881x_14: wsa881x@14 { compatible = "qcom,wsa881x"; reg = <0x00 0x21170214>; qcom,spkr-sd-n-node = <&wsa_spk_wcd_sd2>; }; }; }; }; &dai_slim { Loading