Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6d04859d authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "arch: arm: defconfig: Enable WCD9306 codec"

parents 005001bb 44d102f3
Loading
Loading
Loading
Loading
+4 −3
Original line number Diff line number Diff line
@@ -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.
@@ -1812,7 +1813,7 @@ Optional Properties:

Example:

sound {
sound-9330 {
		compatible = "qcom,mdm9607-audio-tomtom";
		qcom,model = "mdm9607-tomtom-i2s-snd-card";

+114 −3
Original line number Diff line number Diff line
@@ -385,7 +385,7 @@
		dma-names = "tx", "rx";
		status = "disabled";

		wcd9xxx_codec@0d{
		wcd9xxx_tomtom_codec@0d{
			compatible = "qcom,wcd9xxx-i2c";
			reg = <0x0d>;

@@ -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>;
@@ -773,7 +828,7 @@
		interrupt-names = "cdc-int";
	};

	sound {
	sound-9330 {
		compatible = "qcom,mdm9607-audio-tomtom";
		qcom,model = "mdm9607-tomtom-i2s-snd-card";

@@ -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>,
+1 −0
Original line number Diff line number Diff line
@@ -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
+1 −0
Original line number Diff line number Diff line
@@ -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
+12 −0
Original line number Diff line number Diff line
@@ -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