Loading Documentation/devicetree/bindings/sound/qcom-audio-dev.txt +71 −0 Original line number Diff line number Diff line Loading @@ -2587,6 +2587,77 @@ Example: "msm-dai-q6-auxpcm.2"; }; * SDX ASoC Auto Machine driver Required properties: - compatible : "qcom,sdx-asoc-snd-auto" - qcom,model : The user-visible name of this sound card. - qcom,prim_mi2s_aux_master : Handle to prim_master pinctrl configurations - qcom,prim_mi2s_aux_slave : Handle to prim_slave pinctrl configurations - qcom,sec_mi2s_aux_master : Handle to sec_master pinctrl configurations - qcom,sec_mi2s_aux_slave : Handle to sec_slave pinctrl configurations - 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 give 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". Example: sound-auto { compatible = "qcom,sdx-asoc-snd-auto"; qcom,model = "sdx-auto-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"; asoc-codec = <&tlv320aic3x_codec>, <&stub_codec>; asoc-codec-names = "tlv320aic3x-codec", "msm-stub-codec.1"; }; * APQ8096 Automotive ASoC Machine driver Required properties: Loading arch/arm/boot/dts/qcom/sdxpoorwills-ccard.dtsi +80 −0 Original line number Diff line number Diff line Loading @@ -37,6 +37,17 @@ reg = <0x86400000 0x9300000>; }; &i2c_3 { tlv320aic3x_codec: tlv320aic3x@18 { compatible = "ti,tlv320aic3x"; reg = <0x18>; gpio-reset = <&tlmm 86 0>; reset-inverted; AVDD-supply = <&codec_vreg>; IOVDD-supply = <&codec_vreg>; }; }; &i2c_4 { asm330@6a { reg = <0x6b>; Loading @@ -59,6 +70,10 @@ status = "disabled"; }; &clock_audio_up { status = "disabled"; }; &smb138x { status = "disabled"; }; Loading @@ -70,3 +85,68 @@ &vreg_wlan { gpio = <&tlmm 81 GPIO_ACTIVE_HIGH>; }; &soc { snd_tlv3x: sound-auto { compatible = "qcom,sdx-asoc-snd-auto"; qcom,model = "sdx-auto-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>; pinctrl-names = "default"; pinctrl-0 = <&a2b_cdc_sel_default>, <&i2s_mclk_active>; 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"; asoc-codec = <&tlv320aic3x_codec>, <&stub_codec>; asoc-codec-names = "tlv320aic3x-codec", "msm-stub-codec.1"; }; codec_vreg: regulator-codec-tlv320aic3x { compatible = "regulator-fixed"; regulator-name = "codec_vreg"; startup-delay-us = <100>; gpio = <&tlmm 23 GPIO_ACTIVE_HIGH>; enable-active-high; }; }; &pmxpoorwills_gpios { a2b_cdc_sel { a2b_cdc_sel_default: a2b_cdc_sel_default { pins = "gpio1"; power-source = <1>; output-high; }; }; }; Loading
Documentation/devicetree/bindings/sound/qcom-audio-dev.txt +71 −0 Original line number Diff line number Diff line Loading @@ -2587,6 +2587,77 @@ Example: "msm-dai-q6-auxpcm.2"; }; * SDX ASoC Auto Machine driver Required properties: - compatible : "qcom,sdx-asoc-snd-auto" - qcom,model : The user-visible name of this sound card. - qcom,prim_mi2s_aux_master : Handle to prim_master pinctrl configurations - qcom,prim_mi2s_aux_slave : Handle to prim_slave pinctrl configurations - qcom,sec_mi2s_aux_master : Handle to sec_master pinctrl configurations - qcom,sec_mi2s_aux_slave : Handle to sec_slave pinctrl configurations - 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 give 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". Example: sound-auto { compatible = "qcom,sdx-asoc-snd-auto"; qcom,model = "sdx-auto-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"; asoc-codec = <&tlv320aic3x_codec>, <&stub_codec>; asoc-codec-names = "tlv320aic3x-codec", "msm-stub-codec.1"; }; * APQ8096 Automotive ASoC Machine driver Required properties: Loading
arch/arm/boot/dts/qcom/sdxpoorwills-ccard.dtsi +80 −0 Original line number Diff line number Diff line Loading @@ -37,6 +37,17 @@ reg = <0x86400000 0x9300000>; }; &i2c_3 { tlv320aic3x_codec: tlv320aic3x@18 { compatible = "ti,tlv320aic3x"; reg = <0x18>; gpio-reset = <&tlmm 86 0>; reset-inverted; AVDD-supply = <&codec_vreg>; IOVDD-supply = <&codec_vreg>; }; }; &i2c_4 { asm330@6a { reg = <0x6b>; Loading @@ -59,6 +70,10 @@ status = "disabled"; }; &clock_audio_up { status = "disabled"; }; &smb138x { status = "disabled"; }; Loading @@ -70,3 +85,68 @@ &vreg_wlan { gpio = <&tlmm 81 GPIO_ACTIVE_HIGH>; }; &soc { snd_tlv3x: sound-auto { compatible = "qcom,sdx-asoc-snd-auto"; qcom,model = "sdx-auto-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>; pinctrl-names = "default"; pinctrl-0 = <&a2b_cdc_sel_default>, <&i2s_mclk_active>; 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"; asoc-codec = <&tlv320aic3x_codec>, <&stub_codec>; asoc-codec-names = "tlv320aic3x-codec", "msm-stub-codec.1"; }; codec_vreg: regulator-codec-tlv320aic3x { compatible = "regulator-fixed"; regulator-name = "codec_vreg"; startup-delay-us = <100>; gpio = <&tlmm 23 GPIO_ACTIVE_HIGH>; enable-active-high; }; }; &pmxpoorwills_gpios { a2b_cdc_sel { a2b_cdc_sel_default: a2b_cdc_sel_default { pins = "gpio1"; power-source = <1>; output-high; }; }; };