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

Commit 9e699bdb authored by Viraja Kommaraju's avatar Viraja Kommaraju Committed by Laxminath Kasam
Browse files

ARM: dts: msm: Add audio support for QCS605 lc variant



Add device nodes for audio to work on QCS605 LC variant.

Change-Id: I80574ec535500237c0ebdeabd5773e9ce0f4fcf9
Signed-off-by: default avatarViraja Kommaraju <virajak@codeaurora.org>
parent e5d77382
Loading
Loading
Loading
Loading
+130 −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.
 */
#include "sdm670-lpi.dtsi"

&int_codec {
	compatible = "qcom,qcs605-dig-asoc-snd";
	qcom,model = "qcs605-lc-snd-card";
	qcom,audio-routing =
		"RX_BIAS", "INT_MCLK0",
		"SPK_RX_BIAS", "INT_MCLK0",
		"TX_I2S_CLK", "INT_MCLK0",
		"DMIC1", "DIGITAL_REGULATOR",
		"DIGITAL_REGULATOR", "Digital Mic1",
		"DMIC2", "DIGITAL_REGULATOR",
		"DIGITAL_REGULATOR", "Digital Mic2",
		"DMIC3", "DIGITAL_REGULATOR",
		"DIGITAL_REGULATOR", "Digital Mic3",
		"DMIC4", "DIGITAL_REGULATOR",
		"DIGITAL_REGULATOR", "Digital Mic4",
		"SpkrLeft IN", "SPK1 OUT",
		"SpkrRight IN", "SPK2 OUT";

	qcom,msm-mi2s-master = <1>, <1>, <1>, <1>, <1>;
	qcom,msm-mclk-freq = <9600000>;
	qcom,cdc-dmic-gpios = <&cdc_dmic_gpios>;

	asoc-codec = <&stub_codec>, <&msm_digital_codec>,
		     <&msm_sdw_codec>;
	asoc-codec-names = "msm-stub-codec.1", "msm-dig-codec",
			   "msm_sdw_codec";

	qcom,wsa-max-devs = <2>;
	qcom,wsa-devs = <&wsa881x_211_en>, <&wsa881x_212_en>,
			<&wsa881x_213_en>, <&wsa881x_214_en>;
	qcom,wsa-aux-dev-prefix = "SpkrLeft", "SpkrRight",
				  "SpkrLeft", "SpkrRight";
};

&soc {
	msm_digital_codec: msm-dig-codec {
		compatible = "qcom,msm-digital-codec";
		reg = <0x62ec0000 0x0>;
		qcom,no-analog-codec;

		cdc-vdd-digital-supply = <&pm660_l13>;
		qcom,cdc-vdd-digital-voltage = <1800000 1800000>;
		qcom,cdc-vdd-digital-current = <5000>;
		qcom,cdc-on-demand-supplies = "cdc-vdd-digital";
	};

	cdc_dmic_gpios: cdc_dmic_pinctrl {
		compatible = "qcom,msm-cdc-pinctrl";
		pinctrl-names = "aud_active", "aud_sleep";
		pinctrl-0 = <&cdc_dmic12_gpios_active
			     &cdc_dmic34_gpios_active>;
		pinctrl-1 = <&cdc_dmic12_gpios_sleep
			     &cdc_dmic34_gpios_sleep>;
		qcom,lpi-gpios;
	};

	cdc_sdw_gpios: sdw_clk_data_pinctrl {
		compatible = "qcom,msm-cdc-pinctrl";
		pinctrl-names = "aud_active", "aud_sleep";
		pinctrl-0 = <&sdw_clk_active &sdw_data_active>;
		pinctrl-1 = <&sdw_clk_sleep &sdw_data_sleep>;
	};

	wsa_spkr_en1: wsa_spkr_en1_pinctrl {
		compatible = "qcom,msm-cdc-pinctrl";
		pinctrl-names = "aud_active", "aud_sleep";
		pinctrl-0 = <&spkr_1_sd_n_active>;
		pinctrl-1 = <&spkr_1_sd_n_sleep>;
	};

	wsa_spkr_en2: wsa_spkr_en2_pinctrl {
		compatible = "qcom,msm-cdc-pinctrl";
		pinctrl-names = "aud_active", "aud_sleep";
		pinctrl-0 = <&spkr_2_sd_n_active>;
		pinctrl-1 = <&spkr_2_sd_n_sleep>;
	};

	msm_sdw_codec: msm-sdw-codec@62ec1000 {
		status = "okay";
		compatible = "qcom,msm-sdw-codec";
		reg = <0x62ec1000 0x0>;
		interrupts = <0 88 0>;
		interrupt-names = "swr_master_irq";
		qcom,cdc-sdw-gpios = <&cdc_sdw_gpios>;

		swr_master {
			compatible = "qcom,swr-wcd";
			#address-cells = <2>;
			#size-cells = <0>;

			wsa881x_211_en: wsa881x_en@20170211 {
				compatible = "qcom,wsa881x";
				reg = <0x0 0x20170211>;
				qcom,spkr-sd-n-node = <&wsa_spkr_en1>;
			};

			wsa881x_212_en: wsa881x_en@20170212 {
				compatible = "qcom,wsa881x";
				reg = <0x0 0x20170212>;
				qcom,spkr-sd-n-node = <&wsa_spkr_en2>;
			};

			wsa881x_213_en: wsa881x_en@21170213 {
				compatible = "qcom,wsa881x";
				reg = <0x0 0x21170213>;
				qcom,spkr-sd-n-node = <&wsa_spkr_en1>;
			};

			wsa881x_214_en: wsa881x_en@21170214 {
				compatible = "qcom,wsa881x";
				reg = <0x0 0x21170214>;
				qcom,spkr-sd-n-node = <&wsa_spkr_en2>;
			};
		};
	};
};
+2 −1
Original line number Diff line number Diff line
/*
 * Copyright (c) 2017, The Linux Foundation. All rights reserved.
 * 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
@@ -21,6 +21,7 @@
#include <dt-bindings/interrupt-controller/arm-gic.h>

#include "qcs605-lc-mtp.dtsi"
#include "qcs605-lc-audio-overlay.dtsi"

/ {
	model = "Qualcomm Technologies, Inc. QC605 LC Groot + PM8005 MTP";
+1 −0
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@

#include "qcs605-lc.dtsi"
#include "qcs605-lc-mtp.dtsi"
#include "qcs605-lc-audio-overlay.dtsi"

/ {
	model = "Qualcomm Technologies, Inc. QC605 LC Groot + PM8005 MTP";
+4 −0
Original line number Diff line number Diff line
@@ -365,3 +365,7 @@
	vdd-supply = <&pm660_l6>;  /* 0.88v */
	core-supply = <&pm660_l2>; /* 1.2v */
};

&int_codec {
	/delete-property/ qcom,ext-disp-audio-rx;
};