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

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

Merge "ARM: dts: msm: Add external codec support for SDM439"

parents 2be49b6f cb37c719
Loading
Loading
Loading
Loading
+55 −22
Original line number Diff line number Diff line
@@ -240,16 +240,23 @@
			"SpkrRight IN", "SPK2 OUT";

		qcom,tasha-mclk-clk-freq = <9600000>;
		qcom,cdc-us-euro-gpios = <&tlmm 63 0>;
		qcom,msm-mbhc-hphl-swh = <0>;
		qcom,msm-mbhc-gnd-swh = <0>;
		qcom,cdc-us-eu-gpios = <&cdc_us_euro_sw>;
		qcom,quin-mi2s-gpios = <&cdc_quin_mi2s_gpios>;

		asoc-platform = <&pcm0>, <&pcm1>, <&pcm2>, <&voip>, <&voice>,
				<&loopback>, <&compress>, <&hostless>,
				<&afe>, <&lsm>, <&routing>;
				<&afe>, <&lsm>, <&routing>, <&cpe>,
				<&pcm_noirq>;
		asoc-platform-names = "msm-pcm-dsp.0", "msm-pcm-dsp.1",
				"msm-pcm-dsp.2", "msm-voip-dsp",
				"msm-pcm-voice", "msm-pcm-loopback",
				"msm-compress-dsp", "msm-pcm-hostless",
				"msm-pcm-afe", "msm-lsm-client",
				"msm-pcm-routing";
				"msm-pcm-routing", "msm-cpe-lsm",
				"msm-pcm-dsp-noirq";

		asoc-cpu = <&dai_pri_auxpcm>,
				<&dai_mi2s2>, <&dai_mi2s3>, <&dai_mi2s5>,
@@ -281,9 +288,6 @@

		asoc-codec = <&stub_codec>, <&hdmi_dba>;
		asoc-codec-names = "msm-stub-codec.1", "msm-hdmi-dba-codec-rx";
		qcom,cdc-us-euro-gpios = <&tlmm 63 0>;
		qcom,msm-mbhc-hphl-swh = <0>;
		qcom,msm-mbhc-gnd-swh = <0>;

		qcom,wsa-max-devs = <2>;
		qcom,wsa-devs = <&wsa881x_211>, <&wsa881x_212>,
@@ -292,11 +296,19 @@
				"SpkrLeft", "SpkrRight";
	};

	cpe: qcom,msm-cpe-lsm {
		compatible = "qcom,msm-cpe-lsm";
	};

	wcd9xxx_intc: wcd9xxx-irq {
		status = "disabled";
		compatible = "qcom,wcd9xxx-irq";
		interrupt-controller;
		#interrupt-cells = <1>;
		interrupt-parent = <&tlmm>;
		interrupts = <73 0>;
		qcom,gpio-connect = <&tlmm 73 0>;
		pinctrl-names = "default";
		pinctrl-0 = <&wcd_intr_default>;
	};

	clock_audio: audio_ext_clk {
@@ -306,28 +318,61 @@
		qcom,node_has_rpm_clock;
		#clock-cells = <1>;
		qcom,audio-ref-clk-gpio = <&pm8937_gpios 1 0>;
		qcom,lpass-mclk-id = "pri_mclk";
		clocks = <&clock_gcc clk_div_clk2>;
		pinctrl-0 = <&cdc_mclk2_sleep>;
		pinctrl-1 = <&cdc_mclk2_active>;
	};

	wcd_rst_gpio: wcd_gpio_ctrl {
	wcd_rst_gpio: msm_cdc_pinctrl {
		status = "disabled";
		qcom,cdc-rst-n-gpio = <&tlmm 68 0>;
		compatible = "qcom,msm-cdc-pinctrl";
		pinctrl-names = "aud_active", "aud_sleep";
		pinctrl-0 = <&cdc_reset_active>;
		pinctrl-1 = <&cdc_reset_sleep>;
	};
};

&slim_msm {
	status = "disabled";

	dai_slim: msm_dai_slim {
		status = "disabled";
		compatible = "qcom,msm-dai-slim";
		elemental-addr = [ff ff ff fe 17 02];
	};

	wcd9335: tasha_codec {
		status = "disabled";
		compatible = "qcom,tasha-slim-pgd";
		elemental-addr = [00 01 A0 01 17 02];

		qcom,cdc-slim-ifd = "tasha-slim-ifd";
		qcom,cdc-slim-ifd-elemental-addr = [00 00 A0 01 17 02];

		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 29 30>;

		qcom,wcd-rst-gpio-node = <&wcd_rst_gpio>;

		clock-names = "wcd_clk", "wcd_native_clk";
		clocks = <&clock_audio clk_audio_pmi_clk>,
			<&clock_audio clk_audio_ap_clk2>;

		qcom,cdc-reset-gpio = <&tlmm 68 0>;
		qcom,cdc-static-supplies =
				"cdc-vdd-buck",
				"cdc-buck-sido",
				"cdc-vdd-tx-h",
				"cdc-vdd-rx-h",
				"cdc-vdd-px";
		qcom,cdc-on-demand-supplies = "cdc-vdd-mic-bias";
		qcom,cdc-micbias1-mv = <1800>;
		qcom,cdc-micbias2-mv = <1800>;
		qcom,cdc-micbias3-mv = <1800>;
		qcom,cdc-micbias4-mv = <1800>;

		qcom,cdc-dmic-sample-rate = <2400000>;
		qcom,cdc-mclk-clk-rate = <9600000>;

		cdc-vdd-buck-supply = <&eldo2_pm8937>;
		qcom,cdc-vdd-buck-voltage = <1800000 1800000>;
@@ -355,18 +400,6 @@
	};
};

