Loading Documentation/devicetree/bindings/sound/qcom-audio-dev.txt +87 −0 Original line number Original line Diff line number Diff line Loading @@ -2125,3 +2125,90 @@ sound { pinctrl-1 = <&ap_mclk_active &mdm_mclk_active>; pinctrl-1 = <&ap_mclk_active &mdm_mclk_active>; }; }; * MDM9640 ASoC Machine driver Required properties: - compatible : "qcom,mdm9640-audio-tomtom" for tomtom codec - qcom,model : The user-visible name of this sound card. - qcom,audio-routing : A list of the connections between audio components. Each entry is a pair of strings, the first being the connection's sink, the second being the connection's source. - qcom,codec-mclk-clk-freq : Master clock value given to codec. Some WCD9XXX codec can run at different mclk values. Mclk value can be 9.6MHz or 12.288MHz. - 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". Optional Properties: - qcom,mi2s-interface-mode: This property contains mi2s interface modes master/ slave. Entry is a pair of strings, the first being for primary mi2s and the second for secondary mi2s and so on - qcom,auxpcm-interface-mode: This property contains auxpcm interface modes master/ slave. Entry is a pair of strings, the first being for primary auxpcm and the second for secondary auxpcm and so on Example: sound { compatible = "qcom,mdm9640-audio-tomtom"; qcom,model = "mdm9640-tomtom-i2s-snd-card"; qcom,audio-routing = "RX_BIAS", "MCLK", "LDO_H", "MCLK", "AMIC1", "MIC BIAS1 External", "MIC BIAS1 External", "Handset Mic", "AMIC2", "MIC BIAS2 External", "MIC BIAS2 External", "Headset Mic", "AMIC3", "MIC BIAS2 External", "MIC BIAS2 External", "ANCRight Headset Mic", "AMIC4", "MIC BIAS2 External", "MIC BIAS2 External", "ANCLeft Headset Mic", "DMIC1", "MIC BIAS1 External", "MIC BIAS1 External", "Digital Mic1", "DMIC3", "MIC BIAS3 External", "MIC BIAS3 External", "Digital Mic3"; qcom,tomtom-mclk-clk-freq = <12288000>; qcom,mi2s-interface-mode = "pri_mi2s_master", "sec_mi2s_master"; qcom,auxpcm-interface-mode = "pri_pcm_master", "sec_pcm_master"; asoc-platform = <&pcm0>, <&pcm1>, <&voip>, <&voice>, <&loopback>, <&hostless>, <&afe>, <&routing>, <&pcm_dtmf>, <&host_pcm>; 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"; asoc-cpu = <&dai_pri_auxpcm>, <&dai_sec_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>; asoc-cpu-names = "msm-dai-q6-auxpcm.1", "msm-dai-q6-auxpcm.2", "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"; asoc-codec = <&stub_codec>; asoc-codec-names = "msm-stub-codec.1"; }; No newline at end of file arch/arm/configs/mdm9640-perf_defconfig +3 −2 Original line number Original line Diff line number Diff line Loading @@ -229,7 +229,6 @@ CONFIG_MSM_SMD_PKT=y CONFIG_I2C=y CONFIG_I2C=y CONFIG_I2C_CHARDEV=y CONFIG_I2C_CHARDEV=y CONFIG_I2C_MSM_V2=y CONFIG_I2C_MSM_V2=y CONFIG_SLIMBUS=y CONFIG_SOUNDWIRE=y CONFIG_SOUNDWIRE=y CONFIG_SPI=y CONFIG_SPI=y CONFIG_SPI_QUP=y CONFIG_SPI_QUP=y Loading @@ -251,7 +250,7 @@ CONFIG_THERMAL=y CONFIG_THERMAL_TSENS8974=y CONFIG_THERMAL_TSENS8974=y CONFIG_THERMAL_MONITOR=y CONFIG_THERMAL_MONITOR=y CONFIG_THERMAL_QPNP_ADC_TM=y CONFIG_THERMAL_QPNP_ADC_TM=y CONFIG_WCD9335_CODEC=y CONFIG_WCD9330_CODEC=y CONFIG_REGULATOR_FIXED_VOLTAGE=y CONFIG_REGULATOR_FIXED_VOLTAGE=y CONFIG_REGULATOR_STUB=y CONFIG_REGULATOR_STUB=y CONFIG_REGULATOR_MEM_ACC=y CONFIG_REGULATOR_MEM_ACC=y Loading @@ -260,6 +259,7 @@ CONFIG_REGULATOR_CPR=y CONFIG_SOUND=y CONFIG_SOUND=y CONFIG_SND=y CONFIG_SND=y CONFIG_SND_SOC=y CONFIG_SND_SOC=y CONFIG_SND_SOC_MDM9640=y CONFIG_USB=y CONFIG_USB=y CONFIG_USB_ANNOUNCE_NEW_DEVICES=y CONFIG_USB_ANNOUNCE_NEW_DEVICES=y CONFIG_USB_XHCI_HCD=y CONFIG_USB_XHCI_HCD=y Loading Loading @@ -326,6 +326,7 @@ CONFIG_RMNET_IPA3=y CONFIG_MSM_SPMI=y CONFIG_MSM_SPMI=y CONFIG_MSM_SPMI_PMIC_ARB=y CONFIG_MSM_SPMI_PMIC_ARB=y CONFIG_MSM_QPNP_INT=y CONFIG_MSM_QPNP_INT=y CONFIG_MSM_ADSP_LOADER=y CONFIG_MSM_MEMORY_DUMP_V2=y CONFIG_MSM_MEMORY_DUMP_V2=y CONFIG_MSM_BOOT_STATS=y CONFIG_MSM_BOOT_STATS=y CONFIG_MSM_COMMON_LOG=y CONFIG_MSM_COMMON_LOG=y Loading arch/arm/configs/mdm9640_defconfig +3 −2 Original line number Original line Diff line number Diff line Loading @@ -229,7 +229,6 @@ CONFIG_MSM_SMD_PKT=y CONFIG_I2C=y CONFIG_I2C=y CONFIG_I2C_CHARDEV=y CONFIG_I2C_CHARDEV=y CONFIG_I2C_MSM_V2=y CONFIG_I2C_MSM_V2=y CONFIG_SLIMBUS=y CONFIG_SOUNDWIRE=y CONFIG_SOUNDWIRE=y CONFIG_SPI=y CONFIG_SPI=y CONFIG_SPI_QUP=y CONFIG_SPI_QUP=y Loading @@ -252,7 +251,7 @@ CONFIG_THERMAL=y CONFIG_THERMAL_TSENS8974=y CONFIG_THERMAL_TSENS8974=y CONFIG_THERMAL_MONITOR=y CONFIG_THERMAL_MONITOR=y CONFIG_THERMAL_QPNP_ADC_TM=y CONFIG_THERMAL_QPNP_ADC_TM=y CONFIG_WCD9335_CODEC=y CONFIG_WCD9330_CODEC=y CONFIG_REGULATOR_FIXED_VOLTAGE=y CONFIG_REGULATOR_FIXED_VOLTAGE=y CONFIG_REGULATOR_STUB=y CONFIG_REGULATOR_STUB=y CONFIG_REGULATOR_MEM_ACC=y CONFIG_REGULATOR_MEM_ACC=y Loading @@ -265,6 +264,7 @@ CONFIG_FB_MSM_QPIC_PANEL_DETECT=y CONFIG_SOUND=y CONFIG_SOUND=y CONFIG_SND=y CONFIG_SND=y CONFIG_SND_SOC=y CONFIG_SND_SOC=y CONFIG_SND_SOC_MDM9640=y CONFIG_USB=y CONFIG_USB=y CONFIG_USB_ANNOUNCE_NEW_DEVICES=y CONFIG_USB_ANNOUNCE_NEW_DEVICES=y CONFIG_USB_XHCI_HCD=y CONFIG_USB_XHCI_HCD=y Loading Loading @@ -336,6 +336,7 @@ CONFIG_RMNET_IPA3=y CONFIG_MSM_SPMI=y CONFIG_MSM_SPMI=y CONFIG_MSM_SPMI_PMIC_ARB=y CONFIG_MSM_SPMI_PMIC_ARB=y CONFIG_MSM_QPNP_INT=y CONFIG_MSM_QPNP_INT=y CONFIG_MSM_ADSP_LOADER=y CONFIG_MSM_MEMORY_DUMP_V2=y CONFIG_MSM_MEMORY_DUMP_V2=y CONFIG_MSM_BOOT_STATS=y CONFIG_MSM_BOOT_STATS=y CONFIG_MSM_COMMON_LOG=y CONFIG_MSM_COMMON_LOG=y Loading sound/soc/msm/Kconfig +18 −0 Original line number Original line Diff line number Diff line Loading @@ -250,4 +250,22 @@ config SND_SOC_MSM8909 the machine drivers and the corresponding the machine drivers and the corresponding DAI-links. DAI-links. config SND_SOC_MDM9640 tristate "SoC Machine driver for MDM9640 boards" depends on ARCH_MDM9640 select SND_SOC_QDSP6V2 select SND_SOC_MSM_STUB select SND_SOC_WCD9330 select SND_SOC_MSM_HOSTLESS_PCM select SND_DYNAMIC_MINORS select MSM_QDSP6_APRV3 select MSM_QDSP6V2_CODECS select SND_HWDEP help To add support for SoC audio on MDM9640 boards. This will enable sound soc drivers which interfaces with DSP, also it will enable the machine drivers and the corresponding DAI-links. endmenu endmenu sound/soc/msm/Makefile +4 −0 Original line number Original line Diff line number Diff line Loading @@ -40,3 +40,7 @@ obj-$(CONFIG_SND_SOC_MDM9607) += snd-soc-mdm9607.o # for MSM 8909 sound card driver # for MSM 8909 sound card driver snd-soc-msm8909-objs := msm8952.o msm-audio-pinctrl.o snd-soc-msm8909-objs := msm8952.o msm-audio-pinctrl.o obj-$(CONFIG_SND_SOC_MSM8909) += snd-soc-msm8909.o obj-$(CONFIG_SND_SOC_MSM8909) += snd-soc-msm8909.o # for MDM9640 sound card driver snd-soc-mdm9640-objs := mdm9640.o obj-$(CONFIG_SND_SOC_MDM9640) += snd-soc-mdm9640.o No newline at end of file Loading
Documentation/devicetree/bindings/sound/qcom-audio-dev.txt +87 −0 Original line number Original line Diff line number Diff line Loading @@ -2125,3 +2125,90 @@ sound { pinctrl-1 = <&ap_mclk_active &mdm_mclk_active>; pinctrl-1 = <&ap_mclk_active &mdm_mclk_active>; }; }; * MDM9640 ASoC Machine driver Required properties: - compatible : "qcom,mdm9640-audio-tomtom" for tomtom codec - qcom,model : The user-visible name of this sound card. - qcom,audio-routing : A list of the connections between audio components. Each entry is a pair of strings, the first being the connection's sink, the second being the connection's source. - qcom,codec-mclk-clk-freq : Master clock value given to codec. Some WCD9XXX codec can run at different mclk values. Mclk value can be 9.6MHz or 12.288MHz. - 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". Optional Properties: - qcom,mi2s-interface-mode: This property contains mi2s interface modes master/ slave. Entry is a pair of strings, the first being for primary mi2s and the second for secondary mi2s and so on - qcom,auxpcm-interface-mode: This property contains auxpcm interface modes master/ slave. Entry is a pair of strings, the first being for primary auxpcm and the second for secondary auxpcm and so on Example: sound { compatible = "qcom,mdm9640-audio-tomtom"; qcom,model = "mdm9640-tomtom-i2s-snd-card"; qcom,audio-routing = "RX_BIAS", "MCLK", "LDO_H", "MCLK", "AMIC1", "MIC BIAS1 External", "MIC BIAS1 External", "Handset Mic", "AMIC2", "MIC BIAS2 External", "MIC BIAS2 External", "Headset Mic", "AMIC3", "MIC BIAS2 External", "MIC BIAS2 External", "ANCRight Headset Mic", "AMIC4", "MIC BIAS2 External", "MIC BIAS2 External", "ANCLeft Headset Mic", "DMIC1", "MIC BIAS1 External", "MIC BIAS1 External", "Digital Mic1", "DMIC3", "MIC BIAS3 External", "MIC BIAS3 External", "Digital Mic3"; qcom,tomtom-mclk-clk-freq = <12288000>; qcom,mi2s-interface-mode = "pri_mi2s_master", "sec_mi2s_master"; qcom,auxpcm-interface-mode = "pri_pcm_master", "sec_pcm_master"; asoc-platform = <&pcm0>, <&pcm1>, <&voip>, <&voice>, <&loopback>, <&hostless>, <&afe>, <&routing>, <&pcm_dtmf>, <&host_pcm>; 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"; asoc-cpu = <&dai_pri_auxpcm>, <&dai_sec_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>; asoc-cpu-names = "msm-dai-q6-auxpcm.1", "msm-dai-q6-auxpcm.2", "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"; asoc-codec = <&stub_codec>; asoc-codec-names = "msm-stub-codec.1"; }; No newline at end of file
arch/arm/configs/mdm9640-perf_defconfig +3 −2 Original line number Original line Diff line number Diff line Loading @@ -229,7 +229,6 @@ CONFIG_MSM_SMD_PKT=y CONFIG_I2C=y CONFIG_I2C=y CONFIG_I2C_CHARDEV=y CONFIG_I2C_CHARDEV=y CONFIG_I2C_MSM_V2=y CONFIG_I2C_MSM_V2=y CONFIG_SLIMBUS=y CONFIG_SOUNDWIRE=y CONFIG_SOUNDWIRE=y CONFIG_SPI=y CONFIG_SPI=y CONFIG_SPI_QUP=y CONFIG_SPI_QUP=y Loading @@ -251,7 +250,7 @@ CONFIG_THERMAL=y CONFIG_THERMAL_TSENS8974=y CONFIG_THERMAL_TSENS8974=y CONFIG_THERMAL_MONITOR=y CONFIG_THERMAL_MONITOR=y CONFIG_THERMAL_QPNP_ADC_TM=y CONFIG_THERMAL_QPNP_ADC_TM=y CONFIG_WCD9335_CODEC=y CONFIG_WCD9330_CODEC=y CONFIG_REGULATOR_FIXED_VOLTAGE=y CONFIG_REGULATOR_FIXED_VOLTAGE=y CONFIG_REGULATOR_STUB=y CONFIG_REGULATOR_STUB=y CONFIG_REGULATOR_MEM_ACC=y CONFIG_REGULATOR_MEM_ACC=y Loading @@ -260,6 +259,7 @@ CONFIG_REGULATOR_CPR=y CONFIG_SOUND=y CONFIG_SOUND=y CONFIG_SND=y CONFIG_SND=y CONFIG_SND_SOC=y CONFIG_SND_SOC=y CONFIG_SND_SOC_MDM9640=y CONFIG_USB=y CONFIG_USB=y CONFIG_USB_ANNOUNCE_NEW_DEVICES=y CONFIG_USB_ANNOUNCE_NEW_DEVICES=y CONFIG_USB_XHCI_HCD=y CONFIG_USB_XHCI_HCD=y Loading Loading @@ -326,6 +326,7 @@ CONFIG_RMNET_IPA3=y CONFIG_MSM_SPMI=y CONFIG_MSM_SPMI=y CONFIG_MSM_SPMI_PMIC_ARB=y CONFIG_MSM_SPMI_PMIC_ARB=y CONFIG_MSM_QPNP_INT=y CONFIG_MSM_QPNP_INT=y CONFIG_MSM_ADSP_LOADER=y CONFIG_MSM_MEMORY_DUMP_V2=y CONFIG_MSM_MEMORY_DUMP_V2=y CONFIG_MSM_BOOT_STATS=y CONFIG_MSM_BOOT_STATS=y CONFIG_MSM_COMMON_LOG=y CONFIG_MSM_COMMON_LOG=y Loading
arch/arm/configs/mdm9640_defconfig +3 −2 Original line number Original line Diff line number Diff line Loading @@ -229,7 +229,6 @@ CONFIG_MSM_SMD_PKT=y CONFIG_I2C=y CONFIG_I2C=y CONFIG_I2C_CHARDEV=y CONFIG_I2C_CHARDEV=y CONFIG_I2C_MSM_V2=y CONFIG_I2C_MSM_V2=y CONFIG_SLIMBUS=y CONFIG_SOUNDWIRE=y CONFIG_SOUNDWIRE=y CONFIG_SPI=y CONFIG_SPI=y CONFIG_SPI_QUP=y CONFIG_SPI_QUP=y Loading @@ -252,7 +251,7 @@ CONFIG_THERMAL=y CONFIG_THERMAL_TSENS8974=y CONFIG_THERMAL_TSENS8974=y CONFIG_THERMAL_MONITOR=y CONFIG_THERMAL_MONITOR=y CONFIG_THERMAL_QPNP_ADC_TM=y CONFIG_THERMAL_QPNP_ADC_TM=y CONFIG_WCD9335_CODEC=y CONFIG_WCD9330_CODEC=y CONFIG_REGULATOR_FIXED_VOLTAGE=y CONFIG_REGULATOR_FIXED_VOLTAGE=y CONFIG_REGULATOR_STUB=y CONFIG_REGULATOR_STUB=y CONFIG_REGULATOR_MEM_ACC=y CONFIG_REGULATOR_MEM_ACC=y Loading @@ -265,6 +264,7 @@ CONFIG_FB_MSM_QPIC_PANEL_DETECT=y CONFIG_SOUND=y CONFIG_SOUND=y CONFIG_SND=y CONFIG_SND=y CONFIG_SND_SOC=y CONFIG_SND_SOC=y CONFIG_SND_SOC_MDM9640=y CONFIG_USB=y CONFIG_USB=y CONFIG_USB_ANNOUNCE_NEW_DEVICES=y CONFIG_USB_ANNOUNCE_NEW_DEVICES=y CONFIG_USB_XHCI_HCD=y CONFIG_USB_XHCI_HCD=y Loading Loading @@ -336,6 +336,7 @@ CONFIG_RMNET_IPA3=y CONFIG_MSM_SPMI=y CONFIG_MSM_SPMI=y CONFIG_MSM_SPMI_PMIC_ARB=y CONFIG_MSM_SPMI_PMIC_ARB=y CONFIG_MSM_QPNP_INT=y CONFIG_MSM_QPNP_INT=y CONFIG_MSM_ADSP_LOADER=y CONFIG_MSM_MEMORY_DUMP_V2=y CONFIG_MSM_MEMORY_DUMP_V2=y CONFIG_MSM_BOOT_STATS=y CONFIG_MSM_BOOT_STATS=y CONFIG_MSM_COMMON_LOG=y CONFIG_MSM_COMMON_LOG=y Loading
sound/soc/msm/Kconfig +18 −0 Original line number Original line Diff line number Diff line Loading @@ -250,4 +250,22 @@ config SND_SOC_MSM8909 the machine drivers and the corresponding the machine drivers and the corresponding DAI-links. DAI-links. config SND_SOC_MDM9640 tristate "SoC Machine driver for MDM9640 boards" depends on ARCH_MDM9640 select SND_SOC_QDSP6V2 select SND_SOC_MSM_STUB select SND_SOC_WCD9330 select SND_SOC_MSM_HOSTLESS_PCM select SND_DYNAMIC_MINORS select MSM_QDSP6_APRV3 select MSM_QDSP6V2_CODECS select SND_HWDEP help To add support for SoC audio on MDM9640 boards. This will enable sound soc drivers which interfaces with DSP, also it will enable the machine drivers and the corresponding DAI-links. endmenu endmenu
sound/soc/msm/Makefile +4 −0 Original line number Original line Diff line number Diff line Loading @@ -40,3 +40,7 @@ obj-$(CONFIG_SND_SOC_MDM9607) += snd-soc-mdm9607.o # for MSM 8909 sound card driver # for MSM 8909 sound card driver snd-soc-msm8909-objs := msm8952.o msm-audio-pinctrl.o snd-soc-msm8909-objs := msm8952.o msm-audio-pinctrl.o obj-$(CONFIG_SND_SOC_MSM8909) += snd-soc-msm8909.o obj-$(CONFIG_SND_SOC_MSM8909) += snd-soc-msm8909.o # for MDM9640 sound card driver snd-soc-mdm9640-objs := mdm9640.o obj-$(CONFIG_SND_SOC_MDM9640) += snd-soc-mdm9640.o No newline at end of file