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

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

Merge "ARM: dts: msm: add support for SMP2P shutdown ack from modem"

parents 1f6ecf96 c043315f
Loading
Loading
Loading
Loading
+132 −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.
 */

#include <dt-bindings/interrupt-controller/arm-gic.h>

&soc {
	qcom,smp2p-modem@17811008 {
		compatible = "qcom,smp2p";
		reg = <0x17811008 0x4>;
		qcom,remote-pid = <1>;
		qcom,irq-bitmask = <0x4000>;
		interrupts = <GIC_SPI 113 IRQ_TYPE_EDGE_RISING>;
	};

	smp2pgpio_smp2p_15_in: qcom,smp2pgpio-smp2p-15-in {
		compatible = "qcom,smp2pgpio";
		qcom,entry-name = "smp2p";
		qcom,remote-pid = <15>;
		qcom,is-inbound;
		gpio-controller;
		#gpio-cells = <2>;
		interrupt-controller;
		#interrupt-cells = <2>;
	};

	qcom,smp2pgpio_test_smp2p_15_in {
		compatible = "qcom,smp2pgpio_test_smp2p_15_in";
		gpios = <&smp2pgpio_smp2p_15_in 0 0>;
	};

	smp2pgpio_smp2p_15_out: qcom,smp2pgpio-smp2p-15-out {
		compatible = "qcom,smp2pgpio";
		qcom,entry-name = "smp2p";
		qcom,remote-pid = <15>;
		gpio-controller;
		#gpio-cells = <2>;
		interrupt-controller;
		#interrupt-cells = <2>;
	};

	qcom,smp2pgpio_test_smp2p_15_out {
		compatible = "qcom,smp2pgpio_test_smp2p_15_out";
		gpios = <&smp2pgpio_smp2p_15_out 0 0>;
	};

	smp2pgpio_smp2p_1_in: qcom,smp2pgpio-smp2p-1-in {
		compatible = "qcom,smp2pgpio";
		qcom,entry-name = "smp2p";
		qcom,remote-pid = <1>;
		qcom,is-inbound;
		gpio-controller;
		#gpio-cells = <2>;
		interrupt-controller;
		#interrupt-cells = <2>;
	};

	qcom,smp2pgpio_test_smp2p_1_in {
		compatible = "qcom,smp2pgpio_test_smp2p_1_in";
		gpios = <&smp2pgpio_smp2p_1_in 0 0>;
	};

	smp2pgpio_smp2p_1_out: qcom,smp2pgpio-smp2p-1-out {
		compatible = "qcom,smp2pgpio";
		qcom,entry-name = "smp2p";
		qcom,remote-pid = <1>;
		gpio-controller;
		#gpio-cells = <2>;
		interrupt-controller;
		#interrupt-cells = <2>;
	};

	qcom,smp2pgpio_test_smp2p_1_out {
		compatible = "qcom,smp2pgpio_test_smp2p_1_out";
		gpios = <&smp2pgpio_smp2p_1_out 0 0>;
	};

	/* ssr - inbound entry from mss */
	smp2pgpio_ssr_smp2p_1_in: qcom,smp2pgpio-ssr-smp2p-1-in {
		compatible = "qcom,smp2pgpio";
		qcom,entry-name = "slave-kernel";
		qcom,remote-pid = <1>;
		qcom,is-inbound;
		gpio-controller;
		#gpio-cells = <2>;
		interrupt-controller;
		#interrupt-cells = <2>;
	};

	/* ssr - outbound entry to mss */
	smp2pgpio_ssr_smp2p_1_out: qcom,smp2pgpio-ssr-smp2p-1-out {
		compatible = "qcom,smp2pgpio";
		qcom,entry-name = "master-kernel";
		qcom,remote-pid = <1>;
		gpio-controller;
		#gpio-cells = <2>;
		interrupt-controller;
		#interrupt-cells = <2>;
	};

	/* ipa - outbound entry to mss */
	smp2pgpio_ipa_1_out: qcom,smp2pgpio-ipa-1-out {
		compatible = "qcom,smp2pgpio";
		qcom,entry-name = "ipa";
		qcom,remote-pid = <1>;
		gpio-controller;
		#gpio-cells = <2>;
		interrupt-controller;
		#interrupt-cells = <2>;
	};

	/* ipa - inbound entry from mss */
	smp2pgpio_ipa_1_in: qcom,smp2pgpio-ipa-1-in {
		compatible = "qcom,smp2pgpio";
		qcom,entry-name = "ipa";
		qcom,remote-pid = <1>;
		qcom,is-inbound;
		gpio-controller;
		#gpio-cells = <2>;
		interrupt-controller;
		#interrupt-cells = <2>;
	};
};
+11 −0
Original line number Diff line number Diff line
@@ -480,6 +480,16 @@
		qcom,smem-states = <&modem_smp2p_out 0>;
		qcom,smem-state-names = "qcom,force-stop";

		/* GPIO intput to mss */
		qcom,gpio-err-fatal = <&smp2pgpio_ssr_smp2p_1_in 0 0>;
		qcom,gpio-err-ready = <&smp2pgpio_ssr_smp2p_1_in 1 0>;
		qcom,gpio-proxy-unvote = <&smp2pgpio_ssr_smp2p_1_in 2 0>;
		qcom,gpio-stop-ack = <&smp2pgpio_ssr_smp2p_1_in 3 0>;
		qcom,gpio-shutdown-ack = <&smp2pgpio_ssr_smp2p_1_in 7 0>;

		/* GPIO output to mss */
		qcom,gpio-force-stop = <&smp2pgpio_ssr_smp2p_1_out 0 0>;

		status = "ok";
	};

@@ -1619,6 +1629,7 @@
#include "sdxprairie-aqc.dtsi"
#include "sdxprairie-thermal.dtsi"
#include "sdxprairie-qcom-smmu.dtsi"
#include "sdxprairie-smp2p.dtsi"

&gdsc_usb30 {
	status = "ok";