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

Commit 7109e8e4 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 support of tasha on sdm670"

parents 7fff8cfd 75f5ed27
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -355,6 +355,8 @@ Optional properties:

 - qcom,mclk-clk-reg:                       Indicate the register address for mclk.

 - qcom,lpass-mclk-id:                      Property to update LPASS MCLK Id.

* audio_slimslave

Required properties:
+2 −2
Original line number Diff line number Diff line
/* Copyright (c) 2016-2017, The Linux Foundation. All rights reserved.
/* Copyright (c) 2016-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
@@ -376,7 +376,7 @@
			#clock-cells = <1>;
			qcom,cxo-freq = <19200000>;
			qcom,clkdiv-id = <1>;
			qcom,clkdiv-init-freq = <19200000>;
			qcom,clkdiv-init-freq = <9600000>;
			status = "disabled";
		};
	};
+104 −1
Original line number Diff line number Diff line
/*
 * Copyright (c) 2017, The Linux Foundation. All rights reserved.
 * Copyright (c) 2017-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
@@ -12,6 +12,7 @@
 */
#include "sdm670-wcd.dtsi"
#include "sdm670-wsa881x.dtsi"
#include "sdm670-lpi.dtsi"
#include <dt-bindings/clock/qcom,audio-ext-clk.h>

&tavil_snd {
@@ -59,6 +60,49 @@
		"SpkrLeft", "SpkrRight";
};

&tasha_snd {
	qcom,msm-mi2s-master = <1>, <1>, <1>, <1>, <1>;
	qcom,audio-routing =
		"AIF4 VI", "MCLK",
		"RX_BIAS", "MCLK",
		"MADINPUT", "MCLK",
		"hifi amp", "LINEOUT1",
		"hifi amp", "LINEOUT2",
		"AMIC2", "MIC BIAS2",
		"MIC BIAS2", "Headset Mic",
		"AMIC3", "MIC BIAS2",
		"MIC BIAS2", "ANCRight Headset Mic",
		"AMIC4", "MIC BIAS2",
		"MIC BIAS2", "ANCLeft Headset Mic",
		"AMIC5", "MIC BIAS3",
		"MIC BIAS3", "Handset Mic",
		"DMIC0", "MIC BIAS1",
		"MIC BIAS1", "Digital Mic0",
		"DMIC1", "MIC BIAS1",
		"MIC BIAS1", "Digital Mic1",
		"DMIC2", "MIC BIAS3",
		"MIC BIAS3", "Digital Mic2",
		"DMIC3", "MIC BIAS3",
		"MIC BIAS3", "Digital Mic3",
		"DMIC4", "MIC BIAS4",
		"MIC BIAS4", "Digital Mic4",
		"DMIC5", "MIC BIAS4",
		"MIC BIAS4", "Digital Mic5",
		"SpkrLeft IN", "SPK1 OUT",
		"SpkrRight IN", "SPK2 OUT";

	qcom,msm-mbhc-hphl-swh = <0>;
	qcom,msm-mbhc-gnd-swh = <0>;
	qcom,msm-mclk-freq = <9600000>;
	asoc-codec = <&stub_codec>;
	asoc-codec-names = "msm-stub-codec.1";
	qcom,wsa-max-devs = <2>;
	qcom,wsa-devs = <&wsa881x_211>, <&wsa881x_212>,
		<&wsa881x_213>, <&wsa881x_214>;
	qcom,wsa-aux-dev-prefix = "SpkrLeft", "SpkrRight",
		"SpkrLeft", "SpkrRight";
};

