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

Commit c558cd65 authored by qctecmdr's avatar qctecmdr Committed by Gerrit - the friendly Code Review server
Browse files

Merge "ARM: dts: msm: add gpr and gecko drivers to DT"

parents 5b7a640d 3719ec27
Loading
Loading
Loading
Loading
+116 −0
Original line number Diff line number Diff line
@@ -18,6 +18,10 @@
};

&soc {
	gecko_core_platform: gecko_core_platform {
		compatible = "qcom,gecko-core-platform";
	};

	tdm_pri_rx: qcom,msm-dai-tdm-pri-rx {
		compatible = "qcom,msm-dai-tdm";
		qcom,msm-cpudai-tdm-group-id = <37120>;
@@ -596,6 +600,118 @@ qcom,msm-dai-q6 {
	};
};

&gecko_core_platform {
	msm_gecko_ion: qcom,msm-audio-ion {
	   compatible = "qcom,msm-audio-ion";
	   qcom,smmu-version = <2>;
	   qcom,smmu-enabled;
	   iommus = <&apps_smmu 0x1b21 0x0>;
	};

	sound-adp-star {
		compatible = "qcom,sa8155-gecko-asoc-snd-adp-star";
		qcom,model = "sa8155-adp-star-gecko-snd-card";
		qcom,mi2s-audio-intf;
		qcom,auxpcm-audio-intf;
		qcom,msm-mi2s-master = <1>, <1>, <1>, <1>, <1>;

		qcom,sec-tdm-gpios = <&tdm_sec_rx>;
		qcom,tert-tdm-gpios = <&tdm_tert_rx>;
		qcom,quat-tdm-gpios = <&tdm_quat_rx>;
		qcom,quin-tdm-gpios = <&tdm_quin_rx>;

		asoc-platform = <&pcm0>, <&pcm1>, <&pcm2>, <&voip>, <&voice>,
				<&loopback>, <&compress>, <&hostless>,
				<&afe>, <&lsm>, <&routing>, <&compr>,
				<&pcm_noirq>, <&loopback1>, <&pcm_dtmf>;
		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-compr-dsp",
				"msm-pcm-dsp-noirq", "msm-pcm-loopback.1",
				"msm-pcm-dtmf";
		asoc-cpu = <&dai_hdmi>, <&dai_dp>,
				<&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>,
				<&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_rx_1>,
				<&dai_pri_tdm_rx_2>, <&dai_pri_tdm_rx_3>,
				<&dai_pri_tdm_tx_0>, <&dai_pri_tdm_tx_1>,
				<&dai_pri_tdm_tx_2>, <&dai_pri_tdm_tx_3>,
				<&dai_sec_tdm_rx_0>, <&dai_sec_tdm_rx_1>,
				<&dai_sec_tdm_rx_2>, <&dai_sec_tdm_rx_3>,
				<&dai_sec_tdm_rx_7>, <&dai_sec_tdm_tx_0>,
				<&dai_sec_tdm_tx_1>, <&dai_sec_tdm_tx_2>,
				<&dai_sec_tdm_tx_3>, <&dai_tert_tdm_rx_0>,
				<&dai_tert_tdm_rx_1>, <&dai_tert_tdm_rx_2>,
				<&dai_tert_tdm_rx_3>, <&dai_tert_tdm_rx_4>,
				<&dai_tert_tdm_tx_0>, <&dai_tert_tdm_tx_1>,
				<&dai_tert_tdm_tx_2>, <&dai_tert_tdm_tx_3>,
				<&dai_tert_tdm_tx_7>, <&dai_quat_tdm_rx_0>,
				<&dai_quat_tdm_rx_1>, <&dai_quat_tdm_rx_2>,
				<&dai_quat_tdm_rx_3>, <&dai_quat_tdm_rx_7>,
				<&dai_quat_tdm_tx_0>, <&dai_quat_tdm_tx_1>,
				<&dai_quat_tdm_tx_2>, <&dai_quat_tdm_tx_3>,
				<&dai_quat_tdm_tx_7>, <&dai_quin_tdm_rx_0>,
				<&dai_quin_tdm_rx_1>, <&dai_quin_tdm_rx_2>,
				<&dai_quin_tdm_rx_3>, <&dai_quin_tdm_rx_7>,
				<&dai_quin_tdm_tx_0>, <&dai_quin_tdm_tx_1>,
				<&dai_quin_tdm_tx_2>, <&dai_quin_tdm_tx_3>,
				<&dai_quin_tdm_tx_7>;
		asoc-cpu-names = "msm-dai-q6-hdmi.8",  "msm-dai-q6-dp.24608",
				"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.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.36866",
				"msm-dai-q6-tdm.36868", "msm-dai-q6-tdm.36870",
				"msm-dai-q6-tdm.36865", "msm-dai-q6-tdm.36867",
				"msm-dai-q6-tdm.36869", "msm-dai-q6-tdm.36871",
				"msm-dai-q6-tdm.36880", "msm-dai-q6-tdm.36882",
				"msm-dai-q6-tdm.36884", "msm-dai-q6-tdm.36886",
				"msm-dai-q6-tdm.36894", "msm-dai-q6-tdm.36881",
				"msm-dai-q6-tdm.36883", "msm-dai-q6-tdm.36885",
				"msm-dai-q6-tdm.36887", "msm-dai-q6-tdm.36896",
				"msm-dai-q6-tdm.36898", "msm-dai-q6-tdm.36900",
				"msm-dai-q6-tdm.36902", "msm-dai-q6-tdm.36904",
				"msm-dai-q6-tdm.36897", "msm-dai-q6-tdm.36899",
				"msm-dai-q6-tdm.36901", "msm-dai-q6-tdm.36903",
				"msm-dai-q6-tdm.36911", "msm-dai-q6-tdm.36912",
				"msm-dai-q6-tdm.36914", "msm-dai-q6-tdm.36916",
				"msm-dai-q6-tdm.36918", "msm-dai-q6-tdm.36926",
				"msm-dai-q6-tdm.36913", "msm-dai-q6-tdm.36915",
				"msm-dai-q6-tdm.36917", "msm-dai-q6-tdm.36919",
				"msm-dai-q6-tdm.36927", "msm-dai-q6-tdm.36928",
				"msm-dai-q6-tdm.36930", "msm-dai-q6-tdm.36932",
				"msm-dai-q6-tdm.36934", "msm-dai-q6-tdm.36942",
				"msm-dai-q6-tdm.36929", "msm-dai-q6-tdm.36931",
				"msm-dai-q6-tdm.36933", "msm-dai-q6-tdm.36935",
				"msm-dai-q6-tdm.36943";
		asoc-codec = <&stub_codec>;
		asoc-codec-names = "msm-stub-codec.1";
	};
};

&msm_gecko_ion {
	iommus = <&apps_smmu 0x1b21 0x0>;
	qcom,smmu-sid-mask = /bits/ 64 <0xf>;
};

&qupv3_se4_i2c {
	status = "disabled";
};
+21 −0
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@
#include <dt-bindings/clock/qcom,cpucc-sm8150.h>
#include <dt-bindings/clock/qcom,npucc-sm8150.h>
#include <dt-bindings/clock/qcom,rpmh.h>
#include <dt-bindings/sound/qcom,gpr.h>
#include <dt-bindings/clock/qcom,aop-qmp.h>
#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
#include <dt-bindings/interrupt-controller/arm-gic.h>
@@ -2737,6 +2738,26 @@
				qcom,intents = <0x200 20>;
			};

			qcom,gpr {
				compatible = "qcom,gpr";
				qcom,glink-channels = "to_apps";
				qcom,intents = <0x200 20>;
				reg = <GPR_DOMAIN_ADSP>;
				gecko_core {
					compatible = "qcom,gecko_core";
					reg = <GPR_SVC_ADSP_CORE>;
				};
				audio-pkt {
					compatible = "qcom,audio-pkt";
					qcom,audiopkt-ch-name = "apr_audio_svc";
					reg = <GPR_SVC_MAX>;
				};
				q6prm {
					compatible = "qcom,q6prm";
					reg = <GPR_SVC_ASM>;
				};
			};

			qcom,msm_fastrpc_rpmsg {
				compatible = "qcom,msm-fastrpc-rpmsg";
				qcom,glink-channels = "fastrpcglink-apps-dsp";
+39 −0
Original line number Diff line number Diff line
/* Copyright (c) 2020, 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.
 */

#ifndef __DT_BINDINGS_QCOM_GPR_H
#define __DT_BINDINGS_QCOM_GPR_H

/* Domain IDs */
#define GPR_DOMAIN_SIM           0x1
#define GPR_DOMAIN_PC            0x2
#define GPR_DOMAIN_MODEM         0x3
#define GPR_DOMAIN_ADSP          0x4
#define GPR_DOMAIN_APPS          0x5
#define GPR_DOMAIN_MAX           0x6

/* ADSP service IDs */
#define GPR_SVC_ADSP_CORE        0x3
#define GPR_SVC_AFE              0x4
#define GPR_SVC_VSM              0x5
#define GPR_SVC_VPM              0x6
#define GPR_SVC_ASM              0x7
#define GPR_SVC_ADM              0x8
#define GPR_SVC_ADSP_MVM         0x09
#define GPR_SVC_ADSP_CVS         0x0A
#define GPR_SVC_ADSP_CVP         0x0B
#define GPR_SVC_USM              0x0C
#define GPR_SVC_LSM              0x0D
#define GPR_SVC_VIDC             0x16
#define GPR_SVC_MAX              0x17

#endif /* __DT_BINDINGS_QCOM_GPR_H */
+12 −0
Original line number Diff line number Diff line
@@ -452,6 +452,18 @@ struct spi_device_id {
	kernel_ulong_t driver_data;	/* Data private to the driver */
};

/* gpr */
#define GPR_NAME_SIZE	32
#define GPR_MODULE_PREFIX "gpr:"

struct gpr_device_id {
	char name[GPR_NAME_SIZE];
	__u32 domain_id;
	__u32 svc_id;
	__u32 svc_version;
	kernel_ulong_t driver_data;	/* Data private to the driver */
};

#define SPMI_NAME_SIZE	32
#define SPMI_MODULE_PREFIX "spmi:"