File Index
Files and directories
Sign in
FILE

msm8917.dtsi

File preview with syntax highlighting.

linux-6.19.14/arch/arm64/boot/dts/qcom/msm8917.dtsi DEVICETREE
   1// SPDX-License-Identifier: GPL-2.0-only
   2
   3#include <dt-bindings/clock/qcom,dsi-phy-28nm.h>
   4#include <dt-bindings/clock/qcom,gcc-msm8917.h>
   5#include <dt-bindings/clock/qcom,rpmcc.h>
   6#include <dt-bindings/interrupt-controller/arm-gic.h>
   7#include <dt-bindings/power/qcom-rpmpd.h>
   8#include <dt-bindings/thermal/thermal.h>
   9
  10/ {
  11	interrupt-parent = <&intc>;
  12
  13	#address-cells = <2>;
  14	#size-cells = <2>;
  15
  16	chosen { };
  17
  18	clocks {
  19		sleep_clk: sleep-clk {
  20			compatible = "fixed-clock";
  21			#clock-cells = <0>;
  22		};
  23
  24		xo_board: xo-board {
  25			compatible = "fixed-clock";
  26			#clock-cells = <0>;
  27		};
  28	};
  29
  30	cpus {
  31		#address-cells = <1>;
  32		#size-cells = <0>;
  33
  34		cpu0: cpu@100 {
  35			compatible = "arm,cortex-a53";
  36			reg = <0x100>;
  37			device_type = "cpu";
  38			next-level-cache = <&l2_0>;
  39			enable-method = "psci";
  40			clocks = <&apcs>;
  41			operating-points-v2 = <&cpu_opp_table>;
  42			#cooling-cells = <2>;
  43			power-domains = <&cpu_pd0>;
  44			power-domain-names = "psci";
  45
  46			l2_0: l2-cache {
  47				compatible = "cache";
  48				cache-level = <2>;
  49				cache-unified;
  50			};
  51		};
  52
  53		cpu1: cpu@101 {
  54			compatible = "arm,cortex-a53";
  55			reg = <0x101>;
  56			device_type = "cpu";
  57			next-level-cache = <&l2_0>;
  58			enable-method = "psci";
  59			clocks = <&apcs>;
  60			operating-points-v2 = <&cpu_opp_table>;
  61			#cooling-cells = <2>;
  62			power-domains = <&cpu_pd1>;
  63			power-domain-names = "psci";
  64		};
  65
  66		cpu2: cpu@102 {
  67			compatible = "arm,cortex-a53";
  68			reg = <0x102>;
  69			device_type = "cpu";
  70			next-level-cache = <&l2_0>;
  71			enable-method = "psci";
  72			clocks = <&apcs>;
  73			operating-points-v2 = <&cpu_opp_table>;
  74			#cooling-cells = <2>;
  75			power-domains = <&cpu_pd2>;
  76			power-domain-names = "psci";
  77		};
  78
  79		cpu3: cpu@103 {
  80			compatible = "arm,cortex-a53";
  81			reg = <0x103>;
  82			device_type = "cpu";
  83			next-level-cache = <&l2_0>;
  84			enable-method = "psci";
  85			clocks = <&apcs>;
  86			operating-points-v2 = <&cpu_opp_table>;
  87			#cooling-cells = <2>;
  88			power-domains = <&cpu_pd3>;
  89			power-domain-names = "psci";
  90		};
  91
  92		cpu-map {
  93			cluster0 {
  94				core0 {
  95					cpu = <&cpu0>;
  96				};
  97
  98				core1 {
  99					cpu = <&cpu1>;
 100				};
 101
 102				core2 {
 103					cpu = <&cpu2>;
 104				};
 105
 106				core3 {
 107					cpu = <&cpu3>;
 108				};
 109			};
 110		};
 111
 112		domain-idle-states {
 113			cluster_sleep_0: cluster-sleep-0 {
 114				compatible = "domain-idle-state";
 115				arm,psci-suspend-param = <0x41000053>;
 116				entry-latency-us = <700>;
 117				exit-latency-us = <1000>;
 118				min-residency-us = <6500>;
 119			};
 120		};
 121
 122		idle-states {
 123			entry-method = "psci";
 124
 125			cpu_sleep_0: cpu-sleep-0 {
 126				compatible = "arm,idle-state";
 127				idle-state-name = "standalone-power-collapse";
 128				arm,psci-suspend-param = <0x40000003>;
 129				entry-latency-us = <125>;
 130				exit-latency-us = <180>;
 131				min-residency-us = <595>;
 132				local-timer-stop;
 133			};
 134		};
 135
 136		cpu_opp_table: opp-table-cpu {
 137			compatible = "operating-points-v2";
 138			opp-shared;
 139
 140			opp-960000000 {
 141				opp-hz = /bits/ 64 <960000000>;
 142			};
 143
 144			opp-1094400000 {
 145				opp-hz = /bits/ 64 <1094400000>;
 146			};
 147
 148			opp-1248000000 {
 149				opp-hz = /bits/ 64 <1248000000>;
 150			};
 151
 152			opp-1401600000 {
 153				opp-hz = /bits/ 64 <1401600000>;
 154			};
 155		};
 156	};
 157
 158	firmware {
 159		scm: scm {
 160			compatible = "qcom,scm-msm8916", "qcom,scm";
 161			clocks = <&gcc GCC_CRYPTO_CLK>,
 162				 <&gcc GCC_CRYPTO_AXI_CLK>,
 163				 <&gcc GCC_CRYPTO_AHB_CLK>;
 164			clock-names = "core", "bus", "iface";
 165			#reset-cells = <1>;
 166
 167			qcom,dload-mode = <&tcsr 0x6100>;
 168		};
 169	};
 170
 171	memory@80000000 {
 172		/* We expect the bootloader to fill in the reg */
 173		reg = <0 0x80000000 0 0>;
 174		device_type = "memory";
 175	};
 176
 177	pmu {
 178		compatible = "arm,cortex-a53-pmu";
 179		interrupts = <GIC_PPI 7 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
 180	};
 181
 182	psci {
 183		compatible = "arm,psci-1.0";
 184		method = "smc";
 185
 186		cluster_pd: power-domain-cluster {
 187			#power-domain-cells = <0>;
 188			domain-idle-states = <&cluster_sleep_0>;
 189		};
 190
 191		cpu_pd0: power-domain-cpu0 {
 192			#power-domain-cells = <0>;
 193			power-domains = <&cluster_pd>;
 194			domain-idle-states = <&cpu_sleep_0>;
 195		};
 196
 197		cpu_pd1: power-domain-cpu1 {
 198			#power-domain-cells = <0>;
 199			power-domains = <&cluster_pd>;
 200			domain-idle-states = <&cpu_sleep_0>;
 201		};
 202
 203		cpu_pd2: power-domain-cpu2 {
 204			#power-domain-cells = <0>;
 205			power-domains = <&cluster_pd>;
 206			domain-idle-states = <&cpu_sleep_0>;
 207		};
 208
 209		cpu_pd3: power-domain-cpu3 {
 210			#power-domain-cells = <0>;
 211			power-domains = <&cluster_pd>;
 212			domain-idle-states = <&cpu_sleep_0>;
 213		};
 214	};
 215
 216	rpm: remoteproc {
 217		compatible = "qcom,msm8917-rpm-proc", "qcom,rpm-proc";
 218
 219		smd-edge {
 220			interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>;
 221			qcom,ipc = <&apcs 8 0>;
 222			qcom,smd-edge = <15>;
 223
 224			rpm_requests: rpm-requests {
 225				compatible = "qcom,rpm-msm8917", "qcom,smd-rpm";
 226				qcom,smd-channels = "rpm_requests";
 227
 228				rpmcc: clock-controller {
 229					compatible = "qcom,rpmcc-msm8917", "qcom,rpmcc";
 230					#clock-cells = <1>;
 231					clocks = <&xo_board>;
 232					clock-names = "xo";
 233				};
 234
 235				rpmpd: power-controller {
 236					compatible = "qcom,msm8917-rpmpd";
 237					#power-domain-cells = <1>;
 238					operating-points-v2 = <&rpmpd_opp_table>;
 239
 240					rpmpd_opp_table: opp-table {
 241						compatible = "operating-points-v2";
 242
 243						rpmpd_opp_ret: opp1 {
 244							opp-level = <RPM_SMD_LEVEL_RETENTION>;
 245						};
 246
 247						rpmpd_opp_ret_plus: opp2 {
 248							opp-level = <RPM_SMD_LEVEL_RETENTION_PLUS>;
 249						};
 250
 251						rpmpd_opp_min_svs: opp3 {
 252							opp-level = <RPM_SMD_LEVEL_MIN_SVS>;
 253						};
 254
 255						rpmpd_opp_low_svs: opp4 {
 256							opp-level = <RPM_SMD_LEVEL_LOW_SVS>;
 257						};
 258
 259						rpmpd_opp_svs: opp5 {
 260							opp-level = <RPM_SMD_LEVEL_SVS>;
 261						};
 262
 263						rpmpd_opp_svs_plus: opp6 {
 264							opp-level = <RPM_SMD_LEVEL_SVS_PLUS>;
 265						};
 266
 267						rpmpd_opp_nom: opp7 {
 268							opp-level = <RPM_SMD_LEVEL_NOM>;
 269						};
 270
 271						rpmpd_opp_nom_plus: opp8 {
 272							opp-level = <RPM_SMD_LEVEL_NOM_PLUS>;
 273						};
 274
 275						rpmpd_opp_turbo: opp9 {
 276							opp-level = <RPM_SMD_LEVEL_TURBO>;
 277						};
 278					};
 279				};
 280			};
 281		};
 282	};
 283
 284	reserved-memory {
 285		ranges;
 286		#address-cells = <2>;
 287		#size-cells = <2>;
 288
 289		qseecom_mem: qseecom@85b00000 {
 290			reg = <0x0 0x85b00000 0x0 0x800000>;
 291			no-map;
 292		};
 293
 294		smem@86300000 {
 295			compatible = "qcom,smem";
 296			reg = <0x0 0x86300000 0x0 0x100000>;
 297			no-map;
 298
 299			hwlocks = <&tcsr_mutex 3>;
 300			qcom,rpm-msg-ram = <&rpm_msg_ram>;
 301		};
 302
 303		reserved@86400000 {
 304			reg = <0x0 0x86400000 0x0 0x400000>;
 305			no-map;
 306		};
 307
 308		rmtfs@92100000 {
 309			compatible = "qcom,rmtfs-mem";
 310			reg = <0x0 0x92100000 0x0 0x180000>;
 311			no-map;
 312
 313			qcom,client-id = <1>;
 314		};
 315
 316		adsp_mem: adsp {
 317			size = <0x0 0x1100000>;
 318			alignment = <0x0 0x100000>;
 319			alloc-ranges = <0x0 0x86800000 0x0 0x8000000>;
 320			no-map;
 321			status = "disabled";
 322		};
 323
 324		mba_mem: mba {
 325			size = <0x0 0x100000>;
 326			alignment = <0x0 0x100000>;
 327			alloc-ranges = <0x0 0x86800000 0x0 0x8000000>;
 328			no-map;
 329			status = "disabled";
 330		};
 331
 332		venus_mem: venus {
 333			size = <0x0 0x400000>;
 334			alignment = <0x0 0x100000>;
 335			alloc-ranges = <0x0 0x86800000 0x0 0x8000000>;
 336			no-map;
 337			status = "disabled";
 338		};
 339
 340		wcnss_mem: wcnss {
 341			size = <0x0 0x700000>;
 342			alignment = <0x0 0x100000>;
 343			alloc-ranges = <0x0 0x86800000 0x0 0x8000000>;
 344			no-map;
 345			status = "disabled";
 346		};
 347	};
 348
 349	smp2p-adsp {
 350		compatible = "qcom,smp2p";
 351		qcom,smem = <443>, <429>;
 352
 353		interrupts = <GIC_SPI 291 IRQ_TYPE_EDGE_RISING>;
 354
 355		mboxes = <&apcs 10>;
 356
 357		qcom,local-pid = <0>;
 358		qcom,remote-pid = <2>;
 359
 360		adsp_smp2p_out: master-kernel {
 361			qcom,entry-name = "master-kernel";
 362
 363			#qcom,smem-state-cells = <1>;
 364		};
 365
 366		adsp_smp2p_in: slave-kernel {
 367			qcom,entry-name = "slave-kernel";
 368
 369			interrupt-controller;
 370			#interrupt-cells = <2>;
 371		};
 372	};
 373
 374	smp2p-modem {
 375		compatible = "qcom,smp2p";
 376		qcom,smem = <435>, <428>;
 377
 378		interrupts = <GIC_SPI 27 IRQ_TYPE_EDGE_RISING>;
 379
 380		mboxes = <&apcs 14>;
 381
 382		qcom,local-pid = <0>;
 383		qcom,remote-pid = <1>;
 384
 385		modem_smp2p_out: master-kernel {
 386			qcom,entry-name = "master-kernel";
 387
 388			#qcom,smem-state-cells = <1>;
 389		};
 390
 391		modem_smp2p_in: slave-kernel {
 392			qcom,entry-name = "slave-kernel";
 393
 394			interrupt-controller;
 395			#interrupt-cells = <2>;
 396		};
 397	};
 398
 399	smp2p-wcnss {
 400		compatible = "qcom,smp2p";
 401		qcom,smem = <451>, <431>;
 402
 403		interrupts = <GIC_SPI 143 IRQ_TYPE_EDGE_RISING>;
 404
 405		mboxes = <&apcs 18>;
 406
 407		qcom,local-pid = <0>;
 408		qcom,remote-pid = <4>;
 409
 410		wcnss_smp2p_out: master-kernel {
 411			qcom,entry-name = "master-kernel";
 412
 413			#qcom,smem-state-cells = <1>;
 414		};
 415
 416		wcnss_smp2p_in: slave-kernel {
 417			qcom,entry-name = "slave-kernel";
 418
 419			interrupt-controller;
 420			#interrupt-cells = <2>;
 421		};
 422	};
 423
 424	smsm {
 425		compatible = "qcom,smsm";
 426
 427		#address-cells = <1>;
 428		#size-cells = <0>;
 429
 430		mboxes = <0>, <&apcs 13>, <0>, <&apcs 19>;
 431
 432		apps_smsm: apps@0 {
 433			reg = <0>;
 434
 435			#qcom,smem-state-cells = <1>;
 436		};
 437
 438		hexagon_smsm: hexagon@1 {
 439			reg = <1>;
 440			interrupts = <GIC_SPI 26 IRQ_TYPE_EDGE_RISING>;
 441
 442			interrupt-controller;
 443			#interrupt-cells = <2>;
 444		};
 445
 446		wcnss_smsm: wcnss@6 {
 447			reg = <6>;
 448			interrupts = <GIC_SPI 144 IRQ_TYPE_EDGE_RISING>;
 449
 450			interrupt-controller;
 451			#interrupt-cells = <2>;
 452		};
 453	};
 454
 455	soc: soc@0 {
 456		compatible = "simple-bus";
 457		ranges = <0 0 0 0xffffffff>;
 458		#address-cells = <1>;
 459		#size-cells = <1>;
 460
 461		rpm_msg_ram: sram@60000 {
 462			compatible = "qcom,rpm-msg-ram";
 463			reg = <0x00060000 0x8000>;
 464		};
 465
 466		usb_hs_phy: phy@6c000 {
 467			compatible = "qcom,usb-hs-28nm-femtophy";
 468			reg = <0x0006c000 0x200>;
 469			#phy-cells = <0>;
 470			clocks = <&xo_board>,
 471				 <&gcc GCC_USB_HS_PHY_CFG_AHB_CLK>,
 472				 <&gcc GCC_USB2A_PHY_SLEEP_CLK>;
 473			clock-names = "ref", "ahb", "sleep";
 474			resets = <&gcc GCC_QUSB2_PHY_BCR>,
 475				 <&gcc GCC_USB2_HS_PHY_ONLY_BCR>;
 476			reset-names = "phy", "por";
 477			status = "disabled";
 478		};
 479
 480		qfprom: qfprom@a4000 {
 481			compatible = "qcom,msm8917-qfprom", "qcom,qfprom";
 482			reg = <0x000a4000 0x1000>;
 483			#address-cells = <1>;
 484			#size-cells = <1>;
 485
 486			tsens_base1: base1@1d8 {
 487				reg = <0x1d8 1>;
 488				bits = <0 8>;
 489			};
 490
 491			tsens_s5_p1: s5-p1@1d9 {
 492				reg = <0x1d9 1>;
 493				bits = <0 6>;
 494			};
 495
 496			tsens_s5_p2: s5-p2@1d9 {
 497				reg = <0x1d9 2>;
 498				bits = <6 6>;
 499			};
 500
 501			tsens_s6_p1: s6-p1@1da {
 502				reg = <0x1da 2>;
 503				bits = <4 6>;
 504			};
 505
 506			tsens_s6_p2: s6-p2@1db {
 507				reg = <0x1db 1>;
 508				bits = <2 6>;
 509			};
 510
 511			tsens_s7_p1: s7-p1@1dc {
 512				reg = <0x1dc 1>;
 513				bits = <0 6>;
 514			};
 515
 516			tsens_s7_p2: s7-p2@1dc {
 517				reg = <0x1dc 2>;
 518				bits = <6 6>;
 519			};
 520
 521			tsens_s8_p1: s8-p1@1dd {
 522				reg = <0x1dd 2>;
 523				bits = <4 6>;
 524			};
 525
 526			tsens_s8_p2: s8-p2@1de {
 527				reg = <0x1de 1>;
 528				bits = <2 6>;
 529			};
 530
 531			tsens_base2: base2@1df {
 532				reg = <0x1df 1>;
 533				bits = <0 8>;
 534			};
 535
 536			tsens_mode: mode@210 {
 537				reg = <0x210 1>;
 538				bits = <0 3>;
 539			};
 540
 541			tsens_s0_p1: s0-p1@210 {
 542				reg = <0x210 2>;
 543				bits = <3 6>;
 544			};
 545
 546			tsens_s0_p2: s0-p2@211 {
 547				reg = <0x211 1>;
 548				bits = <1 6>;
 549			};
 550
 551			tsens_s1_p1: s1-p1@211 {
 552				reg = <0x211 2>;
 553				bits = <7 6>;
 554			};
 555
 556			tsens_s1_p2: s1-p2@212 {
 557				reg = <0x212 2>;
 558				bits = <5 6>;
 559			};
 560
 561			tsens_s2_p1: s2-p1@213 {
 562				reg = <0x213 2>;
 563				bits = <3 6>;
 564			};
 565
 566			tsens_s2_p2: s2-p2@214 {
 567				reg = <0x214 1>;
 568				bits = <1 6>;
 569			};
 570
 571			tsens_s3_p1: s3-p1@214 {
 572				reg = <0x214 2>;
 573				bits = <7 6>;
 574			};
 575
 576			tsens_s3_p2: s3-p2@215 {
 577				reg = <0x215 2>;
 578				bits = <5 6>;
 579			};
 580
 581			tsens_s4_p1: s4-p1@216 {
 582				reg = <0x216 2>;
 583				bits = <3 6>;
 584			};
 585
 586			tsens_s4_p2: s4-p2@217 {
 587				reg = <0x217 1>;
 588				bits = <1 6>;
 589			};
 590
 591			tsens_s9_p1: s9-p1@230 {
 592				reg = <0x230 1>;
 593				bits = <0 6>;
 594			};
 595
 596			tsens_s9_p2: s9-p2@230 {
 597				reg = <0x230 2>;
 598				bits = <6 6>;
 599			};
 600
 601			tsens_s10_p1: s10-p1@231 {
 602				reg = <0x231 2>;
 603				bits = <4 6>;
 604			};
 605
 606			tsens_s10_p2: s10-p2@232 {
 607				reg = <0x232 1>;
 608				bits = <2 6>;
 609			};
 610		};
 611
 612		rng@e3000 {
 613			compatible = "qcom,prng";
 614			reg = <0x000e3000 0x1000>;
 615			clocks = <&gcc GCC_PRNG_AHB_CLK>;
 616			clock-names = "core";
 617		};
 618
 619		tsens: thermal-sensor@4a9000 {
 620			compatible = "qcom,msm8937-tsens", "qcom,tsens-v1";
 621			reg = <0x004a9000 0x1000>,
 622			      <0x004a8000 0x1000>;
 623			interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>;
 624			interrupt-names = "uplow";
 625			nvmem-cells = <&tsens_mode>,
 626				      <&tsens_base1>, <&tsens_base2>,
 627				      <&tsens_s0_p1>, <&tsens_s0_p2>,
 628				      <&tsens_s1_p1>, <&tsens_s1_p2>,
 629				      <&tsens_s2_p1>, <&tsens_s2_p2>,
 630				      <&tsens_s3_p1>, <&tsens_s3_p2>,
 631				      <&tsens_s4_p1>, <&tsens_s4_p2>,
 632				      <&tsens_s5_p1>, <&tsens_s5_p2>,
 633				      <&tsens_s6_p1>, <&tsens_s6_p2>,
 634				      <&tsens_s7_p1>, <&tsens_s7_p2>,
 635				      <&tsens_s8_p1>, <&tsens_s8_p2>,
 636				      <&tsens_s9_p1>, <&tsens_s9_p2>,
 637				      <&tsens_s10_p1>, <&tsens_s10_p2>;
 638			nvmem-cell-names = "mode",
 639					   "base1", "base2",
 640					   "s0_p1", "s0_p2",
 641					   "s1_p1", "s1_p2",
 642					   "s2_p1", "s2_p2",
 643					   "s3_p1", "s3_p2",
 644					   "s4_p1", "s4_p2",
 645					   "s5_p1", "s5_p2",
 646					   "s6_p1", "s6_p2",
 647					   "s7_p1", "s7_p2",
 648					   "s8_p1", "s8_p2",
 649					   "s9_p1", "s9_p2",
 650					   "s10_p1", "s10_p2";
 651			#qcom,sensors = <11>;
 652			#thermal-sensor-cells = <1>;
 653		};
 654
 655		restart@4ab000 {
 656			compatible = "qcom,pshold";
 657			reg = <0x004ab000 0x4>;
 658		};
 659
 660		tlmm: pinctrl@1000000 {
 661			compatible = "qcom,msm8917-pinctrl";
 662			reg = <0x01000000 0x300000>;
 663			interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;
 664			gpio-controller;
 665			gpio-ranges = <&tlmm 0 0 134>;
 666			#gpio-cells = <2>;
 667			interrupt-controller;
 668			#interrupt-cells = <2>;
 669
 670			blsp1_i2c2_default: blsp1-i2c2-default-state {
 671				pins = "gpio6", "gpio7";
 672				function = "blsp_i2c2";
 673				drive-strength = <2>;
 674				bias-disable;
 675			};
 676
 677			blsp1_i2c2_sleep: blsp1-i2c2-sleep-state {
 678				pins = "gpio6", "gpio7";
 679				function = "gpio";
 680				drive-strength = <2>;
 681				bias-disable;
 682			};
 683
 684			blsp1_i2c3_default: blsp1-i2c3-default-state {
 685				pins = "gpio10", "gpio11";
 686				function = "blsp_i2c3";
 687				drive-strength = <2>;
 688				bias-disable;
 689			};
 690
 691			blsp1_i2c3_sleep: blsp1-i2c3-sleep-state {
 692				pins = "gpio10", "gpio11";
 693				function = "gpio";
 694				drive-strength = <2>;
 695				bias-disable;
 696			};
 697
 698			blsp1_i2c4_default: blsp1-i2c4-default-state {
 699				pins = "gpio14", "gpio15";
 700				function = "blsp_i2c4";
 701				drive-strength = <2>;
 702				bias-disable;
 703			};
 704
 705			blsp1_i2c4_sleep: blsp1-i2c4-sleep-state {
 706				pins = "gpio14", "gpio15";
 707				function = "gpio";
 708				drive-strength = <2>;
 709				bias-disable;
 710			};
 711
 712			blsp2_i2c1_default: blsp2-i2c1-default-state {
 713				pins = "gpio18", "gpio19";
 714				function = "blsp_i2c5";
 715				drive-strength = <2>;
 716				bias-disable;
 717			};
 718
 719			blsp2_i2c1_sleep: blsp2-i2c1-sleep-state {
 720				pins = "gpio18", "gpio19";
 721				function = "gpio";
 722				drive-strength = <2>;
 723				bias-disable;
 724			};
 725
 726			blsp1_spi3_default: blsp1-spi3-default-state {
 727				cs-pins {
 728					pins = "gpio10";
 729					function = "blsp_spi3";
 730					drive-strength = <2>;
 731					bias-disable;
 732				};
 733
 734				spi-pins {
 735					pins = "gpio8", "gpio9", "gpio11";
 736					function = "blsp_spi3";
 737					drive-strength = <12>;
 738					bias-disable;
 739				};
 740			};
 741
 742			blsp1_spi3_sleep: blsp1-spi3-sleep-state {
 743				cs-pins {
 744					pins = "gpio10";
 745					function = "gpio";
 746					drive-strength = <2>;
 747					bias-disable;
 748				};
 749
 750				spi-pins {
 751					pins = "gpio8", "gpio9", "gpio11";
 752					function = "gpio";
 753					drive-strength = <2>;
 754					bias-pull-down;
 755				};
 756			};
 757
 758			blsp2_spi2_default: blsp2-spi2-default-state {
 759				cs0-pins {
 760					pins = "gpio47";
 761					function = "blsp_spi6";
 762					drive-strength = <16>;
 763					bias-disable;
 764				};
 765
 766				cs1-pins {
 767					pins = "gpio22";
 768					function = "blsp_spi6";
 769					drive-strength = <16>;
 770					bias-disable;
 771				};
 772
 773				spi-pins {
 774					pins = "gpio20", "gpio21", "gpio23";
 775					function = "blsp_spi6";
 776					drive-strength = <16>;
 777					bias-disable;
 778				};
 779			};
 780
 781			blsp2_spi2_sleep: blsp2-spi2-sleep-state {
 782				cs0-pins {
 783					pins = "gpio47";
 784					function = "gpio";
 785					drive-strength = <2>;
 786					bias-disable;
 787				};
 788
 789				cs1-pins {
 790					pins = "gpio22";
 791					function = "gpio";
 792					drive-strength = <2>;
 793					bias-disable;
 794				};
 795
 796				spi-pins {
 797					pins = "gpio20", "gpio21", "gpio23";
 798					function = "gpio";
 799					drive-strength = <2>;
 800					bias-pull-down;
 801				};
 802			};
 803
 804			blsp1_uart1_default: blsp1-uart1-default-state {
 805				pins = "gpio0", "gpio1", "gpio2", "gpio3";
 806				function = "blsp_uart1";
 807				drive-strength = <2>;
 808				bias-disable;
 809			};
 810
 811			blsp1_uart1_sleep: blsp1-uart1-sleep-state {
 812				pins = "gpio0", "gpio1", "gpio2", "gpio3";
 813				function = "gpio";
 814				drive-strength = <2>;
 815				bias-disable;
 816			};
 817
 818			blsp1_uart2_default: blsp1-uart2-default-state {
 819				pins = "gpio4", "gpio5";
 820				function = "blsp_uart2";
 821				drive-strength = <2>;
 822				bias-disable;
 823			};
 824
 825			blsp1_uart2_sleep: blsp1-uart2-sleep-state {
 826				pins = "gpio4", "gpio5";
 827				function = "gpio";
 828				drive-strength = <2>;
 829				bias-pull-down;
 830			};
 831
 832			sdc1_default: sdc1-default-state {
 833				clk-pins {
 834					pins = "sdc1_clk";
 835					bias-disable;
 836					drive-strength = <16>;
 837				};
 838
 839				cmd-pins {
 840					pins = "sdc1_cmd";
 841					bias-pull-up;
 842					drive-strength = <10>;
 843				};
 844
 845				data-pins {
 846					pins = "sdc1_data";
 847					bias-pull-up;
 848					drive-strength = <10>;
 849				};
 850
 851				rclk-pins {
 852					pins = "sdc1_rclk";
 853					bias-pull-down;
 854				};
 855			};
 856
 857			sdc1_sleep: sdc1-sleep-state {
 858				clk-pins {
 859					pins = "sdc1_clk";
 860					bias-disable;
 861					drive-strength = <2>;
 862				};
 863
 864				cmd-pins {
 865					pins = "sdc1_cmd";
 866					bias-pull-up;
 867					drive-strength = <2>;
 868				};
 869
 870				data-pins {
 871					pins = "sdc1_data";
 872					bias-pull-up;
 873					drive-strength = <2>;
 874				};
 875
 876				rclk-pins {
 877					pins = "sdc1_rclk";
 878					bias-pull-down;
 879				};
 880			};
 881
 882			sdc2_default: sdc2-default-state {
 883				clk-pins {
 884					pins = "sdc2_clk";
 885					bias-disable;
 886					drive-strength = <16>;
 887				};
 888
 889				cmd-pins {
 890					pins = "sdc2_cmd";
 891					bias-pull-up;
 892					drive-strength = <10>;
 893				};
 894
 895				data-pins {
 896					pins = "sdc2_data";
 897					bias-pull-up;
 898					drive-strength = <10>;
 899				};
 900			};
 901
 902			sdc2_sleep: sdc2-sleep-state {
 903				clk-pins {
 904					pins = "sdc2_clk";
 905					bias-disable;
 906					drive-strength = <2>;
 907				};
 908
 909				cmd-pins {
 910					pins = "sdc2_cmd";
 911					bias-pull-up;
 912					drive-strength = <2>;
 913				};
 914
 915				data-pins {
 916					pins = "sdc2_data";
 917					bias-pull-up;
 918					drive-strength = <2>;
 919				};
 920			};
 921
 922			wcnss_pin_a: wcnss-active-state {
 923				wcss-wlan-pins {
 924					pins = "gpio79", "gpio80";
 925					function = "wcss_wlan";
 926					drive-strength = <6>;
 927					bias-pull-up;
 928
 929				};
 930
 931				wcss-wlan0-pins {
 932					pins = "gpio78";
 933					function = "wcss_wlan0";
 934					drive-strength = <6>;
 935					bias-pull-up;
 936
 937				};
 938
 939				wcss-wlan1-pins {
 940					pins = "gpio77";
 941					function = "wcss_wlan1";
 942					drive-strength = <6>;
 943					bias-pull-up;
 944
 945				};
 946
 947				wcss-wlan2-pins {
 948					pins = "gpio76";
 949					function = "wcss_wlan2";
 950					drive-strength = <6>;
 951					bias-pull-up;
 952
 953				};
 954			};
 955		};
 956
 957		gcc: clock-controller@1800000 {
 958			compatible = "qcom,gcc-msm8917";
 959			reg = <0x01800000 0x80000>;
 960			#clock-cells = <1>;
 961			#reset-cells = <1>;
 962			#power-domain-cells = <1>;
 963			clocks = <&xo_board>,
 964				 <&sleep_clk>,
 965				 <&mdss_dsi0_phy DSI_PIXEL_PLL_CLK>,
 966				 <&mdss_dsi0_phy DSI_BYTE_PLL_CLK>;
 967			clock-names = "xo",
 968				      "sleep_clk",
 969				      "dsi0pll",
 970				      "dsi0pllbyte";
 971		};
 972
 973		tcsr_mutex: hwlock@1905000 {
 974			compatible = "qcom,tcsr-mutex";
 975			reg = <0x01905000 0x20000>;
 976			#hwlock-cells = <1>;
 977		};
 978
 979		tcsr: syscon@1937000 {
 980			compatible = "qcom,tcsr-msm8917", "syscon";
 981			reg = <0x01937000 0x30000>;
 982		};
 983
 984		mdss: display-subsystem@1a00000 {
 985			compatible = "qcom,mdss";
 986			reg = <0x01a00000 0x1000>,
 987			      <0x01ab0000 0x1040>;
 988			reg-names = "mdss_phys", "vbif_phys";
 989			ranges;
 990
 991			power-domains = <&gcc MDSS_GDSC>;
 992
 993			clocks = <&gcc GCC_MDSS_AHB_CLK>,
 994				 <&gcc GCC_MDSS_AXI_CLK>,
 995				 <&gcc GCC_MDSS_VSYNC_CLK>;
 996			clock-names = "iface",
 997				      "bus",
 998				      "vsync";
 999
1000			interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
1001
1002			interrupt-controller;
1003			#interrupt-cells = <1>;
1004
1005			#address-cells = <1>;
1006			#size-cells = <1>;
1007
1008			status = "disabled";
1009
1010			mdp: display-controller@1a01000 {
1011				compatible = "qcom,msm8917-mdp5", "qcom,mdp5";
1012				reg = <0x01a01000 0x89000>;
1013				reg-names = "mdp_phys";
1014
1015				interrupt-parent = <&mdss>;
1016				interrupts = <0>;
1017
1018				power-domains = <&gcc MDSS_GDSC>;
1019
1020				clocks = <&gcc GCC_MDSS_AHB_CLK>,
1021					 <&gcc GCC_MDSS_AXI_CLK>,
1022					 <&gcc GCC_MDSS_MDP_CLK>,
1023					 <&gcc GCC_MDSS_VSYNC_CLK>;
1024				clock-names = "iface",
1025					      "bus",
1026					      "core",
1027					      "vsync";
1028
1029				iommus = <&apps_iommu 0x15>;
1030
1031				ports {
1032					#address-cells = <1>;
1033					#size-cells = <0>;
1034
1035					port@0 {
1036						reg = <0>;
1037
1038						mdp5_intf1_out: endpoint {
1039							remote-endpoint = <&mdss_dsi0_in>;
1040						};
1041					};
1042				};
1043			};
1044
1045			mdss_dsi0: dsi@1a94000 {
1046				compatible = "qcom,mdss-dsi-ctrl";
1047				reg = <0x01a94000 0x300>;
1048				reg-names = "dsi_ctrl";
1049
1050				interrupt-parent = <&mdss>;
1051				interrupts = <4>;
1052
1053				assigned-clocks = <&gcc BYTE0_CLK_SRC>,
1054						  <&gcc PCLK0_CLK_SRC>;
1055				assigned-clock-parents = <&mdss_dsi0_phy DSI_BYTE_PLL_CLK>,
1056							 <&mdss_dsi0_phy DSI_PIXEL_PLL_CLK>;
1057
1058				clocks = <&gcc GCC_MDSS_MDP_CLK>,
1059					 <&gcc GCC_MDSS_AHB_CLK>,
1060					 <&gcc GCC_MDSS_AXI_CLK>,
1061					 <&gcc GCC_MDSS_BYTE0_CLK>,
1062					 <&gcc GCC_MDSS_PCLK0_CLK>,
1063					 <&gcc GCC_MDSS_ESC0_CLK>;
1064				clock-names = "mdp_core",
1065					      "iface",
1066					      "bus",
1067					      "byte",
1068					      "pixel",
1069					      "core";
1070				phys = <&mdss_dsi0_phy>;
1071
1072				operating-points-v2 = <&mdss_dsi0_opp_table>;
1073				power-domains = <&rpmpd MSM8917_VDDCX>;
1074
1075				#address-cells = <1>;
1076				#size-cells = <0>;
1077
1078				ports {
1079					#address-cells = <1>;
1080					#size-cells = <0>;
1081
1082					port@0 {
1083						reg = <0>;
1084
1085						mdss_dsi0_in: endpoint {
1086							remote-endpoint = <&mdp5_intf1_out>;
1087						};
1088					};
1089
1090					port@1 {
1091						reg = <1>;
1092
1093						mdss_dsi0_out: endpoint {
1094						};
1095					};
1096				};
1097
1098				mdss_dsi0_opp_table: opp-table {
1099					compatible = "operating-points-v2";
1100
1101					opp-125000000 {
1102						opp-hz = /bits/ 64 <125000000>;
1103						required-opps = <&rpmpd_opp_svs>;
1104					};
1105
1106					opp-187500000 {
1107						opp-hz = /bits/ 64 <187500000>;
1108						required-opps = <&rpmpd_opp_nom>;
1109					};
1110				};
1111			};
1112
1113			mdss_dsi0_phy: phy@1a94a00 {
1114				compatible = "qcom,dsi-phy-28nm-8937";
1115				reg = <0x01a94a00 0xd4>,
1116				      <0x01a94400 0x280>,
1117				      <0x01a94b80 0x30>;
1118				reg-names = "dsi_pll",
1119					    "dsi_phy",
1120					    "dsi_phy_regulator";
1121
1122				#clock-cells = <1>;
1123				#phy-cells = <0>;
1124
1125				clocks = <&gcc GCC_MDSS_AHB_CLK>,
1126					 <&xo_board>;
1127				clock-names = "iface", "ref";
1128			};
1129		};
1130
1131		apps_iommu: iommu@1e20000 {
1132			compatible = "qcom,msm8917-iommu", "qcom,msm-iommu-v1";
1133			ranges = <0 0x01e20000 0x20000>;
1134			#address-cells = <1>;
1135			#size-cells = <1>;
1136			#iommu-cells = <1>;
1137
1138			clocks = <&gcc GCC_SMMU_CFG_CLK>,
1139				 <&gcc GCC_APSS_TCU_CLK>;
1140			clock-names = "iface", "bus";
1141
1142			qcom,iommu-secure-id = <17>;
1143
1144			/* VFE */
1145			iommu-ctx@14000 {
1146				compatible = "qcom,msm-iommu-v1-ns";
1147				reg = <0x14000 0x1000>;
1148				interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>;
1149			};
1150
1151			/* MDP_0 */
1152			iommu-ctx@15000 {
1153				compatible = "qcom,msm-iommu-v1-ns";
1154				reg = <0x15000 0x1000>;
1155				interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>;
1156			};
1157
1158			/* VENUS_NS */
1159			iommu-ctx@16000 {
1160				compatible = "qcom,msm-iommu-v1-ns";
1161				reg = <0x16000 0x1000>;
1162				interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
1163			};
1164		};
1165
1166		gpu_iommu: iommu@1f08000 {
1167			compatible = "qcom,msm8917-iommu", "qcom,msm-iommu-v1";
1168			ranges = <0 0x01f08000 0x10000>;
1169
1170			#address-cells = <1>;
1171			#size-cells = <1>;
1172			#iommu-cells = <1>;
1173
1174			clocks = <&gcc GCC_SMMU_CFG_CLK>,
1175				 <&gcc GCC_GFX_TCU_CLK>;
1176			clock-names = "iface", "bus";
1177			qcom,iommu-secure-id = <18>;
1178
1179			iommu-ctx@0 {
1180				compatible = "qcom,msm-iommu-v2-ns";
1181				reg = <0 0x1000>;
1182				interrupts = <GIC_SPI 240 IRQ_TYPE_LEVEL_HIGH>;
1183			};
1184		};
1185
1186		gpu: gpu@1c00000 {
1187			compatible = "qcom,adreno-306.32", "qcom,adreno";
1188			reg = <0x01c00000 0x20000>;
1189			reg-names = "kgsl_3d0_reg_memory";
1190			interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
1191			interrupt-names = "kgsl_3d0_irq";
1192			clock-names = "core",
1193				      "iface",
1194				      "mem_iface",
1195				      "alt_mem_iface",
1196				      "gfx3d";
1197			clocks = <&gcc GCC_OXILI_GFX3D_CLK>,
1198				 <&gcc GCC_OXILI_AHB_CLK>,
1199				 <&gcc GCC_BIMC_GFX_CLK>,
1200				 <&gcc GCC_BIMC_GPU_CLK>,
1201				 <&gcc GFX3D_CLK_SRC>;
1202			power-domains = <&gcc OXILI_GX_GDSC>;
1203			operating-points-v2 = <&gpu_opp_table>;
1204			#cooling-cells = <2>;
1205
1206			iommus = <&gpu_iommu 0>;
1207
1208			status = "disabled";
1209
1210			gpu_opp_table: opp-table {
1211				compatible = "operating-points-v2";
1212
1213				opp-19200000 {
1214					opp-hz = /bits/ 64 <19200000>;
1215				};
1216
1217				opp-270000000 {
1218					opp-hz = /bits/ 64 <270000000>;
1219				};
1220
1221				opp-400000000 {
1222					opp-hz = /bits/ 64 <400000000>;
1223				};
1224
1225				opp-484800000 {
1226					opp-hz = /bits/ 64 <484800000>;
1227				};
1228
1229				opp-523200000 {
1230					opp-hz = /bits/ 64 <523200000>;
1231				};
1232
1233				opp-598000000 {
1234					opp-hz = /bits/ 64 <598000000>;
1235				};
1236			};
1237		};
1238
1239		spmi_bus: spmi@200f000 {
1240			compatible = "qcom,spmi-pmic-arb";
1241			reg = <0x0200f000 0x001000>,
1242			      <0x02400000 0x800000>,
1243			      <0x02c00000 0x800000>,
1244			      <0x03800000 0x200000>,
1245			      <0x0200a000 0x002100>;
1246			reg-names = "core",
1247				    "chnls",
1248				    "obsrvr",
1249				    "intr",
1250				    "cnfg";
1251			interrupt-names = "periph_irq";
1252			interrupts = <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>;
1253			qcom,ee = <0>;
1254			qcom,channel = <0>;
1255			#address-cells = <2>;
1256			#size-cells = <0>;
1257			interrupt-controller;
1258			#interrupt-cells = <4>;
1259		};
1260
1261		bam_dmux_dma: dma-controller@4044000 {
1262			compatible = "qcom,bam-v1.7.0";
1263			reg = <0x04044000 0x19000>;
1264			interrupts = <GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>;
1265			#dma-cells = <1>;
1266			qcom,ee = <0>;
1267
1268			num-channels = <6>;
1269			qcom,num-ees = <1>;
1270			qcom,powered-remotely;
1271
1272			status = "disabled";
1273		};
1274
1275		sdhc_1: mmc@7824900 {
1276			compatible = "qcom,sdhci-msm-v4";
1277			reg = <0x07824900 0x500>,
1278			      <0x07824000 0x800>;
1279			reg-names = "hc", "core";
1280
1281			interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>,
1282				     <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>;
1283			interrupt-names = "hc_irq", "pwr_irq";
1284			clocks = <&gcc GCC_SDCC1_AHB_CLK>,
1285				 <&gcc GCC_SDCC1_APPS_CLK>,
1286				 <&xo_board>;
1287			clock-names = "iface", "core", "xo";
1288			pinctrl-0 = <&sdc1_default>;
1289			pinctrl-1 = <&sdc1_sleep>;
1290			pinctrl-names = "default", "sleep";
1291			power-domains = <&rpmpd MSM8917_VDDCX>;
1292			mmc-hs200-1_8v;
1293			mmc-hs400-1_8v;
1294			mmc-ddr-1_8v;
1295			bus-width = <8>;
1296			non-removable;
1297			status = "disabled";
1298		};
1299
1300		sdhc_2: mmc@7864900 {
1301			compatible = "qcom,sdhci-msm-v4";
1302			reg = <0x07864900 0x500>,
1303			      <0x07864000 0x800>;
1304			reg-names = "hc", "core";
1305
1306			interrupts = <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>,
1307				     <GIC_SPI 221 IRQ_TYPE_LEVEL_HIGH>;
1308			interrupt-names = "hc_irq", "pwr_irq";
1309			clocks = <&gcc GCC_SDCC2_AHB_CLK>,
1310				 <&gcc GCC_SDCC2_APPS_CLK>,
1311				 <&xo_board>;
1312			clock-names = "iface", "core", "xo";
1313			pinctrl-0 = <&sdc2_default>;
1314			pinctrl-1 = <&sdc2_sleep>;
1315			pinctrl-names = "default", "sleep";
1316			power-domains = <&rpmpd MSM8917_VDDCX>;
1317			bus-width = <4>;
1318			status = "disabled";
1319		};
1320
1321		blsp1_dma: dma-controller@7884000 {
1322			compatible = "qcom,bam-v1.7.0";
1323			reg = <0x07884000 0x1f000>;
1324			interrupts = <GIC_SPI 238 IRQ_TYPE_LEVEL_HIGH>;
1325			clocks = <&gcc GCC_BLSP1_AHB_CLK>;
1326			clock-names = "bam_clk";
1327			qcom,controlled-remotely;
1328			#dma-cells = <1>;
1329			num-channels = <12>;
1330			qcom,num-ees = <4>;
1331			qcom,ee = <0>;
1332		};
1333
1334		blsp2_dma: dma-controller@7ac4000 {
1335			compatible = "qcom,bam-v1.7.0";
1336			reg = <0x07ac4000 0x1d000>;
1337			interrupts = <GIC_SPI 239 IRQ_TYPE_LEVEL_HIGH>;
1338			clocks = <&gcc GCC_BLSP2_AHB_CLK>;
1339			clock-names = "bam_clk";
1340			qcom,controlled-remotely;
1341			#dma-cells = <1>;
1342			num-channels = <10>;
1343			qcom,num-ees = <4>;
1344			qcom,ee = <0>;
1345		};
1346
1347		blsp1_uart1: serial@78af000 {
1348			compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
1349			reg = <0x078af000 0x200>;
1350			interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
1351			clocks = <&gcc GCC_BLSP1_UART1_APPS_CLK>,
1352				 <&gcc GCC_BLSP1_AHB_CLK>;
1353			clock-names = "core", "iface";
1354			dmas = <&blsp1_dma 0>, <&blsp1_dma 1>;
1355			dma-names = "tx", "rx";
1356			pinctrl-0 = <&blsp1_uart1_default>;
1357			pinctrl-1 = <&blsp1_uart1_sleep>;
1358			pinctrl-names = "default", "sleep";
1359			status = "disabled";
1360		};
1361
1362		blsp1_uart2: serial@78b0000 {
1363			compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
1364			reg = <0x078b0000 0x200>;
1365			interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
1366			clocks = <&gcc GCC_BLSP1_UART2_APPS_CLK>,
1367				 <&gcc GCC_BLSP1_AHB_CLK>;
1368			clock-names = "core", "iface";
1369			dmas = <&blsp1_dma 2>, <&blsp1_dma 3>;
1370			dma-names = "tx", "rx";
1371			pinctrl-0 = <&blsp1_uart2_default>;
1372			pinctrl-1 = <&blsp1_uart2_sleep>;
1373			pinctrl-names = "default", "sleep";
1374			status = "disabled";
1375		};
1376
1377		blsp1_i2c2: i2c@78b6000 {
1378			compatible = "qcom,i2c-qup-v2.2.1";
1379			reg = <0x078b6000 0x600>;
1380			interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
1381			clocks = <&gcc GCC_BLSP1_QUP2_I2C_APPS_CLK>,
1382				 <&gcc GCC_BLSP1_AHB_CLK>;
1383			clock-names = "core", "iface";
1384			dmas = <&blsp1_dma 6>, <&blsp1_dma 7>;
1385			dma-names = "tx", "rx";
1386			pinctrl-0 = <&blsp1_i2c2_default>;
1387			pinctrl-1 = <&blsp1_i2c2_sleep>;
1388			pinctrl-names = "default", "sleep";
1389			#address-cells = <1>;
1390			#size-cells = <0>;
1391			status = "disabled";
1392		};
1393
1394		blsp1_i2c3: i2c@78b7000 {
1395			compatible = "qcom,i2c-qup-v2.2.1";
1396			reg = <0x078b7000 0x600>;
1397			interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
1398			clocks = <&gcc GCC_BLSP1_QUP3_I2C_APPS_CLK>,
1399				 <&gcc GCC_BLSP1_AHB_CLK>;
1400			clock-names = "core", "iface";
1401			dmas = <&blsp1_dma 8>, <&blsp1_dma 9>;
1402			dma-names = "tx", "rx";
1403			pinctrl-0 = <&blsp1_i2c3_default>;
1404			pinctrl-1 = <&blsp1_i2c3_sleep>;
1405			pinctrl-names = "default", "sleep";
1406			#address-cells = <1>;
1407			#size-cells = <0>;
1408			status = "disabled";
1409		};
1410
1411		blsp1_spi3: spi@78b7000 {
1412			compatible = "qcom,spi-qup-v2.2.1";
1413			reg = <0x078b7000 0x600>;
1414			interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
1415			clocks = <&gcc GCC_BLSP1_QUP3_SPI_APPS_CLK>,
1416				 <&gcc GCC_BLSP1_AHB_CLK>;
1417			clock-names = "core", "iface";
1418			dmas = <&blsp1_dma 8>, <&blsp1_dma 9>;
1419			dma-names = "tx", "rx";
1420			pinctrl-0 = <&blsp1_spi3_default>;
1421			pinctrl-1 = <&blsp1_spi3_sleep>;
1422			pinctrl-names = "default", "sleep";
1423			#address-cells = <1>;
1424			#size-cells = <0>;
1425			status = "disabled";
1426		};
1427
1428		blsp1_i2c4: i2c@78b8000 {
1429			compatible = "qcom,i2c-qup-v2.2.1";
1430			reg = <0x078b8000 0x500>;
1431			interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
1432			clocks = <&gcc GCC_BLSP1_QUP4_I2C_APPS_CLK>,
1433				 <&gcc GCC_BLSP1_AHB_CLK>;
1434			clock-names = "core", "iface";
1435			dmas = <&blsp1_dma 10>, <&blsp1_dma 11>;
1436			dma-names = "tx", "rx";
1437			pinctrl-0 = <&blsp1_i2c4_default>;
1438			pinctrl-1 = <&blsp1_i2c4_sleep>;
1439			pinctrl-names = "default", "sleep";
1440			#address-cells = <1>;
1441			#size-cells = <0>;
1442			status = "disabled";
1443		};
1444
1445		blsp2_i2c1: i2c@7af5000 {
1446			compatible = "qcom,i2c-qup-v2.2.1";
1447			reg = <0x07af5000 0x600>;
1448			interrupts = <GIC_SPI 299 IRQ_TYPE_LEVEL_HIGH>;
1449			clocks = <&gcc GCC_BLSP2_QUP1_I2C_APPS_CLK>,
1450				 <&gcc GCC_BLSP2_AHB_CLK>;
1451			clock-names = "core", "iface";
1452			dmas = <&blsp2_dma 4>, <&blsp2_dma 5>;
1453			dma-names = "tx", "rx";
1454			pinctrl-0 = <&blsp2_i2c1_default>;
1455			pinctrl-1 = <&blsp2_i2c1_sleep>;
1456			pinctrl-names = "default", "sleep";
1457			#address-cells = <1>;
1458			#size-cells = <0>;
1459			status = "disabled";
1460		};
1461
1462		blsp2_spi2: spi@7af6000 {
1463			compatible = "qcom,spi-qup-v2.2.1";
1464			reg = <0x07af6000 0x600>;
1465			interrupts = <GIC_SPI 300 IRQ_TYPE_LEVEL_HIGH>;
1466			clocks = <&gcc GCC_BLSP2_QUP2_SPI_APPS_CLK>,
1467				 <&gcc GCC_BLSP2_AHB_CLK>;
1468			clock-names = "core", "iface";
1469			dmas = <&blsp2_dma 6>, <&blsp2_dma 7>;
1470			dma-names = "tx", "rx";
1471			pinctrl-0 = <&blsp2_spi2_default>;
1472			pinctrl-1 = <&blsp2_spi2_sleep>;
1473			pinctrl-names = "default", "sleep";
1474			#address-cells = <1>;
1475			#size-cells = <0>;
1476			status = "disabled";
1477		};
1478
1479		usb: usb@78db000 {
1480			compatible = "qcom,ci-hdrc";
1481			reg = <0x078db000 0x200>,
1482			      <0x078db200 0x200>;
1483			interrupts = <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>,
1484				     <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>;
1485			clocks = <&gcc GCC_USB_HS_AHB_CLK>,
1486				 <&gcc GCC_USB_HS_SYSTEM_CLK>;
1487			clock-names = "iface", "core";
1488			assigned-clocks = <&gcc GCC_USB_HS_SYSTEM_CLK>;
1489			assigned-clock-rates = <80000000>;
1490			resets = <&gcc GCC_USB_HS_BCR>;
1491			reset-names = "core";
1492			phy_type = "ulpi";
1493			dr_mode = "otg";
1494			hnp-disable;
1495			srp-disable;
1496			adp-disable;
1497			ahb-burst-config = <0>;
1498			phy-names = "usb-phy";
1499			phys = <&usb_hs_phy>;
1500			status = "disabled";
1501			#reset-cells = <1>;
1502		};
1503
1504		wcnss: remoteproc@a204000 {
1505			compatible = "qcom,pronto-v3-pil", "qcom,pronto";
1506			reg = <0x0a204000 0x2000>,
1507			      <0x0a202000 0x1000>,
1508			      <0x0a21b000 0x3000>;
1509			reg-names = "ccu", "dxe", "pmu";
1510
1511			memory-region = <&wcnss_mem>;
1512
1513			interrupts-extended = <&intc GIC_SPI 149 IRQ_TYPE_EDGE_RISING>,
1514					      <&wcnss_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
1515					      <&wcnss_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
1516					      <&wcnss_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
1517					      <&wcnss_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
1518			interrupt-names = "wdog", "fatal", "ready", "handover", "stop-ack";
1519
1520			power-domains = <&rpmpd MSM8917_VDDCX>,
1521					<&rpmpd MSM8917_VDDMX>;
1522			power-domain-names = "cx", "mx";
1523
1524			qcom,smem-states = <&wcnss_smp2p_out 0>;
1525			qcom,smem-state-names = "stop";
1526
1527			pinctrl-0 = <&wcnss_pin_a>;
1528			pinctrl-names = "default";
1529
1530			status = "disabled";
1531
1532			wcnss_iris: iris {
1533				clocks = <&rpmcc RPM_SMD_RF_CLK2>;
1534				clock-names = "xo";
1535			};
1536
1537			smd-edge {
1538				interrupts = <GIC_SPI 142 IRQ_TYPE_EDGE_RISING>;
1539
1540				mboxes = <&apcs 17>;
1541				qcom,smd-edge = <6>;
1542				qcom,remote-pid = <4>;
1543
1544				label = "pronto";
1545
1546				wcnss_ctrl: wcnss {
1547					compatible = "qcom,wcnss";
1548					qcom,smd-channels = "WCNSS_CTRL";
1549
1550					qcom,mmio = <&wcnss>;
1551
1552					wcnss_bt: bluetooth {
1553						compatible = "qcom,wcnss-bt";
1554					};
1555
1556					wcnss_wifi: wifi {
1557						compatible = "qcom,wcnss-wlan";
1558
1559						interrupts = <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>,
1560							     <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>;
1561						interrupt-names = "tx", "rx";
1562
1563						qcom,smem-states = <&apps_smsm 10>, <&apps_smsm 9>;
1564						qcom,smem-state-names = "tx-enable",
1565									"tx-rings-empty";
1566					};
1567				};
1568			};
1569		};
1570
1571		intc: interrupt-controller@b000000 {
1572			compatible = "qcom,msm-qgic2";
1573			reg = <0x0b000000 0x1000>,
1574			      <0x0b002000 0x1000>;
1575			interrupt-controller;
1576			#interrupt-cells = <3>;
1577		};
1578
1579		apcs: mailbox@b011000 {
1580			compatible = "qcom,msm8939-apcs-kpss-global", "syscon";
1581			reg = <0x0b011000 0x1000>;
1582			#mbox-cells = <1>;
1583			clocks = <&a53pll>, <&gcc GPLL0_EARLY>, <&rpmcc RPM_SMD_XO_CLK_SRC>;
1584			clock-names = "pll", "aux", "ref";
1585			#clock-cells = <0>;
1586		};
1587
1588		a53pll: clock@b016000 {
1589			compatible = "qcom,msm8939-a53pll";
1590			reg = <0x0b016000 0x40>;
1591			clocks = <&xo_board>;
1592			clock-names = "xo";
1593			#clock-cells = <0>;
1594			operating-points-v2 = <&pll_opp_table>;
1595
1596			pll_opp_table: opp-table {
1597				compatible = "operating-points-v2";
1598
1599				opp-960000000 {
1600					opp-hz = /bits/ 64 <960000000>;
1601				};
1602
1603				opp-1094400000 {
1604					opp-hz = /bits/ 64 <1094400000>;
1605				};
1606
1607				opp-1248000000 {
1608					opp-hz = /bits/ 64 <1248000000>;
1609				};
1610
1611				opp-1401600000 {
1612					opp-hz = /bits/ 64 <1401600000>;
1613				};
1614			};
1615		};
1616
1617		watchdog@b017000 {
1618			compatible = "qcom,apss-wdt-qcs404", "qcom,kpss-wdt";
1619			reg = <0x0b017000 0x1000>;
1620			clocks = <&sleep_clk>;
1621		};
1622
1623		timer@b120000 {
1624			compatible = "arm,armv7-timer-mem";
1625			reg = <0x0b120000 0x1000>;
1626			ranges;
1627			#address-cells = <1>;
1628			#size-cells = <1>;
1629
1630			frame@b121000 {
1631				reg = <0x0b121000 0x1000>,
1632				      <0x0b122000 0x1000>;
1633				frame-number = <0>;
1634				interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
1635					     <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
1636			};
1637
1638			frame@b123000 {
1639				reg = <0x0b123000 0x1000>;
1640				frame-number = <1>;
1641				interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
1642				status = "disabled";
1643			};
1644
1645			frame@b124000 {
1646				reg = <0x0b124000 0x1000>;
1647				frame-number = <2>;
1648				interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
1649				status = "disabled";
1650			};
1651
1652			frame@b125000 {
1653				reg = <0x0b125000 0x1000>;
1654				frame-number = <3>;
1655				interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
1656				status = "disabled";
1657			};
1658
1659			frame@b126000 {
1660				reg = <0x0b126000 0x1000>;
1661				frame-number = <4>;
1662				interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
1663				status = "disabled";
1664			};
1665
1666			frame@b127000 {
1667				reg = <0x0b127000 0x1000>;
1668				frame-number = <5>;
1669				interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
1670				status = "disabled";
1671			};
1672
1673			frame@b128000 {
1674				reg = <0x0b128000 0x1000>;
1675				frame-number = <6>;
1676				interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
1677				status = "disabled";
1678			};
1679		};
1680	};
1681
1682	timer {
1683		compatible = "arm,armv8-timer";
1684		interrupts = <GIC_PPI 2 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
1685			     <GIC_PPI 3 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
1686			     <GIC_PPI 4 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
1687			     <GIC_PPI 1 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
1688	};
1689
1690	thermal_zones: thermal-zones {
1691		aoss-thermal {
1692			polling-delay-passive = <250>;
1693
1694			thermal-sensors = <&tsens 0>;
1695
1696			trips {
1697				aoss_alert0: trip-point0 {
1698					temperature = <85000>;
1699					hysteresis = <2000>;
1700					type = "hot";
1701				};
1702			};
1703		};
1704
1705		camera-thermal {
1706			polling-delay-passive = <250>;
1707
1708			thermal-sensors = <&tsens 3>;
1709
1710			trips {
1711				camera_alert0: trip-point0 {
1712					temperature = <85000>;
1713					hysteresis = <2000>;
1714					type = "hot";
1715				};
1716			};
1717		};
1718
1719		cpuss1-thermal {
1720			polling-delay-passive = <250>;
1721
1722			thermal-sensors = <&tsens 4>;
1723
1724			cooling-maps {
1725				map0 {
1726					trip = <&cpuss1_alert0>;
1727					cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
1728							 <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
1729							 <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
1730							 <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
1731				};
1732			};
1733
1734			trips {
1735				cpuss1_alert0: trip-point0 {
1736					temperature = <75000>;
1737					hysteresis = <2000>;
1738					type = "passive";
1739				};
1740
1741				cpuss1_alert1: trip-point1 {
1742					temperature = <85000>;
1743					hysteresis = <2000>;
1744					type = "hot";
1745				};
1746
1747				cpuss1_crit: cpuss1-crit {
1748					temperature = <100000>;
1749					hysteresis = <2000>;
1750					type = "critical";
1751				};
1752			};
1753		};
1754
1755		cpu0-thermal {
1756			polling-delay-passive = <250>;
1757
1758			thermal-sensors = <&tsens 5>;
1759
1760			cooling-maps {
1761				map0 {
1762					trip = <&cpu0_alert1>;
1763					cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
1764							 <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
1765							 <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
1766							 <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
1767				};
1768			};
1769
1770			trips {
1771				cpu0_alert0: trip-point0 {
1772					temperature = <75000>;
1773					hysteresis = <2000>;
1774					type = "passive";
1775				};
1776
1777				cpu0_alert1: trip-point1 {
1778					temperature = <85000>;
1779					hysteresis = <2000>;
1780					type = "hot";
1781				};
1782
1783				cpu0_crit: cpu-crit {
1784					temperature = <100000>;
1785					hysteresis = <2000>;
1786					type = "critical";
1787				};
1788			};
1789		};
1790
1791		cpu1-thermal {
1792			polling-delay-passive = <250>;
1793
1794			thermal-sensors = <&tsens 6>;
1795
1796			cooling-maps {
1797				map0 {
1798					trip = <&cpu1_alert1>;
1799					cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
1800							 <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
1801							 <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
1802							 <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
1803				};
1804			};
1805
1806			trips {
1807				cpu1_alert0: trip-point0 {
1808					temperature = <75000>;
1809					hysteresis = <2000>;
1810					type = "hot";
1811				};
1812
1813				cpu1_alert1: trip-point1 {
1814					temperature = <85000>;
1815					hysteresis = <2000>;
1816					type = "passive";
1817				};
1818
1819				cpu1_crit: cpu-crit {
1820					temperature = <100000>;
1821					hysteresis = <2000>;
1822					type = "critical";
1823				};
1824			};
1825		};
1826
1827		cpu2-thermal {
1828			polling-delay-passive = <250>;
1829
1830			thermal-sensors = <&tsens 7>;
1831
1832			cooling-maps {
1833				map0 {
1834					trip = <&cpu2_alert1>;
1835					cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
1836							 <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
1837							 <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
1838							 <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
1839				};
1840			};
1841
1842			trips {
1843				cpu2_alert0: trip-point0 {
1844					temperature = <75000>;
1845					hysteresis = <2000>;
1846					type = "hot";
1847				};
1848
1849				cpu2_alert1: trip-point1 {
1850					temperature = <85000>;
1851					hysteresis = <2000>;
1852					type = "passive";
1853				};
1854
1855				cpu2_crit: cpu-crit {
1856					temperature = <100000>;
1857					hysteresis = <2000>;
1858					type = "critical";
1859				};
1860			};
1861		};
1862
1863		cpu3-thermal {
1864			polling-delay-passive = <250>;
1865
1866			thermal-sensors = <&tsens 8>;
1867
1868			cooling-maps {
1869				map0 {
1870					trip = <&cpu3_alert1>;
1871					cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
1872							 <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
1873							 <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
1874							 <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
1875				};
1876			};
1877
1878			trips {
1879				cpu3_alert0: trip-point0 {
1880					temperature = <75000>;
1881					hysteresis = <2000>;
1882					type = "hot";
1883				};
1884
1885				cpu3_alert1: trip-point1 {
1886					temperature = <85000>;
1887					hysteresis = <2000>;
1888					type = "passive";
1889				};
1890
1891				cpu3_crit: cpu-crit {
1892					temperature = <100000>;
1893					hysteresis = <2000>;
1894					type = "critical";
1895				};
1896			};
1897		};
1898
1899		gpu-thermal {
1900			polling-delay-passive = <250>;
1901
1902			thermal-sensors = <&tsens 9>;
1903
1904			cooling-maps {
1905				map0 {
1906					trip = <&gpu_alert>;
1907					cooling-device = <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
1908				};
1909			};
1910
1911			trips {
1912				gpu_alert: trip-point0 {
1913					temperature = <70000>;
1914					hysteresis = <2000>;
1915					type = "passive";
1916				};
1917
1918				gpu_crit: gpu-crit {
1919					temperature = <90000>;
1920					hysteresis = <2000>;
1921					type = "critical";
1922				};
1923			};
1924
1925		};
1926
1927		mdm-core-thermal {
1928			polling-delay-passive = <250>;
1929
1930			thermal-sensors = <&tsens 1>;
1931
1932			trips {
1933				mdm_core_alert0: trip-point0 {
1934					temperature = <85000>;
1935					hysteresis = <2000>;
1936					type = "hot";
1937				};
1938			};
1939		};
1940
1941		q6-thermal {
1942			polling-delay-passive = <250>;
1943
1944			thermal-sensors = <&tsens 2>;
1945
1946			trips {
1947				q6_alert0: trip-point0 {
1948					temperature = <85000>;
1949					hysteresis = <2000>;
1950					type = "hot";
1951				};
1952			};
1953		};
1954	};
1955};
~/ Read-only file preview.