&int_codec {
	qcom,audio-routing =
		"RX_BIAS", "INT_MCLK0",
@@ -222,6 +266,31 @@
		pinctrl-0 = <&wcd_intr_default>;
	};

	clock_audio_native: audio_ext_clk_native {
		status = "disabled";
		compatible = "qcom,audio-ref-clk";
		#clock-cells = <1>;
		qcom,lpass-mclk-id = <0x116>;
		qcom,codec-mclk-clk-freq = <11289600>;
		qcom,audio-ref-clk-gpio = <&lpi_tlmm 19 0>;
		pinctrl-names = "sleep", "active";
		pinctrl-0 = <&lpi_mclk0_sleep>;
		pinctrl-1 = <&lpi_mclk0_active>;
	};

	clock_audio: audio_ext_clk {
		status = "disabled";
		compatible = "qcom,audio-ref-clk";
		pinctrl-names = "active", "sleep";
		pinctrl-0 = <&tasha_mclk_default>;
		pinctrl-1 = <&tasha_mclk_default>;
		qcom,audio-ref-clk-gpio = <&pm660_gpios 3 0>;
		clock-names = "osr_clk";
		clocks = <&pm660_div_clk>;
		qcom,node_has_rpm_clock;
		#clock-cells = <1>;
	};

	clock_audio_lnbb: audio_ext_clk_lnbb {
		status = "disabled";
		compatible = "qcom,audio-ref-clk";
@@ -254,6 +323,40 @@
};

