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

Commit 7b2d18e8 authored by Charan Teja Reddy's avatar Charan Teja Reddy
Browse files

ARM: dts: msm: add the smmu dt nodes for msmfalcon



Add the SMMU device tree nodes that are used by the SMMU masters to
translate the I/O virtual address to physical address.

Change-Id: Iae33a17ba43f624052ac6591dc56af26b7a605c6
Signed-off-by: default avatarCharan Teja Reddy <charante@codeaurora.org>
parent fac2c0da
Loading
Loading
Loading
Loading
+204 −0
Original line number Diff line number Diff line
/* Copyright (c) 2016, 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/clock/qcom,gcc-msmfalcon.h>
#include <dt-bindings/clock/qcom,mmcc-msmfalcon.h>
#include <dt-bindings/clock/qcom,rpmcc.h>
#include <dt-bindings/msm/msm-bus-ids.h>
#include <dt-bindings/interrupt-controller/arm-gic.h>

&soc {
	anoc2_smmu: arm,smmu-anoc2@16c0000 {
		compatible = "qcom,smmu-v2";
		reg = <0x16c0000 0x40000>;
		#iommu-cells = <1>;
		qcom,register-save;
		qcom,skip-init;
		#global-interrupts = <2>;
		interrupts = <GIC_SPI 229 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 231 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 373 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 374 IRQ_TYPE_LEVEL_LOW>,
			     <GIC_SPI 375 IRQ_TYPE_LEVEL_LOW>,
			     <GIC_SPI 376 IRQ_TYPE_LEVEL_LOW>,
			     <GIC_SPI 377 IRQ_TYPE_LEVEL_LOW>,
			     <GIC_SPI 378 IRQ_TYPE_LEVEL_LOW>,
			     <GIC_SPI 462 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 463 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 464 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 465 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 466 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 467 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 353 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 354 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 355 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 356 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 357 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 358 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 359 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 360 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 442 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 443 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 444 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 447 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 468 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 469 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 472 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 473 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 474 IRQ_TYPE_LEVEL_HIGH>;
		clocks = <&clock_rpmcc RPM_AGGR2_NOC_CLK>;
		clock-names = "smmu_aggr2_noc_clk";
		#clock-cells = <1>;
	};

	lpass_q6_smmu: arm,smmu-lpass_q6@5100000 {
		status = "disabled";
		compatible = "qcom,smmu-v2";
		reg = <0x5100000 0x40000>;
		#iommu-cells = <1>;
		qcom,register-save;
		qcom,skip-init;
		#global-interrupts = <2>;
		interrupts = <GIC_SPI 229 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 231 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 226 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 393 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 394 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 395 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 396 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 397 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 398 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 399 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 400 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 401 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 402 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 403 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 224 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 225 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 310 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 404 IRQ_TYPE_LEVEL_HIGH>;
		vdd-supply = <&gdsc_hlos1_vote_lpass_adsp>;
		clocks = <&clock_gcc HLOS1_VOTE_LPASS_ADSP_SMMU_CLK>;
		clock-names = "lpass_q6_smmu_clk";
		#clock-cells = <1>;
	};

	mmss_bimc_smmu: arm,smmu-mmss@cd00000 {
		status = "disabled";
		compatible = "qcom,smmu-v2";
		reg = <0xcd00000 0x40000>;
		#iommu-cells = <1>;
		qcom,register-save;
		qcom,skip-init;
		#global-interrupts = <2>;
		interrupts = <GIC_SPI 229 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 231 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 263 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 266 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 267 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 268 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 244 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 245 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 247 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 248 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 249 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 250 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 251 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 252 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 253 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 254 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 255 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 260 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 261 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 262 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 272 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 273 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 274 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 275 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 276 IRQ_TYPE_LEVEL_HIGH>;
		vdd-supply = <&gdsc_bimc_smmu>;
		clocks = <&clock_mmss MMSS_MNOC_AHB_CLK>,
			 <&clock_gcc  MMSSNOC_AXI_CLK>,
			 <&clock_mmss MMSS_BIMC_SMMU_AHB_CLK>,
			 <&clock_mmss MMSS_BIMC_SMMU_AXI_CLK>;
		clock-names = "mmss_mnoc_ahb_clk",
			      "mmssnoc_axi_clk",
			      "mmss_bimc_smmu_ahb_clk",
			      "mmss_bimc_smmu_axi_clk";
		#clock-cells = <1>;
		qcom,bus-master-id = <MSM_BUS_MNOC_BIMC_MAS>;
	};

	kgsl_smmu: arm,smmu-kgsl@5040000 {
		status = "disabled";
		compatible = "qcom,smmu-v2";
		reg = <0x5040000 0x10000>;
		#iommu-cells = <1>;
		qcom,dynamic;
		qcom,register-save;
		qcom,skip-init;
		#global-interrupts = <2>;
		interrupts = <GIC_SPI 229 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 231 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 329 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 330 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 331 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 332 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 349 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 350 IRQ_TYPE_LEVEL_HIGH>;
		vdd-supply = <&gdsc_gpu_cx>;
		clocks = <&clock_gcc GCC_GPU_CFG_AHB_CLK>,
			 <&clock_gcc GCC_BIMC_GFX_CLK>,
			 <&clock_gcc GCC_GPU_BIMC_GFX_CLK>;
		clock-names = "gcc_gpu_cfg_ahb_clk",
			      "gcc_bimc_gfx_clk",
			      "gcc_gpu_bimc_gfx_clk";
		#clock-cells = <1>;
	};

	turing_q6_smmu: arm,smmu-turing_q6@5180000 {
		status = "disabled";
		compatible = "qcom,smmu-v2";
		reg = <0x5180000 0x40000>;
		#iommu-cells = <1>;
		qcom,register-save;
		qcom,skip-init;
		#global-interrupts = <2>;
		interrupts = <GIC_SPI 229 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 231 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 533 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 534 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 535 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 536 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 537 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 538 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 539 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 540 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 541 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 542 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 543 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 544 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 545 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 546 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 547 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 548 IRQ_TYPE_LEVEL_HIGH>,
			     <GIC_SPI 549 IRQ_TYPE_LEVEL_HIGH>;
		vdd-supply = <&gdsc_hlos1_vote_turing_adsp>;
		clocks = <&clock_gcc HLOS1_VOTE_TURING_ADSP_SMMU_CLK>;
		clock-names = "turing_q6_smmu_clk";
		#clock-cells = <1>;
	};
};
+1 −0
Original line number Diff line number Diff line
@@ -760,3 +760,4 @@

#include "msm-pmfalcon.dtsi"
#include "msm-pm2falcon.dtsi"
#include "msm-arm-smmu-falcon.dtsi"