Loading Documentation/devicetree/bindings/sound/qcom-audio-dev.txt +4 −3 Original line number Diff line number Diff line Loading @@ -1777,12 +1777,13 @@ Example: * MDM9607 ASoC Machine driver Required properties: - compatible : "qcom,mdm9607-audio-tomtom" - compatible : "qcom,mdm9607-audio-tomtom" for tomtom codec "qcom,mdm9607-audio-tapan" for tapan 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,tomtom-mclk-clk-freq : Master clock value given to codec. Some WCD9XXX - 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. Loading Loading @@ -1812,7 +1813,7 @@ Optional Properties: Example: sound { sound-9330 { compatible = "qcom,mdm9607-audio-tomtom"; qcom,model = "mdm9607-tomtom-i2s-snd-card"; Loading arch/arm/boot/dts/qcom/mdm9607.dtsi +114 −3 Original line number Diff line number Diff line Loading @@ -385,7 +385,7 @@ dma-names = "tx", "rx"; status = "disabled"; wcd9xxx_codec@0d{ wcd9xxx_tomtom_codec@0d{ compatible = "qcom,wcd9xxx-i2c"; reg = <0x0d>; Loading Loading @@ -448,6 +448,61 @@ qcom,cdc-variant = "WCD9330"; }; wcd9xxx_tapan_codec@0d{ compatible = "qcom,wcd9xxx-i2c"; reg = <0x0d>; status = "disabled"; qcom,cdc-reset-gpio = <&tlmm_pinmux 26 0>; pinctrl-names = "default", "idle"; pinctrl-0 = <&codec_reset_active>; pinctrl-1 = <&codec_reset_sleep>; qcom,cdc-micbias1-ext-cap; 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>; cdc-vdd-buck-supply = <&mdm9607_s4>; qcom,cdc-vdd-buck-voltage = <1950000 1950000>; qcom,cdc-vdd-buck-current = <25000>; cdc-vdd-tx-h-supply = <&mdm9607_l11>; qcom,cdc-vdd-tx-h-voltage = <1800000 1800000>; qcom,cdc-vdd-tx-h-current = <25000>; cdc-vdd-rx-h-supply = <&mdm9607_l11>; qcom,cdc-vdd-rx-h-voltage = <1800000 1800000>; qcom,cdc-vdd-rx-h-current = <25000>; cdc-vddpx-1-supply = <&mdm9607_l11>; qcom,cdc-vddpx-1-voltage = <1800000 1800000>; qcom,cdc-vddpx-1-current = <10000>; cdc-vdd-cx-supply = <&mdm9607_l9>; qcom,cdc-vdd-cx-voltage = <1225000 1225000>; qcom,cdc-vdd-cx-current = <10000>; qcom,cdc-static-supplies = "cdc-vdd-buck", "cdc-vdd-tx-h", "cdc-vdd-rx-h", "cdc-vddpx-1", "cdc-vdd-cx"; qcom,cdc-micbias-ldoh-v = <0x3>; qcom,cdc-micbias-cfilt1-mv = <1800>; qcom,cdc-micbias-cfilt2-mv = <2700>; qcom,cdc-micbias-cfilt3-mv = <1800>; qcom,cdc-micbias1-cfilt-sel = <0x0>; qcom,cdc-micbias2-cfilt-sel = <0x1>; qcom,cdc-micbias3-cfilt-sel = <0x2>; qcom,cdc-micbias4-cfilt-sel = <0x2>; qcom,cdc-mclk-clk-rate = <12288000>; qcom,cdc-dmic-sample-rate = <4800000>; qcom,cdc-variant = "WCD9306"; }; wcd9xxx_codec@77{ compatible = "qcom,wcd9xxx-i2c"; reg = <0x77>; Loading Loading @@ -773,7 +828,7 @@ interrupt-names = "cdc-int"; }; sound { sound-9330 { compatible = "qcom,mdm9607-audio-tomtom"; qcom,model = "mdm9607-tomtom-i2s-snd-card"; Loading @@ -795,7 +850,63 @@ "DMIC3", "MIC BIAS3 External", "MIC BIAS3 External", "Digital Mic3"; qcom,tomtom-mclk-clk-freq = <12288000>; qcom,codec-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"; }; sound-9306 { compatible = "qcom,mdm9607-audio-tapan"; qcom,model = "mdm9607-tapan-i2s-snd-card"; status = "disabled"; qcom,audio-routing = "RX_BIAS", "MCLK", "LDO_H", "MCLK", "SPK_OUT", "MCLK", "AMIC1", "MIC BIAS1 External", "MIC BIAS1 External", "Handset Mic", "AMIC2", "MIC BIAS2 External", "MIC BIAS2 External", "Headset Mic", "AMIC4", "MIC BIAS2 External", "MIC BIAS2 External", "ANCRight Headset Mic", "AMIC5", "MIC BIAS2 External", "MIC BIAS2 External", "ANCLeft Headset Mic", "DMIC1", "MIC BIAS1 External", "MIC BIAS1 External", "Digital Mic1", "DMIC2", "MIC BIAS1 External", "MIC BIAS1 External", "Digital Mic2", "DMIC3", "MIC BIAS3 External", "MIC BIAS3 External", "Digital Mic3", "DMIC4", "MIC BIAS3 External", "MIC BIAS3 External", "Digital Mic4"; qcom,codec-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>, Loading arch/arm/configs/mdm9607-perf_defconfig +1 −0 Original line number Diff line number Diff line Loading @@ -234,6 +234,7 @@ CONFIG_THERMAL=y CONFIG_THERMAL_TSENS8974=y CONFIG_THERMAL_MONITOR=y CONFIG_THERMAL_QPNP_ADC_TM=y CONFIG_WCD9306_CODEC=y CONFIG_WCD9330_CODEC=y CONFIG_REGULATOR_FIXED_VOLTAGE=y CONFIG_REGULATOR_STUB=y Loading arch/arm/configs/mdm9607_defconfig +1 −0 Original line number Diff line number Diff line Loading @@ -236,6 +236,7 @@ CONFIG_THERMAL=y CONFIG_THERMAL_TSENS8974=y CONFIG_THERMAL_MONITOR=y CONFIG_THERMAL_QPNP_ADC_TM=y CONFIG_WCD9306_CODEC=y CONFIG_WCD9330_CODEC=y CONFIG_REGULATOR_FIXED_VOLTAGE=y CONFIG_REGULATOR_STUB=y Loading drivers/mfd/Kconfig +12 −0 Original line number Diff line number Diff line Loading @@ -1318,6 +1318,18 @@ config MFD_STW481X in various ST Microelectronics and ST-Ericsson embedded Nomadik series. config WCD9306_CODEC tristate "WCD9306 Codec" select SLIMBUS select MFD_CORE select REGMAP_ALLOW_WRITE_DEBUGFS help Enables the WCD9xxx codec core driver. The core driver provides read/write capability to registers which are part of the WCD9306 core and gives the ability to use the WCD9306 codec. The WCD9306 codec support either I2C/I2S or Slimbus for control and data exchnage with master processor. config WCD9320_CODEC tristate "WCD9320 Codec" select SLIMBUS Loading Loading
Documentation/devicetree/bindings/sound/qcom-audio-dev.txt +4 −3 Original line number Diff line number Diff line Loading @@ -1777,12 +1777,13 @@ Example: * MDM9607 ASoC Machine driver Required properties: - compatible : "qcom,mdm9607-audio-tomtom" - compatible : "qcom,mdm9607-audio-tomtom" for tomtom codec "qcom,mdm9607-audio-tapan" for tapan 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,tomtom-mclk-clk-freq : Master clock value given to codec. Some WCD9XXX - 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. Loading Loading @@ -1812,7 +1813,7 @@ Optional Properties: Example: sound { sound-9330 { compatible = "qcom,mdm9607-audio-tomtom"; qcom,model = "mdm9607-tomtom-i2s-snd-card"; Loading
arch/arm/boot/dts/qcom/mdm9607.dtsi +114 −3 Original line number Diff line number Diff line Loading @@ -385,7 +385,7 @@ dma-names = "tx", "rx"; status = "disabled"; wcd9xxx_codec@0d{ wcd9xxx_tomtom_codec@0d{ compatible = "qcom,wcd9xxx-i2c"; reg = <0x0d>; Loading Loading @@ -448,6 +448,61 @@ qcom,cdc-variant = "WCD9330"; }; wcd9xxx_tapan_codec@0d{ compatible = "qcom,wcd9xxx-i2c"; reg = <0x0d>; status = "disabled"; qcom,cdc-reset-gpio = <&tlmm_pinmux 26 0>; pinctrl-names = "default", "idle"; pinctrl-0 = <&codec_reset_active>; pinctrl-1 = <&codec_reset_sleep>; qcom,cdc-micbias1-ext-cap; 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>; cdc-vdd-buck-supply = <&mdm9607_s4>; qcom,cdc-vdd-buck-voltage = <1950000 1950000>; qcom,cdc-vdd-buck-current = <25000>; cdc-vdd-tx-h-supply = <&mdm9607_l11>; qcom,cdc-vdd-tx-h-voltage = <1800000 1800000>; qcom,cdc-vdd-tx-h-current = <25000>; cdc-vdd-rx-h-supply = <&mdm9607_l11>; qcom,cdc-vdd-rx-h-voltage = <1800000 1800000>; qcom,cdc-vdd-rx-h-current = <25000>; cdc-vddpx-1-supply = <&mdm9607_l11>; qcom,cdc-vddpx-1-voltage = <1800000 1800000>; qcom,cdc-vddpx-1-current = <10000>; cdc-vdd-cx-supply = <&mdm9607_l9>; qcom,cdc-vdd-cx-voltage = <1225000 1225000>; qcom,cdc-vdd-cx-current = <10000>; qcom,cdc-static-supplies = "cdc-vdd-buck", "cdc-vdd-tx-h", "cdc-vdd-rx-h", "cdc-vddpx-1", "cdc-vdd-cx"; qcom,cdc-micbias-ldoh-v = <0x3>; qcom,cdc-micbias-cfilt1-mv = <1800>; qcom,cdc-micbias-cfilt2-mv = <2700>; qcom,cdc-micbias-cfilt3-mv = <1800>; qcom,cdc-micbias1-cfilt-sel = <0x0>; qcom,cdc-micbias2-cfilt-sel = <0x1>; qcom,cdc-micbias3-cfilt-sel = <0x2>; qcom,cdc-micbias4-cfilt-sel = <0x2>; qcom,cdc-mclk-clk-rate = <12288000>; qcom,cdc-dmic-sample-rate = <4800000>; qcom,cdc-variant = "WCD9306"; }; wcd9xxx_codec@77{ compatible = "qcom,wcd9xxx-i2c"; reg = <0x77>; Loading Loading @@ -773,7 +828,7 @@ interrupt-names = "cdc-int"; }; sound { sound-9330 { compatible = "qcom,mdm9607-audio-tomtom"; qcom,model = "mdm9607-tomtom-i2s-snd-card"; Loading @@ -795,7 +850,63 @@ "DMIC3", "MIC BIAS3 External", "MIC BIAS3 External", "Digital Mic3"; qcom,tomtom-mclk-clk-freq = <12288000>; qcom,codec-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"; }; sound-9306 { compatible = "qcom,mdm9607-audio-tapan"; qcom,model = "mdm9607-tapan-i2s-snd-card"; status = "disabled"; qcom,audio-routing = "RX_BIAS", "MCLK", "LDO_H", "MCLK", "SPK_OUT", "MCLK", "AMIC1", "MIC BIAS1 External", "MIC BIAS1 External", "Handset Mic", "AMIC2", "MIC BIAS2 External", "MIC BIAS2 External", "Headset Mic", "AMIC4", "MIC BIAS2 External", "MIC BIAS2 External", "ANCRight Headset Mic", "AMIC5", "MIC BIAS2 External", "MIC BIAS2 External", "ANCLeft Headset Mic", "DMIC1", "MIC BIAS1 External", "MIC BIAS1 External", "Digital Mic1", "DMIC2", "MIC BIAS1 External", "MIC BIAS1 External", "Digital Mic2", "DMIC3", "MIC BIAS3 External", "MIC BIAS3 External", "Digital Mic3", "DMIC4", "MIC BIAS3 External", "MIC BIAS3 External", "Digital Mic4"; qcom,codec-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>, Loading
arch/arm/configs/mdm9607-perf_defconfig +1 −0 Original line number Diff line number Diff line Loading @@ -234,6 +234,7 @@ CONFIG_THERMAL=y CONFIG_THERMAL_TSENS8974=y CONFIG_THERMAL_MONITOR=y CONFIG_THERMAL_QPNP_ADC_TM=y CONFIG_WCD9306_CODEC=y CONFIG_WCD9330_CODEC=y CONFIG_REGULATOR_FIXED_VOLTAGE=y CONFIG_REGULATOR_STUB=y Loading
arch/arm/configs/mdm9607_defconfig +1 −0 Original line number Diff line number Diff line Loading @@ -236,6 +236,7 @@ CONFIG_THERMAL=y CONFIG_THERMAL_TSENS8974=y CONFIG_THERMAL_MONITOR=y CONFIG_THERMAL_QPNP_ADC_TM=y CONFIG_WCD9306_CODEC=y CONFIG_WCD9330_CODEC=y CONFIG_REGULATOR_FIXED_VOLTAGE=y CONFIG_REGULATOR_STUB=y Loading
drivers/mfd/Kconfig +12 −0 Original line number Diff line number Diff line Loading @@ -1318,6 +1318,18 @@ config MFD_STW481X in various ST Microelectronics and ST-Ericsson embedded Nomadik series. config WCD9306_CODEC tristate "WCD9306 Codec" select SLIMBUS select MFD_CORE select REGMAP_ALLOW_WRITE_DEBUGFS help Enables the WCD9xxx codec core driver. The core driver provides read/write capability to registers which are part of the WCD9306 core and gives the ability to use the WCD9306 codec. The WCD9306 codec support either I2C/I2S or Slimbus for control and data exchnage with master processor. config WCD9320_CODEC tristate "WCD9320 Codec" select SLIMBUS Loading