File Index
Files and directories
Sign in
FILE

msm8953.dtsi

File preview with syntax highlighting.

linux-6.19.14/arch/arm64/boot/dts/qcom/msm8953.dtsi DEVICETREE
   1// SPDX-License-Identifier: BSD-3-Clause
   2/* Copyright (c) 2022, The Linux Foundation. All rights reserved. */
   3
   4#include <dt-bindings/clock/qcom,dsi-phy-28nm.h>
   5#include <dt-bindings/clock/qcom,gcc-msm8953.h>
   6#include <dt-bindings/clock/qcom,rpmcc.h>
   7#include <dt-bindings/gpio/gpio.h>
   8#include <dt-bindings/interconnect/qcom,msm8953.h>
   9#include <dt-bindings/interconnect/qcom,rpm-icc.h>
  10#include <dt-bindings/interrupt-controller/arm-gic.h>
  11#include <dt-bindings/power/qcom-rpmpd.h>
  12#include <dt-bindings/soc/qcom,apr.h>
  13#include <dt-bindings/sound/qcom,q6afe.h>
  14#include <dt-bindings/sound/qcom,q6asm.h>
  15#include <dt-bindings/thermal/thermal.h>
  16
  17/ {
  18	interrupt-parent = <&intc>;
  19
  20	#address-cells = <2>;
  21	#size-cells = <2>;
  22
  23	chosen { };
  24
  25	clocks {
  26		sleep_clk: sleep-clk {
  27			compatible = "fixed-clock";
  28			#clock-cells = <0>;
  29			clock-frequency = <32768>;
  30		};
  31
  32		xo_board: xo-board {
  33			compatible = "fixed-clock";
  34			#clock-cells = <0>;
  35			clock-frequency = <19200000>;
  36			clock-output-names = "xo";
  37		};
  38	};
  39
  40	cpus {
  41		#address-cells = <1>;
  42		#size-cells = <0>;
  43
  44		cpu0: cpu@0 {
  45			device_type = "cpu";
  46			compatible = "arm,cortex-a53";
  47			reg = <0x0>;
  48			enable-method = "psci";
  49			capacity-dmips-mhz = <1024>;
  50			interconnects = <&bimc MAS_APPS_PROC RPM_ACTIVE_TAG
  51					 &bimc SLV_EBI RPM_ACTIVE_TAG>;
  52			next-level-cache = <&l2_0>;
  53			#cooling-cells = <2>;
  54		};
  55
  56		cpu1: cpu@1 {
  57			device_type = "cpu";
  58			compatible = "arm,cortex-a53";
  59			reg = <0x1>;
  60			enable-method = "psci";
  61			capacity-dmips-mhz = <1024>;
  62			interconnects = <&bimc MAS_APPS_PROC RPM_ACTIVE_TAG
  63					 &bimc SLV_EBI RPM_ACTIVE_TAG>;
  64			next-level-cache = <&l2_0>;
  65			#cooling-cells = <2>;
  66		};
  67
  68		cpu2: cpu@2 {
  69			device_type = "cpu";
  70			compatible = "arm,cortex-a53";
  71			reg = <0x2>;
  72			enable-method = "psci";
  73			capacity-dmips-mhz = <1024>;
  74			interconnects = <&bimc MAS_APPS_PROC RPM_ACTIVE_TAG
  75					 &bimc SLV_EBI RPM_ACTIVE_TAG>;
  76			next-level-cache = <&l2_0>;
  77			#cooling-cells = <2>;
  78		};
  79
  80		cpu3: cpu@3 {
  81			device_type = "cpu";
  82			compatible = "arm,cortex-a53";
  83			reg = <0x3>;
  84			enable-method = "psci";
  85			capacity-dmips-mhz = <1024>;
  86			interconnects = <&bimc MAS_APPS_PROC RPM_ACTIVE_TAG
  87					 &bimc SLV_EBI RPM_ACTIVE_TAG>;
  88			next-level-cache = <&l2_0>;
  89			#cooling-cells = <2>;
  90		};
  91
  92		cpu4: cpu@100 {
  93			device_type = "cpu";
  94			compatible = "arm,cortex-a53";
  95			reg = <0x100>;
  96			enable-method = "psci";
  97			capacity-dmips-mhz = <1024>;
  98			interconnects = <&bimc MAS_APPS_PROC RPM_ACTIVE_TAG
  99					 &bimc SLV_EBI RPM_ACTIVE_TAG>;
 100			next-level-cache = <&l2_1>;
 101			#cooling-cells = <2>;
 102		};
 103
 104		cpu5: cpu@101 {
 105			device_type = "cpu";
 106			compatible = "arm,cortex-a53";
 107			reg = <0x101>;
 108			enable-method = "psci";
 109			capacity-dmips-mhz = <1024>;
 110			interconnects = <&bimc MAS_APPS_PROC RPM_ACTIVE_TAG
 111					 &bimc SLV_EBI RPM_ACTIVE_TAG>;
 112			next-level-cache = <&l2_1>;
 113			#cooling-cells = <2>;
 114		};
 115
 116		cpu6: cpu@102 {
 117			device_type = "cpu";
 118			compatible = "arm,cortex-a53";
 119			reg = <0x102>;
 120			enable-method = "psci";
 121			capacity-dmips-mhz = <1024>;
 122			interconnects = <&bimc MAS_APPS_PROC RPM_ACTIVE_TAG
 123					 &bimc SLV_EBI RPM_ACTIVE_TAG>;
 124			next-level-cache = <&l2_1>;
 125			#cooling-cells = <2>;
 126		};
 127
 128		cpu7: cpu@103 {
 129			device_type = "cpu";
 130			compatible = "arm,cortex-a53";
 131			reg = <0x103>;
 132			enable-method = "psci";
 133			capacity-dmips-mhz = <1024>;
 134			interconnects = <&bimc MAS_APPS_PROC RPM_ACTIVE_TAG
 135					 &bimc SLV_EBI RPM_ACTIVE_TAG>;
 136			next-level-cache = <&l2_1>;
 137			#cooling-cells = <2>;
 138		};
 139
 140		cpu-map {
 141			cluster0 {
 142				core0 {
 143					cpu = <&cpu0>;
 144				};
 145				core1 {
 146					cpu = <&cpu1>;
 147				};
 148				core2 {
 149					cpu = <&cpu2>;
 150				};
 151				core3 {
 152					cpu = <&cpu3>;
 153				};
 154			};
 155
 156			cluster1 {
 157				core0 {
 158					cpu = <&cpu4>;
 159				};
 160				core1 {
 161					cpu = <&cpu5>;
 162				};
 163				core2 {
 164					cpu = <&cpu6>;
 165				};
 166				core3 {
 167					cpu = <&cpu7>;
 168				};
 169			};
 170		};
 171
 172		l2_0: l2-cache-0 {
 173			compatible = "cache";
 174			cache-level = <2>;
 175			cache-unified;
 176		};
 177
 178		l2_1: l2-cache-1 {
 179			compatible = "cache";
 180			cache-level = <2>;
 181			cache-unified;
 182		};
 183	};
 184
 185	firmware {
 186		scm: scm {
 187			compatible = "qcom,scm-msm8953", "qcom,scm";
 188			clocks = <&gcc GCC_CRYPTO_CLK>,
 189				 <&gcc GCC_CRYPTO_AXI_CLK>,
 190				 <&gcc GCC_CRYPTO_AHB_CLK>;
 191			clock-names = "core", "bus", "iface";
 192			#reset-cells = <1>;
 193		};
 194	};
 195
 196	memory@10000000 {
 197		device_type = "memory";
 198		/* We expect the bootloader to fill in the reg */
 199		reg = <0 0x10000000 0 0>;
 200	};
 201
 202	pmu {
 203		compatible = "arm,cortex-a53-pmu";
 204		interrupts = <GIC_PPI 7 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_HIGH)>;
 205	};
 206
 207	psci {
 208		compatible = "arm,psci-1.0";
 209		method = "smc";
 210	};
 211
 212	rpm: remoteproc {
 213		compatible = "qcom,msm8953-rpm-proc", "qcom,rpm-proc";
 214
 215		smd-edge {
 216			interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>;
 217			mboxes = <&apcs 0>;
 218			qcom,smd-edge = <15>;
 219
 220			rpm_requests: rpm-requests {
 221				compatible = "qcom,rpm-msm8953", "qcom,smd-rpm";
 222				qcom,smd-channels = "rpm_requests";
 223
 224				rpmcc: clock-controller {
 225					compatible = "qcom,rpmcc-msm8953", "qcom,rpmcc";
 226					clocks = <&xo_board>;
 227					clock-names = "xo";
 228					#clock-cells = <1>;
 229				};
 230
 231				rpmpd: power-controller {
 232					compatible = "qcom,msm8953-rpmpd";
 233					#power-domain-cells = <1>;
 234					operating-points-v2 = <&rpmpd_opp_table>;
 235
 236					rpmpd_opp_table: opp-table {
 237						compatible = "operating-points-v2";
 238
 239						rpmpd_opp_ret: opp1 {
 240							opp-level = <RPM_SMD_LEVEL_RETENTION>;
 241						};
 242
 243						rpmpd_opp_ret_plus: opp2 {
 244							opp-level = <RPM_SMD_LEVEL_RETENTION_PLUS>;
 245						};
 246
 247						rpmpd_opp_min_svs: opp3 {
 248							opp-level = <RPM_SMD_LEVEL_MIN_SVS>;
 249						};
 250
 251						rpmpd_opp_low_svs: opp4 {
 252							opp-level = <RPM_SMD_LEVEL_LOW_SVS>;
 253						};
 254
 255						rpmpd_opp_svs: opp5 {
 256							opp-level = <RPM_SMD_LEVEL_SVS>;
 257						};
 258
 259						rpmpd_opp_svs_plus: opp6 {
 260							opp-level = <RPM_SMD_LEVEL_SVS_PLUS>;
 261						};
 262
 263						rpmpd_opp_nom: opp7 {
 264							opp-level = <RPM_SMD_LEVEL_NOM>;
 265						};
 266
 267						rpmpd_opp_nom_plus: opp8 {
 268							opp-level = <RPM_SMD_LEVEL_NOM_PLUS>;
 269						};
 270
 271						rpmpd_opp_turbo: opp9 {
 272							opp-level = <RPM_SMD_LEVEL_TURBO>;
 273						};
 274					};
 275				};
 276			};
 277		};
 278	};
 279
 280	reserved-memory {
 281		#address-cells = <2>;
 282		#size-cells = <2>;
 283		ranges;
 284
 285		zap_shader_region: zap@81800000 {
 286			compatible = "shared-dma-pool";
 287			reg = <0x0 0x81800000 0x0 0x2000>;
 288			no-map;
 289		};
 290
 291		qseecom_mem: qseecom@85b00000 {
 292			reg = <0x0 0x85b00000 0x0 0x800000>;
 293			no-map;
 294		};
 295
 296		smem_mem: smem@86300000 {
 297			compatible = "qcom,smem";
 298			reg = <0x0 0x86300000 0x0 0x100000>;
 299			qcom,rpm-msg-ram = <&rpm_msg_ram>;
 300			hwlocks = <&tcsr_mutex 3>;
 301			no-map;
 302		};
 303
 304		reserved@86400000 {
 305			reg = <0x0 0x86400000 0x0 0x400000>;
 306			no-map;
 307		};
 308
 309		mpss_mem: mpss@86c00000 {
 310			reg = <0x0 0x86c00000 0x0 0x6a00000>;
 311			no-map;
 312		};
 313
 314		adsp_fw_mem: adsp@8d600000 {
 315			reg = <0x0 0x8d600000 0x0 0x1100000>;
 316			no-map;
 317		};
 318
 319		wcnss_fw_mem: wcnss@8e700000 {
 320			reg = <0x0 0x8e700000 0x0 0x700000>;
 321			no-map;
 322		};
 323
 324		dfps_data_mem: dfps-data@90000000 {
 325			reg = <0 0x90000000 0 0x1000>;
 326			no-map;
 327		};
 328
 329		cont_splash_mem: cont-splash@90001000 {
 330			reg = <0x0 0x90001000 0x0 0x13ff000>;
 331			no-map;
 332		};
 333
 334		venus_mem: venus@91400000 {
 335			reg = <0x0 0x91400000 0x0 0x700000>;
 336			no-map;
 337		};
 338
 339		mba_mem: mba@92000000 {
 340			reg = <0x0 0x92000000 0x0 0x100000>;
 341			no-map;
 342		};
 343
 344		rmtfs@f2d00000 {
 345			compatible = "qcom,rmtfs-mem";
 346			reg = <0x0 0xf2d00000 0x0 0x180000>;
 347			no-map;
 348
 349			qcom,client-id = <1>;
 350		};
 351	};
 352
 353	smp2p-adsp {
 354		compatible = "qcom,smp2p";
 355		qcom,smem = <443>, <429>;
 356
 357		interrupts = <GIC_SPI 291 IRQ_TYPE_EDGE_RISING>;
 358
 359		mboxes = <&apcs 10>;
 360
 361		qcom,local-pid = <0>;
 362		qcom,remote-pid = <2>;
 363
 364		smp2p_adsp_out: master-kernel {
 365			qcom,entry-name = "master-kernel";
 366			#qcom,smem-state-cells = <1>;
 367		};
 368
 369		smp2p_adsp_in: slave-kernel {
 370			qcom,entry-name = "slave-kernel";
 371
 372			interrupt-controller;
 373			#interrupt-cells = <2>;
 374		};
 375	};
 376
 377	smp2p-modem {
 378		compatible = "qcom,smp2p";
 379		qcom,smem = <435>, <428>;
 380
 381		interrupts = <GIC_SPI 27 IRQ_TYPE_EDGE_RISING>;
 382
 383		mboxes = <&apcs 14>;
 384
 385		qcom,local-pid = <0>;
 386		qcom,remote-pid = <1>;
 387
 388		smp2p_modem_out: master-kernel {
 389			qcom,entry-name = "master-kernel";
 390
 391			#qcom,smem-state-cells = <1>;
 392		};
 393
 394		smp2p_modem_in: slave-kernel {
 395			qcom,entry-name = "slave-kernel";
 396
 397			interrupt-controller;
 398			#interrupt-cells = <2>;
 399		};
 400	};
 401
 402	smp2p-wcnss {
 403		compatible = "qcom,smp2p";
 404		qcom,smem = <451>, <431>;
 405
 406		interrupts = <GIC_SPI 143 IRQ_TYPE_EDGE_RISING>;
 407
 408		mboxes = <&apcs 18>;
 409
 410		qcom,local-pid = <0>;
 411		qcom,remote-pid = <4>;
 412
 413		smp2p_wcnss_out: master-kernel {
 414			qcom,entry-name = "master-kernel";
 415
 416			#qcom,smem-state-cells = <1>;
 417		};
 418
 419		smp2p_wcnss_in: slave-kernel {
 420			qcom,entry-name = "slave-kernel";
 421
 422			interrupt-controller;
 423			#interrupt-cells = <2>;
 424		};
 425	};
 426
 427	smsm {
 428		compatible = "qcom,smsm";
 429
 430		#address-cells = <1>;
 431		#size-cells = <0>;
 432
 433		mboxes = <0>, <&apcs 13>, <0>, <&apcs 19>;
 434
 435		apps_smsm: apps@0 {
 436			reg = <0>;
 437
 438			#qcom,smem-state-cells = <1>;
 439		};
 440
 441		modem_smsm: modem@1 {
 442			reg = <1>;
 443			interrupts = <GIC_SPI 26 IRQ_TYPE_EDGE_RISING>;
 444
 445			interrupt-controller;
 446			#interrupt-cells = <2>;
 447		};
 448
 449		wcnss_smsm: wcnss@6 {
 450			reg = <6>;
 451			interrupts = <GIC_SPI 144 IRQ_TYPE_EDGE_RISING>;
 452
 453			interrupt-controller;
 454			#interrupt-cells = <2>;
 455		};
 456	};
 457
 458	soc: soc@0 {
 459		#address-cells = <1>;
 460		#size-cells = <1>;
 461		ranges = <0 0 0 0xffffffff>;
 462		compatible = "simple-bus";
 463
 464		rpm_msg_ram: sram@60000 {
 465			compatible = "qcom,rpm-msg-ram";
 466			reg = <0x00060000 0x8000>;
 467		};
 468
 469		hsusb_phy: phy@79000 {
 470			compatible = "qcom,msm8953-qusb2-phy";
 471			reg = <0x00079000 0x180>;
 472			#phy-cells = <0>;
 473
 474			clocks = <&gcc GCC_USB_PHY_CFG_AHB_CLK>,
 475				 <&gcc GCC_QUSB_REF_CLK>;
 476			clock-names = "cfg_ahb", "ref";
 477
 478			qcom,tcsr-syscon = <&tcsr_phy_clk_scheme_sel>;
 479
 480			resets = <&gcc GCC_QUSB2_PHY_BCR>;
 481
 482			status = "disabled";
 483		};
 484
 485		rng@e3000 {
 486			compatible = "qcom,prng";
 487			reg = <0x000e3000 0x1000>;
 488			clocks = <&gcc GCC_PRNG_AHB_CLK>;
 489			clock-names = "core";
 490		};
 491
 492		bimc: interconnect@400000 {
 493			compatible = "qcom,msm8953-bimc";
 494			reg = <0x00400000 0x5a000>;
 495
 496			#interconnect-cells = <2>;
 497		};
 498
 499		tsens0: thermal-sensor@4a9000 {
 500			compatible = "qcom,msm8953-tsens", "qcom,tsens-v2";
 501			reg = <0x004a9000 0x1000>, /* TM */
 502			      <0x004a8000 0x1000>; /* SROT */
 503			#qcom,sensors = <16>;
 504			interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>,
 505				     <GIC_SPI 314 IRQ_TYPE_LEVEL_HIGH>;
 506			interrupt-names = "uplow", "critical";
 507			#thermal-sensor-cells = <1>;
 508		};
 509
 510		restart@4ab000 {
 511			compatible = "qcom,pshold";
 512			reg = <0x004ab000 0x4>;
 513		};
 514
 515		pcnoc: interconnect@500000 {
 516			compatible = "qcom,msm8953-pcnoc";
 517			reg = <0x00500000 0x12080>;
 518
 519			clocks = <&gcc GCC_PCNOC_USB3_AXI_CLK>;
 520			clock-names = "pcnoc_usb3_axi";
 521
 522			#interconnect-cells = <2>;
 523		};
 524
 525		snoc: interconnect@580000 {
 526			compatible = "qcom,msm8953-snoc";
 527			reg = <0x00580000 0x16080>;
 528
 529			#interconnect-cells = <2>;
 530
 531			snoc_mm: interconnect-snoc {
 532				compatible = "qcom,msm8953-snoc-mm";
 533
 534				#interconnect-cells = <2>;
 535			};
 536		};
 537
 538		tlmm: pinctrl@1000000 {
 539			compatible = "qcom,msm8953-pinctrl";
 540			reg = <0x01000000 0x300000>;
 541			interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;
 542			gpio-controller;
 543			gpio-ranges = <&tlmm 0 0 142>;
 544			#gpio-cells = <2>;
 545			interrupt-controller;
 546			#interrupt-cells = <2>;
 547
 548			uart_console_active: uart-console-active-state {
 549				pins = "gpio4", "gpio5";
 550				function = "blsp_uart2";
 551				drive-strength = <2>;
 552				bias-disable;
 553			};
 554
 555			uart_console_sleep: uart-console-sleep-state {
 556				pins = "gpio4", "gpio5";
 557				function = "blsp_uart2";
 558				drive-strength = <2>;
 559				bias-pull-down;
 560			};
 561
 562			sdc1_clk_on: sdc1-clk-on-state {
 563				pins = "sdc1_clk";
 564				bias-disable;
 565				drive-strength = <16>;
 566			};
 567
 568			sdc1_clk_off: sdc1-clk-off-state {
 569				pins = "sdc1_clk";
 570				bias-disable;
 571				drive-strength = <2>;
 572			};
 573
 574			sdc1_cmd_on: sdc1-cmd-on-state {
 575				pins = "sdc1_cmd";
 576				bias-disable;
 577				drive-strength = <10>;
 578			};
 579
 580			sdc1_cmd_off: sdc1-cmd-off-state {
 581				pins = "sdc1_cmd";
 582				bias-disable;
 583				drive-strength = <2>;
 584			};
 585
 586			sdc1_data_on: sdc1-data-on-state {
 587				pins = "sdc1_data";
 588				bias-pull-up;
 589				drive-strength = <10>;
 590			};
 591
 592			sdc1_data_off: sdc1-data-off-state {
 593				pins = "sdc1_data";
 594				bias-pull-up;
 595				drive-strength = <2>;
 596			};
 597
 598			sdc1_rclk_on: sdc1-rclk-on-state {
 599				pins = "sdc1_rclk";
 600				bias-pull-down;
 601			};
 602
 603			sdc1_rclk_off: sdc1-rclk-off-state {
 604				pins = "sdc1_rclk";
 605				bias-pull-down;
 606			};
 607
 608			sdc2_clk_on: sdc2-clk-on-state {
 609				pins = "sdc2_clk";
 610				drive-strength = <16>;
 611				bias-disable;
 612			};
 613
 614			sdc2_clk_off: sdc2-clk-off-state {
 615				pins = "sdc2_clk";
 616				bias-disable;
 617				drive-strength = <2>;
 618			};
 619
 620			sdc2_cmd_on: sdc2-cmd-on-state {
 621				pins = "sdc2_cmd";
 622				bias-pull-up;
 623				drive-strength = <10>;
 624			};
 625
 626			sdc2_cmd_off: sdc2-cmd-off-state {
 627				pins = "sdc2_cmd";
 628				bias-pull-up;
 629				drive-strength = <2>;
 630			};
 631
 632			sdc2_data_on: sdc2-data-on-state {
 633				pins = "sdc2_data";
 634				bias-pull-up;
 635				drive-strength = <10>;
 636			};
 637
 638			sdc2_data_off: sdc2-data-off-state {
 639				pins = "sdc2_data";
 640				bias-pull-up;
 641				drive-strength = <2>;
 642			};
 643
 644			sdc2_cd_on: cd-on-state {
 645				pins = "gpio133";
 646				function = "gpio";
 647				drive-strength = <2>;
 648				bias-pull-up;
 649			};
 650
 651			sdc2_cd_off: cd-off-state {
 652				pins = "gpio133";
 653				function = "gpio";
 654				drive-strength = <2>;
 655				bias-disable;
 656			};
 657
 658			gpio_key_default: gpio-key-default-state {
 659				pins = "gpio85";
 660				function = "gpio";
 661				drive-strength = <2>;
 662				bias-pull-up;
 663			};
 664
 665			i2c_1_default: i2c-1-default-state {
 666				pins = "gpio2", "gpio3";
 667				function = "blsp_i2c1";
 668				drive-strength = <2>;
 669				bias-disable;
 670			};
 671
 672			i2c_1_sleep: i2c-1-sleep-state {
 673				pins = "gpio2", "gpio3";
 674				function = "gpio";
 675				drive-strength = <2>;
 676				bias-disable;
 677			};
 678
 679			i2c_2_default: i2c-2-default-state {
 680				pins = "gpio6", "gpio7";
 681				function = "blsp_i2c2";
 682				drive-strength = <2>;
 683				bias-disable;
 684			};
 685
 686			i2c_2_sleep: i2c-2-sleep-state {
 687				pins = "gpio6", "gpio7";
 688				function = "gpio";
 689				drive-strength = <2>;
 690				bias-disable;
 691			};
 692
 693			i2c_3_default: i2c-3-default-state {
 694				pins = "gpio10", "gpio11";
 695				function = "blsp_i2c3";
 696				drive-strength = <2>;
 697				bias-disable;
 698			};
 699
 700			i2c_3_sleep: i2c-3-sleep-state {
 701				pins = "gpio10", "gpio11";
 702				function = "gpio";
 703				drive-strength = <2>;
 704				bias-disable;
 705			};
 706
 707			i2c_4_default: i2c-4-default-state {
 708				pins = "gpio14", "gpio15";
 709				function = "blsp_i2c4";
 710				drive-strength = <2>;
 711				bias-disable;
 712			};
 713
 714			i2c_4_sleep: i2c-4-sleep-state {
 715				pins = "gpio14", "gpio15";
 716				function = "gpio";
 717				drive-strength = <2>;
 718				bias-disable;
 719			};
 720
 721			i2c_5_default: i2c-5-default-state {
 722				pins = "gpio18", "gpio19";
 723				function = "blsp_i2c5";
 724				drive-strength = <2>;
 725				bias-disable;
 726			};
 727
 728			i2c_5_sleep: i2c-5-sleep-state {
 729				pins = "gpio18", "gpio19";
 730				function = "gpio";
 731				drive-strength = <2>;
 732				bias-disable;
 733			};
 734
 735			i2c_6_default: i2c-6-default-state {
 736				pins = "gpio22", "gpio23";
 737				function = "blsp_i2c6";
 738				drive-strength = <2>;
 739				bias-disable;
 740			};
 741
 742			i2c_6_sleep: i2c-6-sleep-state {
 743				pins = "gpio22", "gpio23";
 744				function = "gpio";
 745				drive-strength = <2>;
 746				bias-disable;
 747			};
 748
 749			i2c_7_default: i2c-7-default-state {
 750				pins = "gpio135", "gpio136";
 751				function = "blsp_i2c7";
 752				drive-strength = <2>;
 753				bias-disable;
 754			};
 755
 756			i2c_7_sleep: i2c-7-sleep-state {
 757				pins = "gpio135", "gpio136";
 758				function = "gpio";
 759				drive-strength = <2>;
 760				bias-disable;
 761			};
 762
 763			i2c_8_default: i2c-8-default-state {
 764				pins = "gpio98", "gpio99";
 765				function = "blsp_i2c8";
 766				drive-strength = <2>;
 767				bias-disable;
 768			};
 769
 770			i2c_8_sleep: i2c-8-sleep-state {
 771				pins = "gpio98", "gpio99";
 772				function = "gpio";
 773				drive-strength = <2>;
 774				bias-disable;
 775			};
 776
 777			spi_3_default: spi-3-default-state {
 778				cs-pins {
 779					pins = "gpio10";
 780					function = "blsp_spi3";
 781					drive-strength = <2>;
 782					bias-disable;
 783				};
 784
 785				spi-pins {
 786					pins = "gpio8", "gpio9", "gpio11";
 787					function = "blsp_spi3";
 788					drive-strength = <12>;
 789					bias-disable;
 790				};
 791			};
 792
 793			spi_3_sleep: spi-3-sleep-state {
 794				cs-pins {
 795					pins = "gpio10";
 796					function = "gpio";
 797					drive-strength = <2>;
 798					bias-disable;
 799				};
 800
 801				spi-pins {
 802					pins = "gpio8", "gpio9", "gpio11";
 803					function = "gpio";
 804					drive-strength = <2>;
 805					bias-pull-down;
 806				};
 807			};
 808
 809			spi_5_default: spi-5-default-state {
 810				cs-pins {
 811					pins = "gpio18";
 812					function = "blsp_spi5";
 813					drive-strength = <2>;
 814					bias-disable;
 815				};
 816
 817				spi-pins {
 818					pins = "gpio16", "gpio17", "gpio19";
 819					function = "blsp_spi5";
 820					drive-strength = <12>;
 821					bias-disable;
 822				};
 823			};
 824
 825			spi_5_sleep: spi-5-sleep-state {
 826				cs-pins {
 827					pins = "gpio18";
 828					function = "gpio";
 829					drive-strength = <2>;
 830					bias-disable;
 831				};
 832
 833				spi-pins {
 834					pins = "gpio16", "gpio17", "gpio19";
 835					function = "gpio";
 836					drive-strength = <2>;
 837					bias-pull-down;
 838				};
 839			};
 840
 841			spi_6_default: spi-6-default-state {
 842				cs-pins {
 843					pins = "gpio22";
 844					function = "blsp_spi6";
 845					drive-strength = <2>;
 846					bias-disable;
 847				};
 848
 849				spi-pins {
 850					pins = "gpio20", "gpio21", "gpio23";
 851					function = "blsp_spi6";
 852					drive-strength = <12>;
 853					bias-disable;
 854				};
 855			};
 856
 857			spi_6_sleep: spi-6-sleep-state {
 858				cs-pins {
 859					pins = "gpio22";
 860					function = "gpio";
 861					drive-strength = <2>;
 862					bias-disable;
 863				};
 864
 865				spi-pins {
 866					pins = "gpio20", "gpio21", "gpio23";
 867					function = "gpio";
 868					drive-strength = <2>;
 869					bias-pull-down;
 870				};
 871			};
 872
 873			spi_7_default: spi-7-default-state {
 874				cs-pins {
 875					pins = "gpio136";
 876					function = "blsp_spi7";
 877					drive-strength = <2>;
 878					bias-disable;
 879				};
 880
 881				spi-pins {
 882					pins = "gpio135", "gpio137", "gpio138";
 883					function = "blsp_spi7";
 884					drive-strength = <12>;
 885					bias-disable;
 886				};
 887			};
 888
 889			spi_7_sleep: spi-7-sleep-state {
 890				cs-pins {
 891					pins = "gpio136";
 892					function = "gpio";
 893					drive-strength = <2>;
 894					bias-disable;
 895				};
 896
 897				spi-pins {
 898					pins = "gpio135", "gpio137", "gpio138";
 899					function = "gpio";
 900					drive-strength = <2>;
 901					bias-pull-down;
 902				};
 903			};
 904
 905			uart_5_default: uart-5-default-state {
 906				pins = "gpio16", "gpio17", "gpio18", "gpio19";
 907				function = "blsp_uart5";
 908				drive-strength = <16>;
 909				bias-disable;
 910			};
 911
 912			uart_5_sleep: uart-5-sleep-state {
 913				pins = "gpio16", "gpio17", "gpio18", "gpio19";
 914				function = "gpio";
 915				drive-strength = <2>;
 916				bias-disable;
 917			};
 918
 919			wcnss_pin_a: wcnss-active-state {
 920
 921				wcss-wlan2-pins {
 922					pins = "gpio76";
 923					function = "wcss_wlan2";
 924					drive-strength = <6>;
 925					bias-pull-up;
 926				};
 927
 928				wcss-wlan1-pins {
 929					pins = "gpio77";
 930					function = "wcss_wlan1";
 931					drive-strength = <6>;
 932					bias-pull-up;
 933				};
 934
 935				wcss-wlan0-pins {
 936					pins = "gpio78";
 937					function = "wcss_wlan0";
 938					drive-strength = <6>;
 939					bias-pull-up;
 940				};
 941
 942				wcss-wlan-pins {
 943					pins = "gpio79", "gpio80";
 944					function = "wcss_wlan";
 945					drive-strength = <6>;
 946					bias-pull-up;
 947				};
 948			};
 949		};
 950
 951		gcc: clock-controller@1800000 {
 952			compatible = "qcom,gcc-msm8953";
 953			reg = <0x01800000 0x80000>;
 954			#clock-cells = <1>;
 955			#reset-cells = <1>;
 956			#power-domain-cells = <1>;
 957			clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>,
 958				 <&sleep_clk>,
 959				 <&mdss_dsi0_phy DSI_PIXEL_PLL_CLK>,
 960				 <&mdss_dsi0_phy DSI_BYTE_PLL_CLK>,
 961				 <&mdss_dsi1_phy DSI_PIXEL_PLL_CLK>,
 962				 <&mdss_dsi1_phy DSI_BYTE_PLL_CLK>;
 963			clock-names = "xo",
 964				      "sleep",
 965				      "dsi0pll",
 966				      "dsi0pllbyte",
 967				      "dsi1pll",
 968				      "dsi1pllbyte";
 969		};
 970
 971		tcsr_mutex: hwlock@1905000 {
 972			compatible = "qcom,tcsr-mutex";
 973			reg = <0x01905000 0x20000>;
 974			#hwlock-cells = <1>;
 975		};
 976
 977		tcsr: syscon@1937000 {
 978			compatible = "qcom,tcsr-msm8953", "syscon";
 979			reg = <0x01937000 0x30000>;
 980		};
 981
 982		tcsr_phy_clk_scheme_sel: syscon@193f044 {
 983			compatible = "qcom,tcsr-msm8953", "syscon";
 984			reg = <0x0193f044 0x4>;
 985		};
 986
 987		mdss: display-subsystem@1a00000 {
 988			compatible = "qcom,mdss";
 989
 990			reg = <0x01a00000 0x1000>,
 991			      <0x01ab0000 0x1040>;
 992			reg-names = "mdss_phys",
 993				    "vbif_phys";
 994
 995			power-domains = <&gcc MDSS_GDSC>;
 996			interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
 997
 998			interrupt-controller;
 999			#interrupt-cells = <1>;
1000
1001			interconnects = <&snoc_mm MAS_MDP RPM_ALWAYS_TAG
1002					 &bimc SLV_EBI RPM_ALWAYS_TAG>,
1003					<&bimc MAS_APPS_PROC RPM_ACTIVE_TAG
1004					 &pcnoc SLV_DISP_SS_CFG RPM_ACTIVE_TAG>;
1005			interconnect-names = "mdp0-mem",
1006					     "cpu-cfg";
1007
1008			clocks = <&gcc GCC_MDSS_AHB_CLK>,
1009				 <&gcc GCC_MDSS_AXI_CLK>,
1010				 <&gcc GCC_MDSS_VSYNC_CLK>,
1011				 <&gcc GCC_MDSS_MDP_CLK>;
1012			clock-names = "iface",
1013				      "bus",
1014				      "vsync",
1015				      "core";
1016
1017			resets = <&gcc GCC_MDSS_BCR>;
1018
1019			#address-cells = <1>;
1020			#size-cells = <1>;
1021			ranges;
1022
1023			status = "disabled";
1024
1025			mdp: display-controller@1a01000 {
1026				compatible = "qcom,msm8953-mdp5", "qcom,mdp5";
1027				reg = <0x01a01000 0x89000>;
1028				reg-names = "mdp_phys";
1029
1030				interrupt-parent = <&mdss>;
1031				interrupts = <0>;
1032
1033				power-domains = <&gcc MDSS_GDSC>;
1034
1035				clocks = <&gcc GCC_MDSS_AHB_CLK>,
1036					 <&gcc GCC_MDSS_AXI_CLK>,
1037					 <&gcc GCC_MDSS_MDP_CLK>,
1038					 <&gcc GCC_MDSS_VSYNC_CLK>;
1039				clock-names = "iface",
1040					      "bus",
1041					      "core",
1042					      "vsync";
1043
1044				iommus = <&apps_iommu 0x15>;
1045
1046				ports {
1047					#address-cells = <1>;
1048					#size-cells = <0>;
1049
1050					port@0 {
1051						reg = <0>;
1052						mdp5_intf1_out: endpoint {
1053							remote-endpoint = <&mdss_dsi0_in>;
1054						};
1055					};
1056
1057					port@1 {
1058						reg = <1>;
1059						mdp5_intf2_out: endpoint {
1060							remote-endpoint = <&mdss_dsi1_in>;
1061						};
1062					};
1063				};
1064			};
1065
1066			mdss_dsi0: dsi@1a94000 {
1067				compatible = "qcom,msm8953-dsi-ctrl", "qcom,mdss-dsi-ctrl";
1068				reg = <0x01a94000 0x400>;
1069				reg-names = "dsi_ctrl";
1070
1071				interrupt-parent = <&mdss>;
1072				interrupts = <4>;
1073
1074				assigned-clocks = <&gcc BYTE0_CLK_SRC>,
1075						  <&gcc PCLK0_CLK_SRC>;
1076				assigned-clock-parents = <&mdss_dsi0_phy DSI_BYTE_PLL_CLK>,
1077							 <&mdss_dsi0_phy DSI_PIXEL_PLL_CLK>;
1078
1079				clocks = <&gcc GCC_MDSS_MDP_CLK>,
1080					 <&gcc GCC_MDSS_AHB_CLK>,
1081					 <&gcc GCC_MDSS_AXI_CLK>,
1082					 <&gcc GCC_MDSS_BYTE0_CLK>,
1083					 <&gcc GCC_MDSS_PCLK0_CLK>,
1084					 <&gcc GCC_MDSS_ESC0_CLK>;
1085				clock-names = "mdp_core",
1086					      "iface",
1087					      "bus",
1088					      "byte",
1089					      "pixel",
1090					      "core";
1091
1092				phys = <&mdss_dsi0_phy>;
1093
1094				#address-cells = <1>;
1095				#size-cells = <0>;
1096
1097				status = "disabled";
1098
1099				ports {
1100					#address-cells = <1>;
1101					#size-cells = <0>;
1102
1103					port@0 {
1104						reg = <0>;
1105						mdss_dsi0_in: endpoint {
1106							remote-endpoint = <&mdp5_intf1_out>;
1107						};
1108					};
1109
1110					port@1 {
1111						reg = <1>;
1112						mdss_dsi0_out: endpoint {
1113						};
1114					};
1115				};
1116			};
1117
1118			mdss_dsi0_phy: phy@1a94400 {
1119				compatible = "qcom,dsi-phy-14nm-8953";
1120				reg = <0x01a94400 0x100>,
1121				      <0x01a94500 0x300>,
1122				      <0x01a94800 0x188>;
1123				reg-names = "dsi_phy",
1124					    "dsi_phy_lane",
1125					    "dsi_pll";
1126
1127				#clock-cells = <1>;
1128				#phy-cells = <0>;
1129
1130				clocks = <&gcc GCC_MDSS_AHB_CLK>, <&rpmcc RPM_SMD_XO_CLK_SRC>;
1131				clock-names = "iface", "ref";
1132
1133				status = "disabled";
1134			};
1135
1136			mdss_dsi1: dsi@1a96000 {
1137				compatible = "qcom,msm8953-dsi-ctrl", "qcom,mdss-dsi-ctrl";
1138				reg = <0x01a96000 0x400>;
1139				reg-names = "dsi_ctrl";
1140
1141				interrupt-parent = <&mdss>;
1142				interrupts = <5>;
1143
1144				assigned-clocks = <&gcc BYTE1_CLK_SRC>,
1145						  <&gcc PCLK1_CLK_SRC>;
1146				assigned-clock-parents = <&mdss_dsi1_phy DSI_BYTE_PLL_CLK>,
1147							 <&mdss_dsi1_phy DSI_PIXEL_PLL_CLK>;
1148
1149				clocks = <&gcc GCC_MDSS_MDP_CLK>,
1150					 <&gcc GCC_MDSS_AHB_CLK>,
1151					 <&gcc GCC_MDSS_AXI_CLK>,
1152					 <&gcc GCC_MDSS_BYTE1_CLK>,
1153					 <&gcc GCC_MDSS_PCLK1_CLK>,
1154					 <&gcc GCC_MDSS_ESC1_CLK>;
1155				clock-names = "mdp_core",
1156					      "iface",
1157					      "bus",
1158					      "byte",
1159					      "pixel",
1160					      "core";
1161
1162				phys = <&mdss_dsi1_phy>;
1163
1164				status = "disabled";
1165
1166				ports {
1167					#address-cells = <1>;
1168					#size-cells = <0>;
1169
1170					port@0 {
1171						reg = <0>;
1172						mdss_dsi1_in: endpoint {
1173							remote-endpoint = <&mdp5_intf2_out>;
1174						};
1175					};
1176
1177					port@1 {
1178						reg = <1>;
1179						mdss_dsi1_out: endpoint {
1180						};
1181					};
1182				};
1183			};
1184
1185			mdss_dsi1_phy: phy@1a96400 {
1186				compatible = "qcom,dsi-phy-14nm-8953";
1187				reg = <0x01a96400 0x100>,
1188				      <0x01a96500 0x300>,
1189				      <0x01a96800 0x188>;
1190				reg-names = "dsi_phy",
1191					    "dsi_phy_lane",
1192					    "dsi_pll";
1193
1194				#clock-cells = <1>;
1195				#phy-cells = <0>;
1196
1197				clocks = <&gcc GCC_MDSS_AHB_CLK>, <&rpmcc RPM_SMD_XO_CLK_SRC>;
1198				clock-names = "iface", "ref";
1199
1200				status = "disabled";
1201			};
1202		};
1203
1204		gpu: gpu@1c00000 {
1205			compatible = "qcom,adreno-506.0", "qcom,adreno";
1206			reg = <0x01c00000 0x40000>;
1207			reg-names = "kgsl_3d0_reg_memory";
1208			interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
1209
1210			clocks = <&gcc GCC_OXILI_GFX3D_CLK>,
1211				 <&gcc GCC_OXILI_AHB_CLK>,
1212				 <&gcc GCC_BIMC_GFX_CLK>,
1213				 <&gcc GCC_BIMC_GPU_CLK>,
1214				 <&gcc GCC_OXILI_TIMER_CLK>,
1215				 <&gcc GCC_OXILI_AON_CLK>;
1216			clock-names = "core",
1217				      "iface",
1218				      "mem_iface",
1219				      "alt_mem_iface",
1220				      "rbbmtimer",
1221				      "alwayson";
1222			power-domains = <&gcc OXILI_GX_GDSC>;
1223
1224			interconnects = <&bimc MAS_OXILI RPM_ALWAYS_TAG
1225					 &bimc SLV_EBI RPM_ALWAYS_TAG>,
1226					<&bimc MAS_APPS_PROC RPM_ACTIVE_TAG
1227					 &pcnoc SLV_GPU_CFG RPM_ACTIVE_TAG>;
1228
1229			iommus = <&gpu_iommu 0>;
1230			operating-points-v2 = <&gpu_opp_table>;
1231
1232			#cooling-cells = <2>;
1233
1234			status = "disabled";
1235
1236			gpu_zap_shader: zap-shader {
1237				memory-region = <&zap_shader_region>;
1238			};
1239
1240			gpu_opp_table: opp-table {
1241				compatible = "operating-points-v2";
1242
1243				opp-19200000 {
1244					opp-hz = /bits/ 64 <19200000>;
1245					opp-supported-hw = <0xff>;
1246					required-opps = <&rpmpd_opp_min_svs>;
1247				};
1248
1249				opp-133300000 {
1250					opp-hz = /bits/ 64 <133300000>;
1251					opp-supported-hw = <0xff>;
1252					required-opps = <&rpmpd_opp_min_svs>;
1253				};
1254
1255				opp-216000000 {
1256					opp-hz = /bits/ 64 <216000000>;
1257					opp-supported-hw = <0xff>;
1258					required-opps = <&rpmpd_opp_low_svs>;
1259				};
1260
1261				opp-320000000 {
1262					opp-hz = /bits/ 64 <320000000>;
1263					opp-supported-hw = <0xff>;
1264					required-opps = <&rpmpd_opp_svs>;
1265				};
1266
1267				opp-400000000 {
1268					opp-hz = /bits/ 64 <400000000>;
1269					opp-supported-hw = <0xff>;
1270					required-opps = <&rpmpd_opp_svs_plus>;
1271				};
1272
1273				opp-510000000 {
1274					opp-hz = /bits/ 64 <510000000>;
1275					opp-supported-hw = <0xff>;
1276					required-opps = <&rpmpd_opp_nom>;
1277				};
1278
1279				opp-560000000 {
1280					opp-hz = /bits/ 64 <560000000>;
1281					opp-supported-hw = <0xff>;
1282					required-opps = <&rpmpd_opp_nom_plus>;
1283				};
1284
1285				/*
1286				 * This opp is only available on msm8953 and
1287				 * sdm632, the max for sdm450 is 600MHz.
1288				 */
1289				opp-650000000 {
1290					opp-hz = /bits/ 64 <650000000>;
1291					opp-supported-hw = <0xff>;
1292					required-opps = <&rpmpd_opp_turbo>;
1293				};
1294			};
1295		};
1296
1297		gpu_iommu: iommu@1c48000 {
1298			compatible = "qcom,msm8953-iommu", "qcom,msm-iommu-v2";
1299			ranges = <0 0x01c48000 0x8000>;
1300
1301			clocks = <&gcc GCC_OXILI_AHB_CLK>,
1302				 <&gcc GCC_BIMC_GFX_CLK>;
1303			clock-names = "iface", "bus";
1304
1305			power-domains = <&gcc OXILI_CX_GDSC>;
1306
1307			qcom,iommu-secure-id = <18>;
1308
1309			#address-cells = <1>;
1310			#iommu-cells = <1>;
1311			#size-cells = <1>;
1312
1313			/* gfx3d_user */
1314			iommu-ctx@0 {
1315				compatible = "qcom,msm-iommu-v2-ns";
1316				reg = <0x0000 0x1000>;
1317				interrupts = <GIC_SPI 225 IRQ_TYPE_LEVEL_HIGH>;
1318			};
1319
1320			/* gfx3d_secure */
1321			iommu-ctx@2000 {
1322				compatible = "qcom,msm-iommu-v2-sec";
1323				reg = <0x2000 0x1000>;
1324				interrupts = <GIC_SPI 233 IRQ_TYPE_LEVEL_HIGH>;
1325			};
1326		};
1327
1328		apps_iommu: iommu@1e20000 {
1329			compatible = "qcom,msm8953-iommu", "qcom,msm-iommu-v1";
1330			ranges = <0 0x01e20000 0x20000>;
1331
1332			clocks = <&gcc GCC_SMMU_CFG_CLK>,
1333				 <&gcc GCC_APSS_TCU_ASYNC_CLK>;
1334			clock-names = "iface", "bus";
1335
1336			qcom,iommu-secure-id = <17>;
1337
1338			#address-cells = <1>;
1339			#iommu-cells = <1>;
1340			#size-cells = <1>;
1341
1342			/* VFE */
1343			iommu-ctx@14000 {
1344				compatible = "qcom,msm-iommu-v1-ns";
1345				reg = <0x14000 0x1000>;
1346				interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>;
1347			};
1348
1349			/* MDP_0 */
1350			iommu-ctx@15000 {
1351				compatible = "qcom,msm-iommu-v1-ns";
1352				reg = <0x15000 0x1000>;
1353				interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>;
1354			};
1355
1356			/* VENUS_NS */
1357			iommu-ctx@16000 {
1358				compatible = "qcom,msm-iommu-v1-ns";
1359				reg = <0x16000 0x1000>;
1360				interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
1361			};
1362		};
1363
1364		spmi_bus: spmi@200f000 {
1365			compatible = "qcom,spmi-pmic-arb";
1366			reg = <0x0200f000 0x1000>,
1367			      <0x02400000 0x800000>,
1368			      <0x02c00000 0x800000>,
1369			      <0x03800000 0x200000>,
1370			      <0x0200a000 0x2100>;
1371			reg-names = "core", "chnls", "obsrvr", "intr", "cnfg";
1372			interrupt-names = "periph_irq";
1373			interrupts = <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>;
1374			qcom,ee = <0>;
1375			qcom,channel = <0>;
1376			interrupt-controller;
1377
1378			#interrupt-cells = <4>;
1379			#address-cells = <2>;
1380			#size-cells = <0>;
1381		};
1382
1383		mpss: remoteproc@4080000 {
1384			compatible = "qcom,msm8953-mss-pil";
1385			reg = <0x04080000 0x100>,
1386			      <0x04020000 0x040>;
1387			reg-names = "qdsp6", "rmb";
1388
1389			interrupts-extended = <&intc GIC_SPI 24 IRQ_TYPE_EDGE_RISING>,
1390					      <&smp2p_modem_in 0 IRQ_TYPE_EDGE_RISING>,
1391					      <&smp2p_modem_in 1 IRQ_TYPE_EDGE_RISING>,
1392					      <&smp2p_modem_in 2 IRQ_TYPE_EDGE_RISING>,
1393					      <&smp2p_modem_in 3 IRQ_TYPE_EDGE_RISING>;
1394			interrupt-names = "wdog", "fatal", "ready",
1395					  "handover", "stop-ack";
1396
1397			power-domains = <&rpmpd MSM8953_VDDCX>,
1398					<&rpmpd MSM8953_VDDMX>,
1399					<&rpmpd MSM8953_VDDMD>;
1400			power-domain-names = "cx", "mx","mss";
1401
1402			clocks = <&gcc GCC_MSS_CFG_AHB_CLK>,
1403				 <&gcc GCC_MSS_Q6_BIMC_AXI_CLK>,
1404				 <&gcc GCC_BOOT_ROM_AHB_CLK>,
1405				 <&rpmcc RPM_SMD_XO_CLK_SRC>;
1406			clock-names = "iface", "bus", "mem", "xo";
1407
1408			qcom,smem-states = <&smp2p_modem_out 0>;
1409			qcom,smem-state-names = "stop";
1410
1411			resets = <&gcc GCC_MSS_BCR>;
1412			reset-names = "mss_restart";
1413
1414			qcom,halt-regs = <&tcsr 0x18000 0x19000 0x1a000>;
1415
1416			status = "disabled";
1417
1418			mba {
1419				memory-region = <&mba_mem>;
1420			};
1421
1422			mpss {
1423				memory-region = <&mpss_mem>;
1424			};
1425
1426			smd-edge {
1427				interrupts = <GIC_SPI 25 IRQ_TYPE_EDGE_RISING>;
1428
1429				qcom,smd-edge = <0>;
1430				mboxes = <&apcs 12>;
1431				qcom,remote-pid = <1>;
1432
1433				label = "modem";
1434			};
1435		};
1436
1437		usb3: usb@70f8800 {
1438			compatible = "qcom,msm8953-dwc3", "qcom,dwc3";
1439			reg = <0x070f8800 0x400>;
1440			#address-cells = <1>;
1441			#size-cells = <1>;
1442			ranges;
1443
1444			interrupts = <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>,
1445				     <GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>,
1446				     <GIC_SPI 220 IRQ_TYPE_LEVEL_HIGH>;
1447			interrupt-names = "pwr_event",
1448					  "qusb2_phy",
1449					  "ss_phy_irq";
1450
1451			clocks = <&gcc GCC_USB_PHY_CFG_AHB_CLK>,
1452				 <&gcc GCC_USB30_MASTER_CLK>,
1453				 <&gcc GCC_PCNOC_USB3_AXI_CLK>,
1454				 <&gcc GCC_USB30_SLEEP_CLK>,
1455				 <&gcc GCC_USB30_MOCK_UTMI_CLK>;
1456			clock-names = "cfg_noc",
1457				      "core",
1458				      "iface",
1459				      "sleep",
1460				      "mock_utmi";
1461
1462			assigned-clocks = <&gcc GCC_USB30_MOCK_UTMI_CLK>,
1463					  <&gcc GCC_USB30_MASTER_CLK>;
1464			assigned-clock-rates = <19200000>, <133330000>;
1465
1466			interconnects = <&pcnoc MAS_USB3 RPM_ALWAYS_TAG
1467					 &bimc SLV_EBI RPM_ALWAYS_TAG>,
1468					<&bimc MAS_APPS_PROC RPM_ACTIVE_TAG
1469					 &pcnoc SLV_USB3 RPM_ACTIVE_TAG>;
1470			interconnect-names = "usb-ddr",
1471					     "apps-usb";
1472
1473			power-domains = <&gcc USB30_GDSC>;
1474
1475			qcom,select-utmi-as-pipe-clk;
1476
1477			status = "disabled";
1478
1479			usb3_dwc3: usb@7000000 {
1480				compatible = "snps,dwc3";
1481				reg = <0x07000000 0xcc00>;
1482				interrupts = <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>;
1483				phys = <&hsusb_phy>;
1484				phy-names = "usb2-phy";
1485
1486				snps,usb2-gadget-lpm-disable;
1487				snps,dis-u1-entry-quirk;
1488				snps,dis-u2-entry-quirk;
1489				snps,is-utmi-l1-suspend;
1490				snps,hird-threshold = /bits/ 8 <0x00>;
1491
1492				maximum-speed = "high-speed";
1493
1494				usb-role-switch;
1495
1496				ports {
1497					#address-cells = <1>;
1498					#size-cells = <0>;
1499
1500					port@0 {
1501						reg = <0>;
1502
1503						usb_dwc3_hs: endpoint {
1504						};
1505					};
1506				};
1507			};
1508		};
1509
1510		sdhc_1: mmc@7824900 {
1511			compatible = "qcom,msm8953-sdhci", "qcom,sdhci-msm-v4";
1512
1513			reg = <0x07824900 0x500>, <0x07824000 0x800>;
1514			reg-names = "hc", "core";
1515
1516			interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>,
1517				     <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>;
1518			interrupt-names = "hc_irq", "pwr_irq";
1519
1520			clocks = <&gcc GCC_SDCC1_AHB_CLK>,
1521				 <&gcc GCC_SDCC1_APPS_CLK>,
1522				 <&rpmcc RPM_SMD_XO_CLK_SRC>;
1523			clock-names = "iface", "core", "xo";
1524
1525			interconnects = <&pcnoc MAS_SDCC_1 RPM_ALWAYS_TAG
1526					 &bimc SLV_EBI RPM_ALWAYS_TAG>,
1527					<&bimc MAS_APPS_PROC RPM_ACTIVE_TAG
1528					 &pcnoc SLV_SDCC_1 RPM_ACTIVE_TAG>;
1529			interconnect-names = "sdhc-ddr",
1530					     "cpu-sdhc";
1531
1532			power-domains = <&rpmpd MSM8953_VDDCX>;
1533			operating-points-v2 = <&sdhc1_opp_table>;
1534
1535			pinctrl-names = "default", "sleep";
1536			pinctrl-0 = <&sdc1_clk_on &sdc1_cmd_on &sdc1_data_on &sdc1_rclk_on>;
1537			pinctrl-1 = <&sdc1_clk_off &sdc1_cmd_off &sdc1_data_off &sdc1_rclk_off>;
1538
1539			mmc-hs400-1_8v;
1540			mmc-hs200-1_8v;
1541			mmc-ddr-1_8v;
1542			bus-width = <8>;
1543			non-removable;
1544
1545			status = "disabled";
1546
1547			sdhc1_opp_table: opp-table-sdhc1 {
1548				compatible = "operating-points-v2";
1549
1550				opp-25000000 {
1551					opp-hz = /bits/ 64 <25000000>;
1552					opp-peak-kBps = <200000>, <100000>;
1553					opp-avg-kBps = <65360>, <32768>;
1554					required-opps = <&rpmpd_opp_low_svs>;
1555				};
1556
1557				opp-50000000 {
1558					opp-hz = /bits/ 64 <50000000>;
1559					opp-peak-kBps = <400000>, <200000>;
1560					opp-avg-kBps = <130718>, <65360>;
1561					required-opps = <&rpmpd_opp_svs>;
1562				};
1563
1564				opp-100000000 {
1565					opp-hz = /bits/ 64 <100000000>;
1566					opp-peak-kBps = <400000>, <400000>;
1567					opp-avg-kBps = <130718>, <65360>;
1568					required-opps = <&rpmpd_opp_svs>;
1569				};
1570
1571				opp-192000000 {
1572					opp-hz = /bits/ 64 <192000000>;
1573					opp-peak-kBps = <800000>, <600000>;
1574					opp-avg-kBps = <261438>, <130718>;
1575					required-opps = <&rpmpd_opp_nom>;
1576				};
1577
1578				opp-384000000 {
1579					opp-hz = /bits/ 64 <384000000>;
1580					opp-peak-kBps = <800000>, <800000>;
1581					opp-avg-kBps = <261438>, <300000>;
1582					required-opps = <&rpmpd_opp_nom>;
1583				};
1584			};
1585		};
1586
1587		sdhc_2: mmc@7864900 {
1588			compatible = "qcom,msm8953-sdhci", "qcom,sdhci-msm-v4";
1589
1590			reg = <0x07864900 0x500>, <0x07864000 0x800>;
1591			reg-names = "hc", "core";
1592
1593			interrupts = <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>,
1594				     <GIC_SPI 221 IRQ_TYPE_LEVEL_HIGH>;
1595			interrupt-names = "hc_irq", "pwr_irq";
1596
1597			clocks = <&gcc GCC_SDCC2_AHB_CLK>,
1598				 <&gcc GCC_SDCC2_APPS_CLK>,
1599				 <&rpmcc RPM_SMD_XO_CLK_SRC>;
1600			clock-names = "iface", "core", "xo";
1601
1602			interconnects = <&pcnoc MAS_SDCC_2 RPM_ALWAYS_TAG
1603					 &bimc SLV_EBI RPM_ALWAYS_TAG>,
1604					<&bimc MAS_APPS_PROC RPM_ACTIVE_TAG
1605					 &pcnoc SLV_SDCC_2 RPM_ACTIVE_TAG>;
1606			interconnect-names = "sdhc-ddr",
1607					     "cpu-sdhc";
1608
1609			power-domains = <&rpmpd MSM8953_VDDCX>;
1610			operating-points-v2 = <&sdhc2_opp_table>;
1611
1612			pinctrl-names = "default", "sleep";
1613			pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on>;
1614			pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off>;
1615
1616			bus-width = <4>;
1617
1618			status = "disabled";
1619
1620			sdhc2_opp_table: opp-table-sdhc2 {
1621				compatible = "operating-points-v2";
1622
1623				opp-25000000 {
1624					opp-hz = /bits/ 64 <25000000>;
1625					opp-peak-kBps = <200000>, <100000>;
1626					opp-avg-kBps = <65360>, <32768>;
1627					required-opps = <&rpmpd_opp_low_svs>;
1628				};
1629
1630				opp-50000000 {
1631					opp-hz = /bits/ 64 <50000000>;
1632					opp-peak-kBps = <400000>, <400000>;
1633					opp-avg-kBps = <130718>, <65360>;
1634					required-opps = <&rpmpd_opp_svs>;
1635				};
1636
1637				opp-100000000 {
1638					opp-hz = /bits/ 64 <100000000>;
1639					opp-peak-kBps = <800000>, <400000>;
1640					opp-avg-kBps = <130718>, <130718>;
1641					required-opps = <&rpmpd_opp_svs>;
1642				};
1643
1644				opp-177770000 {
1645					opp-hz = /bits/ 64 <177770000>;
1646					opp-peak-kBps = <600000>, <600000>;
1647					opp-avg-kBps = <261438>, <130718>;
1648					required-opps = <&rpmpd_opp_nom>;
1649				};
1650
1651				opp-200000000 {
1652					opp-hz = /bits/ 64 <200000000>;
1653					opp-peak-kBps = <800000>, <800000>;
1654					opp-avg-kBps = <261438>, <130718>;
1655					required-opps = <&rpmpd_opp_nom>;
1656				};
1657			};
1658		};
1659
1660		blsp1_dma: dma-controller@7884000 {
1661			compatible = "qcom,bam-v1.7.0";
1662			reg = <0x07884000 0x1f000>;
1663			interrupts = <GIC_SPI 238 IRQ_TYPE_LEVEL_HIGH>;
1664			clocks = <&gcc GCC_BLSP1_AHB_CLK>;
1665			clock-names = "bam_clk";
1666			num-channels = <12>;
1667			#dma-cells = <1>;
1668			qcom,ee = <0>;
1669			qcom,num-ees = <4>;
1670			qcom,controlled-remotely;
1671		};
1672
1673		uart_0: serial@78af000 {
1674			compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
1675			reg = <0x078af000 0x200>;
1676			interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
1677			clocks = <&gcc GCC_BLSP1_UART1_APPS_CLK>,
1678				 <&gcc GCC_BLSP1_AHB_CLK>;
1679			clock-names = "core", "iface";
1680
1681			status = "disabled";
1682		};
1683
1684		i2c_1: i2c@78b5000 {
1685			compatible = "qcom,i2c-qup-v2.2.1";
1686			reg = <0x078b5000 0x600>;
1687			interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
1688			clock-names = "core", "iface";
1689			clocks = <&gcc GCC_BLSP1_QUP1_I2C_APPS_CLK>,
1690				 <&gcc GCC_BLSP1_AHB_CLK>;
1691			dmas = <&blsp1_dma 4>, <&blsp1_dma 5>;
1692			dma-names = "tx", "rx";
1693
1694			pinctrl-names = "default", "sleep";
1695			pinctrl-0 = <&i2c_1_default>;
1696			pinctrl-1 = <&i2c_1_sleep>;
1697
1698			#address-cells = <1>;
1699			#size-cells = <0>;
1700
1701			status = "disabled";
1702		};
1703
1704		i2c_2: i2c@78b6000 {
1705			compatible = "qcom,i2c-qup-v2.2.1";
1706			reg = <0x078b6000 0x600>;
1707			interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
1708			clock-names = "core", "iface";
1709			clocks = <&gcc GCC_BLSP1_QUP2_I2C_APPS_CLK>,
1710				 <&gcc GCC_BLSP1_AHB_CLK>;
1711			dmas = <&blsp1_dma 6>, <&blsp1_dma 7>;
1712			dma-names = "tx", "rx";
1713
1714			pinctrl-names = "default", "sleep";
1715			pinctrl-0 = <&i2c_2_default>;
1716			pinctrl-1 = <&i2c_2_sleep>;
1717
1718			#address-cells = <1>;
1719			#size-cells = <0>;
1720
1721			status = "disabled";
1722		};
1723
1724		i2c_3: i2c@78b7000 {
1725			compatible = "qcom,i2c-qup-v2.2.1";
1726			reg = <0x078b7000 0x600>;
1727			interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
1728			clock-names = "core", "iface";
1729			clocks = <&gcc GCC_BLSP1_QUP3_I2C_APPS_CLK>,
1730				 <&gcc GCC_BLSP1_AHB_CLK>;
1731			dmas = <&blsp1_dma 8>, <&blsp1_dma 9>;
1732			dma-names = "tx", "rx";
1733
1734			pinctrl-names = "default", "sleep";
1735			pinctrl-0 = <&i2c_3_default>;
1736			pinctrl-1 = <&i2c_3_sleep>;
1737
1738			#address-cells = <1>;
1739			#size-cells = <0>;
1740
1741			status = "disabled";
1742		};
1743
1744		spi_3: spi@78b7000 {
1745			compatible = "qcom,spi-qup-v2.2.1";
1746			reg = <0x078b7000 0x600>;
1747			interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
1748			clock-names = "core", "iface";
1749			clocks = <&gcc GCC_BLSP1_QUP3_SPI_APPS_CLK>,
1750				 <&gcc GCC_BLSP1_AHB_CLK>;
1751			dmas = <&blsp1_dma 8>, <&blsp1_dma 9>;
1752			dma-names = "tx", "rx";
1753
1754			pinctrl-names = "default", "sleep";
1755			pinctrl-0 = <&spi_3_default>;
1756			pinctrl-1 = <&spi_3_sleep>;
1757
1758			#address-cells = <1>;
1759			#size-cells = <0>;
1760
1761			status = "disabled";
1762		};
1763
1764		i2c_4: i2c@78b8000 {
1765			compatible = "qcom,i2c-qup-v2.2.1";
1766			reg = <0x078b8000 0x600>;
1767			interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
1768			clock-names = "core", "iface";
1769			clocks = <&gcc GCC_BLSP1_QUP4_I2C_APPS_CLK>,
1770				 <&gcc GCC_BLSP1_AHB_CLK>;
1771			dmas = <&blsp2_dma 10>, <&blsp2_dma 11>;
1772			dma-names = "tx", "rx";
1773
1774			pinctrl-names = "default", "sleep";
1775			pinctrl-0 = <&i2c_4_default>;
1776			pinctrl-1 = <&i2c_4_sleep>;
1777
1778			#address-cells = <1>;
1779			#size-cells = <0>;
1780
1781			status = "disabled";
1782		};
1783
1784		blsp2_dma: dma-controller@7ac4000 {
1785			compatible = "qcom,bam-v1.7.0";
1786			reg = <0x07ac4000 0x1f000>;
1787			interrupts = <GIC_SPI 239 IRQ_TYPE_LEVEL_HIGH>;
1788			clocks = <&gcc GCC_BLSP2_AHB_CLK>;
1789			clock-names = "bam_clk";
1790			num-channels = <12>;
1791			#dma-cells = <1>;
1792			qcom,ee = <0>;
1793			qcom,num-ees = <4>;
1794			qcom,controlled-remotely;
1795		};
1796
1797		uart_5: serial@7aef000 {
1798			compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
1799			reg = <0x07aef000 0x200>;
1800			interrupts = <GIC_SPI 306 IRQ_TYPE_LEVEL_HIGH>;
1801			clocks = <&gcc GCC_BLSP2_UART1_APPS_CLK>,
1802				 <&gcc GCC_BLSP2_AHB_CLK>;
1803			clock-names = "core",
1804				      "iface";
1805			dmas = <&blsp2_dma 0>, <&blsp2_dma 1>;
1806			dma-names = "tx", "rx";
1807
1808			pinctrl-0 = <&uart_5_default>;
1809			pinctrl-1 = <&uart_5_sleep>;
1810			pinctrl-names = "default", "sleep";
1811
1812			status = "disabled";
1813		};
1814
1815		i2c_5: i2c@7af5000 {
1816			compatible = "qcom,i2c-qup-v2.2.1";
1817			reg = <0x07af5000 0x600>;
1818			interrupts = <GIC_SPI 299 IRQ_TYPE_LEVEL_HIGH>;
1819			clock-names = "core", "iface";
1820			clocks = <&gcc GCC_BLSP2_QUP1_I2C_APPS_CLK>,
1821				 <&gcc GCC_BLSP2_AHB_CLK>;
1822			dmas = <&blsp2_dma 4>, <&blsp2_dma 5>;
1823			dma-names = "tx", "rx";
1824
1825			pinctrl-names = "default", "sleep";
1826			pinctrl-0 = <&i2c_5_default>;
1827			pinctrl-1 = <&i2c_5_sleep>;
1828
1829			#address-cells = <1>;
1830			#size-cells = <0>;
1831
1832			status = "disabled";
1833		};
1834
1835		spi_5: spi@7af5000 {
1836			compatible = "qcom,spi-qup-v2.2.1";
1837			reg = <0x07af5000 0x600>;
1838			interrupts = <GIC_SPI 299 IRQ_TYPE_LEVEL_HIGH>;
1839			clock-names = "core", "iface";
1840			clocks = <&gcc GCC_BLSP2_QUP1_SPI_APPS_CLK>,
1841				<&gcc GCC_BLSP2_AHB_CLK>;
1842			dmas = <&blsp2_dma 4>, <&blsp2_dma 5>;
1843			dma-names = "tx", "rx";
1844
1845			pinctrl-names = "default", "sleep";
1846			pinctrl-0 = <&spi_5_default>;
1847			pinctrl-1 = <&spi_5_sleep>;
1848
1849			#address-cells = <1>;
1850			#size-cells = <0>;
1851
1852			status = "disabled";
1853		};
1854
1855		i2c_6: i2c@7af6000 {
1856			compatible = "qcom,i2c-qup-v2.2.1";
1857			reg = <0x07af6000 0x600>;
1858			interrupts = <GIC_SPI 300 IRQ_TYPE_LEVEL_HIGH>;
1859			clock-names = "core", "iface";
1860			clocks = <&gcc GCC_BLSP2_QUP2_I2C_APPS_CLK>,
1861				 <&gcc GCC_BLSP2_AHB_CLK>;
1862			dmas = <&blsp2_dma 6>, <&blsp2_dma 7>;
1863			dma-names = "tx", "rx";
1864
1865			pinctrl-names = "default", "sleep";
1866			pinctrl-0 = <&i2c_6_default>;
1867			pinctrl-1 = <&i2c_6_sleep>;
1868
1869			#address-cells = <1>;
1870			#size-cells = <0>;
1871
1872			status = "disabled";
1873		};
1874
1875		spi_6: spi@7af6000 {
1876			compatible = "qcom,spi-qup-v2.2.1";
1877			reg = <0x07af6000 0x600>;
1878			interrupts = <GIC_SPI 300 IRQ_TYPE_LEVEL_HIGH>;
1879			clock-names = "core", "iface";
1880			clocks = <&gcc GCC_BLSP2_QUP2_SPI_APPS_CLK>,
1881				 <&gcc GCC_BLSP2_AHB_CLK>;
1882			dmas = <&blsp2_dma 6>, <&blsp2_dma 7>;
1883			dma-names = "tx", "rx";
1884
1885			pinctrl-names = "default", "sleep";
1886			pinctrl-0 = <&spi_6_default>;
1887			pinctrl-1 = <&spi_6_sleep>;
1888
1889			#address-cells = <1>;
1890			#size-cells = <0>;
1891
1892			status = "disabled";
1893		};
1894
1895		i2c_7: i2c@7af7000 {
1896			compatible = "qcom,i2c-qup-v2.2.1";
1897			reg = <0x07af7000 0x600>;
1898			interrupts = <GIC_SPI 301 IRQ_TYPE_LEVEL_HIGH>;
1899			clock-names = "core", "iface";
1900			clocks = <&gcc GCC_BLSP2_QUP3_I2C_APPS_CLK>,
1901				 <&gcc GCC_BLSP2_AHB_CLK>;
1902			dmas = <&blsp2_dma 8>, <&blsp2_dma 9>;
1903			dma-names = "tx", "rx";
1904
1905			pinctrl-names = "default", "sleep";
1906			pinctrl-0 = <&i2c_7_default>;
1907			pinctrl-1 = <&i2c_7_sleep>;
1908
1909			#address-cells = <1>;
1910			#size-cells = <0>;
1911
1912			status = "disabled";
1913		};
1914
1915		spi_7: spi@7af7000 {
1916			compatible = "qcom,spi-qup-v2.2.1";
1917			reg = <0x07af7000 0x600>;
1918			interrupts = <GIC_SPI 301 IRQ_TYPE_LEVEL_HIGH>;
1919			clock-names = "core", "iface";
1920			clocks = <&gcc GCC_BLSP2_QUP3_SPI_APPS_CLK>,
1921				 <&gcc GCC_BLSP2_AHB_CLK>;
1922			dmas = <&blsp2_dma 8>, <&blsp2_dma 9>;
1923			dma-names = "tx", "rx";
1924
1925			pinctrl-names = "default", "sleep";
1926			pinctrl-0 = <&spi_7_default>;
1927			pinctrl-1 = <&spi_7_sleep>;
1928
1929			#address-cells = <1>;
1930			#size-cells = <0>;
1931
1932			status = "disabled";
1933		};
1934
1935		i2c_8: i2c@7af8000 {
1936			compatible = "qcom,i2c-qup-v2.2.1";
1937			reg = <0x07af8000 0x600>;
1938			interrupts = <GIC_SPI 302 IRQ_TYPE_LEVEL_HIGH>;
1939			clock-names = "core", "iface";
1940			clocks = <&gcc GCC_BLSP2_QUP4_I2C_APPS_CLK>,
1941				 <&gcc GCC_BLSP2_AHB_CLK>;
1942			dmas = <&blsp2_dma 10>, <&blsp2_dma 11>;
1943			dma-names = "tx", "rx";
1944
1945			pinctrl-names = "default", "sleep";
1946			pinctrl-0 = <&i2c_8_default>;
1947			pinctrl-1 = <&i2c_8_sleep>;
1948
1949			#address-cells = <1>;
1950			#size-cells = <0>;
1951
1952			status = "disabled";
1953		};
1954
1955		wcnss: remoteproc@a204000 {
1956			compatible = "qcom,pronto-v3-pil", "qcom,pronto";
1957			reg = <0x0a204000 0x2000>, <0x0a202000 0x1000>, <0x0a21b000 0x3000>;
1958			reg-names = "ccu", "dxe", "pmu";
1959
1960			memory-region = <&wcnss_fw_mem>;
1961
1962			interrupts-extended = <&intc GIC_SPI 149 IRQ_TYPE_EDGE_RISING>,
1963					      <&smp2p_wcnss_in 0 IRQ_TYPE_EDGE_RISING>,
1964					      <&smp2p_wcnss_in 1 IRQ_TYPE_EDGE_RISING>,
1965					      <&smp2p_wcnss_in 2 IRQ_TYPE_EDGE_RISING>,
1966					      <&smp2p_wcnss_in 3 IRQ_TYPE_EDGE_RISING>;
1967			interrupt-names = "wdog", "fatal", "ready", "handover", "stop-ack";
1968
1969			power-domains = <&rpmpd MSM8953_VDDCX>,
1970					<&rpmpd MSM8953_VDDMX>;
1971			power-domain-names = "cx", "mx";
1972
1973			qcom,smem-states = <&smp2p_wcnss_out 0>;
1974			qcom,smem-state-names = "stop";
1975
1976			pinctrl-names = "default";
1977			pinctrl-0 = <&wcnss_pin_a>;
1978
1979			status = "disabled";
1980
1981			wcnss_iris: iris {
1982				/* Separate chip, compatible is board-specific */
1983				clocks = <&rpmcc RPM_SMD_RF_CLK2>;
1984				clock-names = "xo";
1985			};
1986
1987			smd-edge {
1988				interrupts = <GIC_SPI 142 IRQ_TYPE_EDGE_RISING>;
1989
1990				mboxes = <&apcs 17>;
1991				qcom,smd-edge = <6>;
1992				qcom,remote-pid = <4>;
1993
1994				label = "pronto";
1995
1996				wcnss_ctrl: wcnss {
1997					compatible = "qcom,wcnss";
1998					qcom,smd-channels = "WCNSS_CTRL";
1999
2000					qcom,mmio = <&wcnss>;
2001
2002					wcnss_bt: bluetooth {
2003						compatible = "qcom,wcnss-bt";
2004					};
2005
2006					wcnss_wifi: wifi {
2007						compatible = "qcom,wcnss-wlan";
2008
2009						interrupts = <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>,
2010							     <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>;
2011						interrupt-names = "tx", "rx";
2012
2013						qcom,smem-states = <&apps_smsm 10>, <&apps_smsm 9>;
2014						qcom,smem-state-names = "tx-enable",
2015									"tx-rings-empty";
2016					};
2017				};
2018			};
2019		};
2020
2021		intc: interrupt-controller@b000000 {
2022			compatible = "qcom,msm-qgic2";
2023			interrupt-controller;
2024			#interrupt-cells = <3>;
2025			reg = <0x0b000000 0x1000>, <0x0b002000 0x1000>;
2026		};
2027
2028		apcs: mailbox@b011000 {
2029			compatible = "qcom,msm8953-apcs-kpss-global", "syscon";
2030			reg = <0x0b011000 0x1000>;
2031			#mbox-cells = <1>;
2032		};
2033
2034		timer@b120000 {
2035			compatible = "arm,armv7-timer-mem";
2036			reg = <0x0b120000 0x1000>;
2037			#address-cells = <1>;
2038			#size-cells = <1>;
2039			ranges;
2040
2041			frame@b121000 {
2042				frame-number = <0>;
2043				interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
2044					     <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
2045				reg = <0x0b121000 0x1000>,
2046				      <0x0b122000 0x1000>;
2047			};
2048
2049			frame@b123000 {
2050				frame-number = <1>;
2051				interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
2052				reg = <0x0b123000 0x1000>;
2053				status = "disabled";
2054			};
2055
2056			frame@b124000 {
2057				frame-number = <2>;
2058				interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
2059				reg = <0x0b124000 0x1000>;
2060				status = "disabled";
2061			};
2062
2063			frame@b125000 {
2064				frame-number = <3>;
2065				interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
2066				reg = <0x0b125000 0x1000>;
2067				status = "disabled";
2068			};
2069
2070			frame@b126000 {
2071				frame-number = <4>;
2072				interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
2073				reg = <0x0b126000 0x1000>;
2074				status = "disabled";
2075			};
2076
2077			frame@b127000 {
2078				frame-number = <5>;
2079				interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
2080				reg = <0x0b127000 0x1000>;
2081				status = "disabled";
2082			};
2083
2084			frame@b128000 {
2085				frame-number = <6>;
2086				interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
2087				reg = <0x0b128000 0x1000>;
2088				status = "disabled";
2089			};
2090		};
2091
2092		lpass: remoteproc@c200000 {
2093			compatible = "qcom,msm8953-adsp-pil";
2094			reg = <0x0c200000 0x100>;
2095
2096			interrupts-extended = <&intc 0 293 IRQ_TYPE_EDGE_RISING>,
2097					      <&smp2p_adsp_in 0 IRQ_TYPE_EDGE_RISING>,
2098					      <&smp2p_adsp_in 1 IRQ_TYPE_EDGE_RISING>,
2099					      <&smp2p_adsp_in 2 IRQ_TYPE_EDGE_RISING>,
2100					      <&smp2p_adsp_in 3 IRQ_TYPE_EDGE_RISING>;
2101			interrupt-names = "wdog", "fatal", "ready",
2102					  "handover", "stop-ack";
2103			clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>;
2104			clock-names = "xo";
2105
2106			power-domains = <&rpmpd MSM8953_VDDCX>;
2107			power-domain-names = "cx";
2108
2109			memory-region = <&adsp_fw_mem>;
2110
2111			qcom,smem-states = <&smp2p_adsp_out 0>;
2112			qcom,smem-state-names = "stop";
2113
2114			status = "disabled";
2115
2116			smd-edge {
2117				interrupts = <GIC_SPI 289 IRQ_TYPE_EDGE_RISING>;
2118
2119				label = "lpass";
2120				mboxes = <&apcs 8>;
2121				qcom,smd-edge = <1>;
2122				qcom,remote-pid = <2>;
2123
2124				apr {
2125					compatible = "qcom,apr-v2";
2126					qcom,smd-channels = "apr_audio_svc";
2127					qcom,domain = <APR_DOMAIN_ADSP>;
2128					#address-cells = <1>;
2129					#size-cells = <0>;
2130
2131					q6core: service@3 {
2132						reg = <APR_SVC_ADSP_CORE>;
2133						compatible = "qcom,q6core";
2134					};
2135
2136					q6afe: service@4 {
2137						compatible = "qcom,q6afe";
2138						reg = <APR_SVC_AFE>;
2139						q6afedai: dais {
2140							compatible = "qcom,q6afe-dais";
2141							#address-cells = <1>;
2142							#size-cells = <0>;
2143							#sound-dai-cells = <1>;
2144
2145							dai@16 {
2146								reg = <PRIMARY_MI2S_RX>;
2147								qcom,sd-lines = <0 1>;
2148							};
2149							dai@20 {
2150								reg = <TERTIARY_MI2S_TX>;
2151								qcom,sd-lines = <0 1>;
2152							};
2153							dai@127 {
2154								reg = <QUINARY_MI2S_RX>;
2155								qcom,sd-lines = <0>;
2156							};
2157						};
2158
2159						q6afecc: clock-controller {
2160							compatible = "qcom,q6afe-clocks";
2161							#clock-cells = <2>;
2162						};
2163					};
2164
2165					q6asm: service@7 {
2166						compatible = "qcom,q6asm";
2167						reg = <APR_SVC_ASM>;
2168						q6asmdai: dais {
2169							compatible = "qcom,q6asm-dais";
2170							#address-cells = <1>;
2171							#size-cells = <0>;
2172							#sound-dai-cells = <1>;
2173
2174							dai@0 {
2175								reg = <MSM_FRONTEND_DAI_MULTIMEDIA1>;
2176								direction = <Q6ASM_DAI_RX>;
2177							};
2178							dai@1 {
2179								reg = <MSM_FRONTEND_DAI_MULTIMEDIA2>;
2180								direction = <Q6ASM_DAI_TX>;
2181							};
2182							dai@2 {
2183								reg = <MSM_FRONTEND_DAI_MULTIMEDIA3>;
2184								direction = <Q6ASM_DAI_RX>;
2185							};
2186							dai@3 {
2187								reg = <MSM_FRONTEND_DAI_MULTIMEDIA4>;
2188								direction = <Q6ASM_DAI_RX>;
2189								is-compress-dai;
2190							};
2191						};
2192					};
2193
2194					q6adm: service@8 {
2195						compatible = "qcom,q6adm";
2196						reg = <APR_SVC_ADM>;
2197						q6routing: routing {
2198							compatible = "qcom,q6adm-routing";
2199							#sound-dai-cells = <0>;
2200						};
2201					};
2202				};
2203			};
2204		};
2205	};
2206
2207	thermal-zones {
2208		cpu0-thermal {
2209			polling-delay-passive = <250>;
2210
2211			thermal-sensors = <&tsens0 9>;
2212
2213			trips {
2214				cpu0_alert: trip-point0 {
2215					temperature = <80000>;
2216					hysteresis = <2000>;
2217					type = "passive";
2218				};
2219				cpu0_crit: crit {
2220					temperature = <100000>;
2221					hysteresis = <2000>;
2222					type = "critical";
2223				};
2224			};
2225			cooling-maps {
2226				map0 {
2227					trip = <&cpu0_alert>;
2228					cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
2229				};
2230			};
2231		};
2232		cpu1-thermal {
2233			polling-delay-passive = <250>;
2234
2235			thermal-sensors = <&tsens0 10>;
2236
2237			trips {
2238				cpu1_alert: trip-point0 {
2239					temperature = <80000>;
2240					hysteresis = <2000>;
2241					type = "passive";
2242				};
2243				cpu1_crit: crit {
2244					temperature = <100000>;
2245					hysteresis = <2000>;
2246					type = "critical";
2247				};
2248			};
2249			cooling-maps {
2250				map0 {
2251					trip = <&cpu1_alert>;
2252					cooling-device = <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
2253				};
2254			};
2255		};
2256		cpu2-thermal {
2257			polling-delay-passive = <250>;
2258
2259			thermal-sensors = <&tsens0 11>;
2260
2261			trips {
2262				cpu2_alert: trip-point0 {
2263					temperature = <80000>;
2264					hysteresis = <2000>;
2265					type = "passive";
2266				};
2267				cpu2_crit: crit {
2268					temperature = <100000>;
2269					hysteresis = <2000>;
2270					type = "critical";
2271				};
2272			};
2273			cooling-maps {
2274				map0 {
2275					trip = <&cpu2_alert>;
2276					cooling-device = <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
2277				};
2278			};
2279		};
2280		cpu3-thermal {
2281			polling-delay-passive = <250>;
2282
2283			thermal-sensors = <&tsens0 12>;
2284
2285			trips {
2286				cpu3_alert: trip-point0 {
2287					temperature = <80000>;
2288					hysteresis = <2000>;
2289					type = "passive";
2290				};
2291				cpu3_crit: crit {
2292					temperature = <100000>;
2293					hysteresis = <2000>;
2294					type = "critical";
2295				};
2296			};
2297			cooling-maps {
2298				map0 {
2299					trip = <&cpu3_alert>;
2300					cooling-device = <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
2301				};
2302			};
2303		};
2304		cpu4-thermal {
2305			polling-delay-passive = <250>;
2306			thermal-sensors = <&tsens0 4>;
2307			trips {
2308				cpu4_alert: trip-point0 {
2309					temperature = <80000>;
2310					hysteresis = <2000>;
2311					type = "passive";
2312				};
2313				cpu4_crit: crit {
2314					temperature = <100000>;
2315					hysteresis = <2000>;
2316					type = "critical";
2317				};
2318			};
2319			cooling-maps {
2320				map0 {
2321					trip = <&cpu4_alert>;
2322					cooling-device = <&cpu4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
2323				};
2324			};
2325		};
2326		cpu5-thermal {
2327			polling-delay-passive = <250>;
2328			thermal-sensors = <&tsens0 5>;
2329			trips {
2330				cpu5_alert: trip-point0 {
2331					temperature = <80000>;
2332					hysteresis = <2000>;
2333					type = "passive";
2334				};
2335				cpu5_crit: crit {
2336					temperature = <100000>;
2337					hysteresis = <2000>;
2338					type = "critical";
2339				};
2340			};
2341			cooling-maps {
2342				map0 {
2343					trip = <&cpu5_alert>;
2344					cooling-device = <&cpu5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
2345				};
2346			};
2347		};
2348		cpu6-thermal {
2349			polling-delay-passive = <250>;
2350			thermal-sensors = <&tsens0 6>;
2351			trips {
2352				cpu6_alert: trip-point0 {
2353					temperature = <80000>;
2354					hysteresis = <2000>;
2355					type = "passive";
2356				};
2357				cpu6_crit: crit {
2358					temperature = <100000>;
2359					hysteresis = <2000>;
2360					type = "critical";
2361				};
2362			};
2363			cooling-maps {
2364				map0 {
2365					trip = <&cpu6_alert>;
2366					cooling-device = <&cpu6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
2367				};
2368			};
2369		};
2370		cpu7-thermal {
2371			polling-delay-passive = <250>;
2372			thermal-sensors = <&tsens0 7>;
2373			trips {
2374				cpu7_alert: trip-point0 {
2375					temperature = <80000>;
2376					hysteresis = <2000>;
2377					type = "passive";
2378				};
2379				cpu7_crit: crit {
2380					temperature = <100000>;
2381					hysteresis = <2000>;
2382					type = "critical";
2383				};
2384			};
2385			cooling-maps {
2386				map0 {
2387					trip = <&cpu7_alert>;
2388					cooling-device = <&cpu7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
2389				};
2390			};
2391		};
2392
2393		gpu-thermal {
2394			polling-delay-passive = <250>;
2395			thermal-sensors = <&tsens0 15>;
2396
2397			trips {
2398				gpu_alert: trip-point0 {
2399					temperature = <70000>;
2400					hysteresis = <2000>;
2401					type = "passive";
2402				};
2403
2404				gpu_crit: crit {
2405					temperature = <90000>;
2406					hysteresis = <2000>;
2407					type = "critical";
2408				};
2409			};
2410
2411			cooling-maps {
2412				map0 {
2413					trip = <&gpu_alert>;
2414					cooling-device = <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
2415				};
2416			};
2417		};
2418	};
2419
2420	timer {
2421		compatible = "arm,armv8-timer";
2422		interrupts = <GIC_PPI 2 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
2423			     <GIC_PPI 3 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
2424			     <GIC_PPI 4 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
2425			     <GIC_PPI 1 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>;
2426	};
2427};
~/ Read-only file preview.