&pm8937_gpios {
	gpio@c000 {
		status = "ok";
		qcom,mode = <1>;
		qcom,pull = <5>;
		qcom,vin-sel = <0>;
		qcom,src-sel = <2>;
		qcom,master-en = <1>;
		qcom,out-strength = <2>;
	};
};

&pm8937_1 {
	pmic_analog_codec: analog-codec@f000 {
		status = "okay";
+59 −0
Original line number Diff line number Diff line
@@ -25,6 +25,65 @@
		qcom,msm-vdd-wsa-switch-voltage = <1800000>;
		qcom,msm-vdd-wsa-switch-current = <10000>;
	};

	clock_audio_native: audio_ext_clk_native {
		status = "disabled";
		compatible = "qcom,audio-ref-clk";
		#clock-cells = <1>;
		qcom,codec-mclk-clk-freq = <11289600>;
		qcom,audio-ref-clk-gpio = <&tlmm 66 0>;
		qcom,lpass-mclk-id = "pri_mclk";
		pinctrl-names = "sleep", "active";
		pinctrl-0 = <&cdc_mclk2_sleep>;
		pinctrl-1 = <&cdc_mclk2_active>;
	};
};


&clock_audio {
	pinctrl-names = "active", "sleep";
	pinctrl-0 = <&tasha_mclk_default>;
	pinctrl-1 = <&tasha_mclk_default>;
	qcom,audio-ref-clk-gpio = <&pm8953_gpios 1 0>;
};

&wcd9335 {
	cdc-vdd-buck-supply = <&dbu1>;
	qcom,cdc-vdd-buck-voltage = <1800000 1800000>;
	qcom,cdc-vdd-buck-current = <650000>;

	cdc-buck-sido-supply = <&dbu1>;
	qcom,cdc-buck-sido-voltage = <1800000 1800000>;
	qcom,cdc-buck-sido-current = <150000>;

	cdc-vdd-tx-h-supply = <&dbu1>;
	qcom,cdc-vdd-tx-h-voltage = <1800000 1800000>;
	qcom,cdc-vdd-tx-h-current = <25000>;

	cdc-vdd-rx-h-supply = <&dbu1>;
	qcom,cdc-vdd-rx-h-voltage = <1800000 1800000>;
	qcom,cdc-vdd-rx-h-current = <25000>;

	cdc-vdd-px-supply = <&dbu1>;
	qcom,cdc-vdd-px-voltage = <1800000 1800000>;
	qcom,cdc-vdd-px-current = <10000>;

	cdc-vdd-mic-bias-supply = <&pm8953_l13>;
	qcom,cdc-vdd-mic-bias-voltage = <3075000 3075000>;
	qcom,cdc-vdd-mic-bias-current = <15000>;
};

&pm8953_gpios {
	tasha_mclk {
		tasha_mclk_default: tasha_mclk_default{
			pins = "gpio1";
			function = "func1";
			qcom,drive-strength = <2>;
			power-source = <0>;
			bias-disable;
			output-low;
		};
	};
};

&pm8953_1 {
+77 −0
Original line number Diff line number Diff line
/*
 * Copyright (c) 2018, The Linux Foundation. All rights reserved.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 and
 * only version 2 as published by the Free Software Foundation.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 */

&int_codec {
	status = "disabled";
};

&wsa881x_i2c_f {
	status = "disabled";
};

&wsa881x_i2c_45 {
	status = "disabled";
};

&cdc_pri_mi2s_gpios {
	status = "disabled";
};

&wsa881x_analog_vi_gpio {
	status = "disabled";
};

&wsa881x_analog_clk_gpio {
	status = "disabled";
};

&wsa881x_analog_reset_gpio {
	status = "disabled";
};

&slim_msm {
	status = "okay";
};

&dai_slim {
	status = "okay";
};

&wcd9xxx_intc {
	status = "okay";
};

&clock_audio {
	status = "okay";
};

&wcd9335 {
	status = "okay";
};

&cdc_us_euro_sw {
	status = "okay";
};

&cdc_quin_mi2s_gpios {
	status = "okay";
};

&wcd_rst_gpio {
	status = "okay";
};

&ext_codec {
	status = "okay";
};
+7 −0
Original line number Diff line number Diff line
@@ -483,4 +483,11 @@

		qcom,cpr-enable;
	};

	dbu1: dbu1 {
		compatible = "regulator-fixed";
		regulator-name = "dbu1";
		startup-delay-us = <0>;
		enable-active-high;
	};
};
+1 −0
Original line number Diff line number Diff line
@@ -14,6 +14,7 @@
#include "msm8937.dtsi"
#include "sdm439-pm8953.dtsi"
#include "sdm439-pmi632.dtsi"
#include "sdm439-audio.dtsi"

/ {
	model = "Qualcomm Technologies, Inc. SDM439";