&slim_aud {
	wcd9335: tasha_codec {
		status = "disabled";
		compatible = "qcom,tasha-slim-pgd";
		elemental-addr = [00 01 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 AUDIO_PMI_CLK>,
			 <&clock_audio_native AUDIO_LPASS_MCLK>;

		cdc-vdd-mic-bias-supply = <&pm660l_bob>;
		qcom,cdc-vdd-mic-bias-voltage = <3312000 3312000>;
		qcom,cdc-vdd-mic-bias-current = <30400>;

		qcom,cdc-static-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-mclk-clk-rate = <9600000>;
		qcom,cdc-slim-ifd = "tasha-slim-ifd";
		qcom,cdc-slim-ifd-elemental-addr = [00 00 a0 01 17 02];
		qcom,cdc-dmic-sample-rate = <4800000>;
		qcom,cdc-mad-dmic-rate = <600000>;
	};

	wcd934x_cdc: tavil_codec {
		status = "disabled";
		compatible = "qcom,tavil-slim-pgd";
+67 −5
Original line number Diff line number Diff line
/*
 * Copyright (c) 2017, The Linux Foundation. All rights reserved.
 * Copyright (c) 2017-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
@@ -12,10 +12,6 @@
 */

#include "msm-audio-lpass.dtsi"
#include "sdm670-wcd.dtsi"
#include "sdm670-wsa881x.dtsi"
#include "sdm670-lpi.dtsi"
#include <dt-bindings/clock/qcom,audio-ext-clk.h>

&msm_audio_ion {
	iommus = <&apps_smmu 0x1801 0x0>;
@@ -99,6 +95,72 @@
			"msm-dai-q6-tdm.36928", "msm-dai-q6-tdm.36929";
	};

	tasha_snd: sound-tasha {
		status = "disabled";
		compatible = "qcom,sdm670-asoc-snd-tasha";
		qcom,model = "sdm670-tasha-snd-card";
		qcom,wcn-btfm;
		qcom,mi2s-audio-intf;
		qcom,auxpcm-audio-intf;
		asoc-platform = <&pcm0>, <&pcm1>, <&pcm2>, <&voip>, <&voice>,
			<&loopback>, <&compress>, <&hostless>,
			<&afe>, <&lsm>, <&routing>, <&cpe>, <&compr>,
			<&pcm_noirq>, <&cpe3>;
		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-cpe-lsm",
			"msm-compr-dsp", "msm-pcm-dsp-noirq",
			"msm-cpe-lsm.3";
		asoc-cpu = <&dai_mi2s0>, <&dai_mi2s1>,
			<&dai_mi2s2>, <&dai_mi2s3>, <&dai_mi2s4>,
			<&dai_pri_auxpcm>, <&dai_sec_auxpcm>,
			<&dai_tert_auxpcm>, <&dai_quat_auxpcm>,
			<&dai_quin_auxpcm>,
			<&sb_0_rx>, <&sb_0_tx>, <&sb_1_rx>, <&sb_1_tx>,
			<&sb_2_rx>, <&sb_2_tx>, <&sb_3_rx>, <&sb_3_tx>,
			<&sb_4_rx>, <&sb_4_tx>, <&sb_5_rx>, <&sb_5_tx>,
			<&sb_6_rx>, <&sb_7_rx>, <&sb_7_tx>,
			<&sb_8_rx>, <&sb_8_tx>,
			<&afe_pcm_rx>, <&afe_pcm_tx>, <&afe_proxy_rx>,
			<&afe_proxy_tx>, <&incall_record_rx>,
			<&incall_record_tx>, <&incall_music_rx>,
			<&incall_music_2_rx>,
			<&usb_audio_rx>, <&usb_audio_tx>,
			<&dai_pri_tdm_rx_0>, <&dai_pri_tdm_tx_0>,
			<&dai_sec_tdm_rx_0>, <&dai_sec_tdm_tx_0>,
			<&dai_tert_tdm_rx_0>, <&dai_tert_tdm_tx_0>,
			<&dai_quat_tdm_rx_0>, <&dai_quat_tdm_tx_0>,
			<&dai_quin_tdm_rx_0>, <&dai_quin_tdm_tx_0>;
		asoc-cpu-names = "msm-dai-q6-mi2s.0", "msm-dai-q6-mi2s.1",
			"msm-dai-q6-mi2s.2", "msm-dai-q6-mi2s.3",
			"msm-dai-q6-mi2s.4",
			"msm-dai-q6-auxpcm.1", "msm-dai-q6-auxpcm.2",
			"msm-dai-q6-auxpcm.3", "msm-dai-q6-auxpcm.4",
			"msm-dai-q6-auxpcm.5",
			"msm-dai-q6-dev.16384", "msm-dai-q6-dev.16385",
			"msm-dai-q6-dev.16386", "msm-dai-q6-dev.16387",
			"msm-dai-q6-dev.16388", "msm-dai-q6-dev.16389",
			"msm-dai-q6-dev.16390", "msm-dai-q6-dev.16391",
			"msm-dai-q6-dev.16392", "msm-dai-q6-dev.16393",
			"msm-dai-q6-dev.16394", "msm-dai-q6-dev.16395",
			"msm-dai-q6-dev.16396",
			"msm-dai-q6-dev.16398", "msm-dai-q6-dev.16399",
			"msm-dai-q6-dev.16400", "msm-dai-q6-dev.16401",
			"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-dev.32770",
			"msm-dai-q6-dev.28672", "msm-dai-q6-dev.28673",
			"msm-dai-q6-tdm.36864", "msm-dai-q6-tdm.36865",
			"msm-dai-q6-tdm.36880", "msm-dai-q6-tdm.36881",
			"msm-dai-q6-tdm.36896", "msm-dai-q6-tdm.36897",
			"msm-dai-q6-tdm.36912", "msm-dai-q6-tdm.36913",
			"msm-dai-q6-tdm.36928", "msm-dai-q6-tdm.36929";
	};

	int_codec: sound {
		status = "okay";
		compatible = "qcom,sdm670-asoc-snd";
+29 −1
Original line number Diff line number Diff line
/* Copyright (c) 2017, The Linux Foundation. All rights reserved.
/* Copyright (c) 2017-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
@@ -18,6 +18,34 @@
		gpio-controller;
		#gpio-cells = <2>;

		lpi_mclk0_active: lpi_mclk0_active {
			mux {
				pins = "gpio19";
				function = "func1";
			};

			config {
				pins = "gpio19";
				drive-strength = <8>;
				bias-disable;
				output-low;
			};
		};

		lpi_mclk0_sleep: lpi_mclk0_sleep {
			mux {
				pins = "gpio19";
				function = "func1";
			};

			config {
				pins = "gpio19";
				drive-strength = <2>;
				bias-disable;
				bias-pull-down;
			};
		};

		cdc_pdm_clk_active: cdc_pdm_clk_active {
			mux {
				pins = "gpio18";
Loading