File Index
Files and directories
Sign in
FILE

sm6350.dtsi

File preview with syntax highlighting.

linux-6.19.14/arch/arm64/boot/dts/qcom/sm6350.dtsi DEVICETREE
   1// SPDX-License-Identifier: BSD-3-Clause
   2/*
   3 * Copyright (c) 2021, Konrad Dybcio <konrad.dybcio@somainline.org>
   4 * Copyright (c) 2022, Luca Weiss <luca.weiss@fairphone.com>
   5 */
   6
   7#include <dt-bindings/clock/qcom,dispcc-sm6350.h>
   8#include <dt-bindings/clock/qcom,dsi-phy-28nm.h>
   9#include <dt-bindings/clock/qcom,gcc-sm6350.h>
  10#include <dt-bindings/clock/qcom,gpucc-sm6350.h>
  11#include <dt-bindings/clock/qcom,rpmh.h>
  12#include <dt-bindings/clock/qcom,sm6350-camcc.h>
  13#include <dt-bindings/dma/qcom-gpi.h>
  14#include <dt-bindings/gpio/gpio.h>
  15#include <dt-bindings/interconnect/qcom,icc.h>
  16#include <dt-bindings/interconnect/qcom,osm-l3.h>
  17#include <dt-bindings/interconnect/qcom,sm6350.h>
  18#include <dt-bindings/interrupt-controller/arm-gic.h>
  19#include <dt-bindings/mailbox/qcom-ipcc.h>
  20#include <dt-bindings/phy/phy-qcom-qmp.h>
  21#include <dt-bindings/power/qcom-rpmpd.h>
  22#include <dt-bindings/soc/qcom,apr.h>
  23#include <dt-bindings/soc/qcom,rpmh-rsc.h>
  24#include <dt-bindings/sound/qcom,q6dsp-lpass-ports.h>
  25#include <dt-bindings/thermal/thermal.h>
  26
  27/ {
  28	interrupt-parent = <&intc>;
  29	#address-cells = <2>;
  30	#size-cells = <2>;
  31
  32	clocks {
  33		xo_board: xo-board {
  34			compatible = "fixed-clock";
  35			#clock-cells = <0>;
  36			clock-frequency = <76800000>;
  37			clock-output-names = "xo_board";
  38		};
  39
  40		sleep_clk: sleep-clk {
  41			compatible = "fixed-clock";
  42			clock-frequency = <32764>;
  43			#clock-cells = <0>;
  44		};
  45	};
  46
  47	cpus {
  48		#address-cells = <2>;
  49		#size-cells = <0>;
  50
  51		cpu0: cpu@0 {
  52			device_type = "cpu";
  53			compatible = "qcom,kryo560";
  54			reg = <0x0 0x0>;
  55			clocks = <&cpufreq_hw 0>;
  56			enable-method = "psci";
  57			capacity-dmips-mhz = <1024>;
  58			dynamic-power-coefficient = <100>;
  59			next-level-cache = <&l2_0>;
  60			qcom,freq-domain = <&cpufreq_hw 0>;
  61			operating-points-v2 = <&cpu0_opp_table>;
  62			interconnects = <&gem_noc MASTER_AMPSS_M0 QCOM_ICC_TAG_ACTIVE_ONLY
  63					 &clk_virt SLAVE_EBI_CH0 QCOM_ICC_TAG_ACTIVE_ONLY>,
  64					<&osm_l3 MASTER_OSM_L3_APPS &osm_l3 SLAVE_OSM_L3>;
  65			power-domains = <&cpu_pd0>;
  66			power-domain-names = "psci";
  67			#cooling-cells = <2>;
  68			l2_0: l2-cache {
  69				compatible = "cache";
  70				cache-level = <2>;
  71				cache-unified;
  72				next-level-cache = <&l3_0>;
  73				l3_0: l3-cache {
  74					compatible = "cache";
  75					cache-level = <3>;
  76					cache-unified;
  77				};
  78			};
  79		};
  80
  81		cpu1: cpu@100 {
  82			device_type = "cpu";
  83			compatible = "qcom,kryo560";
  84			reg = <0x0 0x100>;
  85			clocks = <&cpufreq_hw 0>;
  86			enable-method = "psci";
  87			capacity-dmips-mhz = <1024>;
  88			dynamic-power-coefficient = <100>;
  89			next-level-cache = <&l2_100>;
  90			qcom,freq-domain = <&cpufreq_hw 0>;
  91			operating-points-v2 = <&cpu0_opp_table>;
  92			interconnects = <&gem_noc MASTER_AMPSS_M0 QCOM_ICC_TAG_ACTIVE_ONLY
  93					 &clk_virt SLAVE_EBI_CH0 QCOM_ICC_TAG_ACTIVE_ONLY>,
  94					<&osm_l3 MASTER_OSM_L3_APPS &osm_l3 SLAVE_OSM_L3>;
  95			power-domains = <&cpu_pd1>;
  96			power-domain-names = "psci";
  97			#cooling-cells = <2>;
  98			l2_100: l2-cache {
  99				compatible = "cache";
 100				cache-level = <2>;
 101				cache-unified;
 102				next-level-cache = <&l3_0>;
 103			};
 104		};
 105
 106		cpu2: cpu@200 {
 107			device_type = "cpu";
 108			compatible = "qcom,kryo560";
 109			reg = <0x0 0x200>;
 110			clocks = <&cpufreq_hw 0>;
 111			enable-method = "psci";
 112			capacity-dmips-mhz = <1024>;
 113			dynamic-power-coefficient = <100>;
 114			next-level-cache = <&l2_200>;
 115			qcom,freq-domain = <&cpufreq_hw 0>;
 116			operating-points-v2 = <&cpu0_opp_table>;
 117			interconnects = <&gem_noc MASTER_AMPSS_M0 QCOM_ICC_TAG_ACTIVE_ONLY
 118					 &clk_virt SLAVE_EBI_CH0 QCOM_ICC_TAG_ACTIVE_ONLY>,
 119					<&osm_l3 MASTER_OSM_L3_APPS &osm_l3 SLAVE_OSM_L3>;
 120			power-domains = <&cpu_pd2>;
 121			power-domain-names = "psci";
 122			#cooling-cells = <2>;
 123			l2_200: l2-cache {
 124				compatible = "cache";
 125				cache-level = <2>;
 126				cache-unified;
 127				next-level-cache = <&l3_0>;
 128			};
 129		};
 130
 131		cpu3: cpu@300 {
 132			device_type = "cpu";
 133			compatible = "qcom,kryo560";
 134			reg = <0x0 0x300>;
 135			clocks = <&cpufreq_hw 0>;
 136			enable-method = "psci";
 137			capacity-dmips-mhz = <1024>;
 138			dynamic-power-coefficient = <100>;
 139			next-level-cache = <&l2_300>;
 140			qcom,freq-domain = <&cpufreq_hw 0>;
 141			operating-points-v2 = <&cpu0_opp_table>;
 142			interconnects = <&gem_noc MASTER_AMPSS_M0 QCOM_ICC_TAG_ACTIVE_ONLY
 143					 &clk_virt SLAVE_EBI_CH0 QCOM_ICC_TAG_ACTIVE_ONLY>,
 144					<&osm_l3 MASTER_OSM_L3_APPS &osm_l3 SLAVE_OSM_L3>;
 145			power-domains = <&cpu_pd3>;
 146			power-domain-names = "psci";
 147			#cooling-cells = <2>;
 148			l2_300: l2-cache {
 149				compatible = "cache";
 150				cache-level = <2>;
 151				cache-unified;
 152				next-level-cache = <&l3_0>;
 153			};
 154		};
 155
 156		cpu4: cpu@400 {
 157			device_type = "cpu";
 158			compatible = "qcom,kryo560";
 159			reg = <0x0 0x400>;
 160			clocks = <&cpufreq_hw 0>;
 161			enable-method = "psci";
 162			capacity-dmips-mhz = <1024>;
 163			dynamic-power-coefficient = <100>;
 164			next-level-cache = <&l2_400>;
 165			qcom,freq-domain = <&cpufreq_hw 0>;
 166			operating-points-v2 = <&cpu0_opp_table>;
 167			interconnects = <&gem_noc MASTER_AMPSS_M0 QCOM_ICC_TAG_ACTIVE_ONLY
 168					 &clk_virt SLAVE_EBI_CH0 QCOM_ICC_TAG_ACTIVE_ONLY>,
 169					<&osm_l3 MASTER_OSM_L3_APPS &osm_l3 SLAVE_OSM_L3>;
 170			power-domains = <&cpu_pd4>;
 171			power-domain-names = "psci";
 172			#cooling-cells = <2>;
 173			l2_400: l2-cache {
 174				compatible = "cache";
 175				cache-level = <2>;
 176				cache-unified;
 177				next-level-cache = <&l3_0>;
 178			};
 179		};
 180
 181		cpu5: cpu@500 {
 182			device_type = "cpu";
 183			compatible = "qcom,kryo560";
 184			reg = <0x0 0x500>;
 185			clocks = <&cpufreq_hw 0>;
 186			enable-method = "psci";
 187			capacity-dmips-mhz = <1024>;
 188			dynamic-power-coefficient = <100>;
 189			next-level-cache = <&l2_500>;
 190			qcom,freq-domain = <&cpufreq_hw 0>;
 191			operating-points-v2 = <&cpu0_opp_table>;
 192			interconnects = <&gem_noc MASTER_AMPSS_M0 QCOM_ICC_TAG_ACTIVE_ONLY
 193					 &clk_virt SLAVE_EBI_CH0 QCOM_ICC_TAG_ACTIVE_ONLY>,
 194					<&osm_l3 MASTER_OSM_L3_APPS &osm_l3 SLAVE_OSM_L3>;
 195			power-domains = <&cpu_pd5>;
 196			power-domain-names = "psci";
 197			#cooling-cells = <2>;
 198			l2_500: l2-cache {
 199				compatible = "cache";
 200				cache-level = <2>;
 201				cache-unified;
 202				next-level-cache = <&l3_0>;
 203			};
 204		};
 205
 206		cpu6: cpu@600 {
 207			device_type = "cpu";
 208			compatible = "qcom,kryo560";
 209			reg = <0x0 0x600>;
 210			clocks = <&cpufreq_hw 1>;
 211			enable-method = "psci";
 212			capacity-dmips-mhz = <1894>;
 213			dynamic-power-coefficient = <703>;
 214			next-level-cache = <&l2_600>;
 215			qcom,freq-domain = <&cpufreq_hw 1>;
 216			operating-points-v2 = <&cpu6_opp_table>;
 217			interconnects = <&gem_noc MASTER_AMPSS_M0 QCOM_ICC_TAG_ACTIVE_ONLY
 218					 &clk_virt SLAVE_EBI_CH0 QCOM_ICC_TAG_ACTIVE_ONLY>,
 219					<&osm_l3 MASTER_OSM_L3_APPS &osm_l3 SLAVE_OSM_L3>;
 220			power-domains = <&cpu_pd6>;
 221			power-domain-names = "psci";
 222			#cooling-cells = <2>;
 223			l2_600: l2-cache {
 224				compatible = "cache";
 225				cache-level = <2>;
 226				cache-unified;
 227				next-level-cache = <&l3_0>;
 228			};
 229		};
 230
 231		cpu7: cpu@700 {
 232			device_type = "cpu";
 233			compatible = "qcom,kryo560";
 234			reg = <0x0 0x700>;
 235			clocks = <&cpufreq_hw 1>;
 236			enable-method = "psci";
 237			capacity-dmips-mhz = <1894>;
 238			dynamic-power-coefficient = <703>;
 239			next-level-cache = <&l2_700>;
 240			qcom,freq-domain = <&cpufreq_hw 1>;
 241			operating-points-v2 = <&cpu6_opp_table>;
 242			interconnects = <&gem_noc MASTER_AMPSS_M0 QCOM_ICC_TAG_ACTIVE_ONLY
 243					 &clk_virt SLAVE_EBI_CH0 QCOM_ICC_TAG_ACTIVE_ONLY>,
 244					<&osm_l3 MASTER_OSM_L3_APPS &osm_l3 SLAVE_OSM_L3>;
 245			power-domains = <&cpu_pd7>;
 246			power-domain-names = "psci";
 247			#cooling-cells = <2>;
 248			l2_700: l2-cache {
 249				compatible = "cache";
 250				cache-level = <2>;
 251				cache-unified;
 252				next-level-cache = <&l3_0>;
 253			};
 254		};
 255
 256		cpu-map {
 257			cluster0 {
 258				core0 {
 259					cpu = <&cpu0>;
 260				};
 261
 262				core1 {
 263					cpu = <&cpu1>;
 264				};
 265
 266				core2 {
 267					cpu = <&cpu2>;
 268				};
 269
 270				core3 {
 271					cpu = <&cpu3>;
 272				};
 273
 274				core4 {
 275					cpu = <&cpu4>;
 276				};
 277
 278				core5 {
 279					cpu = <&cpu5>;
 280				};
 281
 282				core6 {
 283					cpu = <&cpu6>;
 284				};
 285
 286				core7 {
 287					cpu = <&cpu7>;
 288				};
 289			};
 290		};
 291
 292		domain-idle-states {
 293			cluster_sleep_pc: cluster-sleep-0 {
 294				compatible = "domain-idle-state";
 295				arm,psci-suspend-param = <0x41000044>;
 296				entry-latency-us = <2752>;
 297				exit-latency-us = <3048>;
 298				min-residency-us = <6118>;
 299			};
 300
 301			cluster_sleep_cx_ret: cluster-sleep-1 {
 302				compatible = "domain-idle-state";
 303				arm,psci-suspend-param = <0x41001244>;
 304				entry-latency-us = <3638>;
 305				exit-latency-us = <4562>;
 306				min-residency-us = <8467>;
 307			};
 308
 309			cluster_aoss_sleep: cluster-sleep-2 {
 310				compatible = "domain-idle-state";
 311				arm,psci-suspend-param = <0x4100b244>;
 312				entry-latency-us = <3263>;
 313				exit-latency-us = <6562>;
 314				min-residency-us = <9987>;
 315			};
 316		};
 317
 318		cpu_idle_states: idle-states {
 319			entry-method = "psci";
 320
 321			little_cpu_sleep_0: cpu-sleep-0-0 {
 322				compatible = "arm,idle-state";
 323				idle-state-name = "little-power-collapse";
 324				arm,psci-suspend-param = <0x40000003>;
 325				entry-latency-us = <549>;
 326				exit-latency-us = <901>;
 327				min-residency-us = <1774>;
 328				local-timer-stop;
 329			};
 330
 331			little_cpu_sleep_1: cpu-sleep-0-1 {
 332				compatible = "arm,idle-state";
 333				idle-state-name = "little-rail-power-collapse";
 334				arm,psci-suspend-param = <0x40000004>;
 335				entry-latency-us = <702>;
 336				exit-latency-us = <915>;
 337				min-residency-us = <4001>;
 338				local-timer-stop;
 339			};
 340
 341			big_cpu_sleep_0: cpu-sleep-1-0 {
 342				compatible = "arm,idle-state";
 343				idle-state-name = "big-power-collapse";
 344				arm,psci-suspend-param = <0x40000003>;
 345				entry-latency-us = <523>;
 346				exit-latency-us = <1244>;
 347				min-residency-us = <2207>;
 348				local-timer-stop;
 349			};
 350
 351			big_cpu_sleep_1: cpu-sleep-1-1 {
 352				compatible = "arm,idle-state";
 353				idle-state-name = "big-rail-power-collapse";
 354				arm,psci-suspend-param = <0x40000004>;
 355				entry-latency-us = <526>;
 356				exit-latency-us = <1854>;
 357				min-residency-us = <5555>;
 358				local-timer-stop;
 359			};
 360		};
 361	};
 362
 363	firmware {
 364		scm: scm {
 365			compatible = "qcom,scm-sm6350", "qcom,scm";
 366			#reset-cells = <1>;
 367		};
 368	};
 369
 370	memory@80000000 {
 371		device_type = "memory";
 372		/* We expect the bootloader to fill in the size */
 373		reg = <0x0 0x80000000 0x0 0x0>;
 374	};
 375
 376	cpu0_opp_table: opp-table-cpu0 {
 377		compatible = "operating-points-v2";
 378		opp-shared;
 379
 380		opp-300000000 {
 381			opp-hz = /bits/ 64 <300000000>;
 382			/* DDR: 4-wide, 2 channels, double data rate, L3: 16-wide, 2 channels */
 383			opp-peak-kBps = <(200000 * 4 * 2 * 2) (300000 * 16 * 2)>;
 384		};
 385
 386		opp-576000000 {
 387			opp-hz = /bits/ 64 <576000000>;
 388			opp-peak-kBps = <(547000 * 4 * 2 * 2) (556800 * 16 * 2)>;
 389		};
 390
 391		opp-768000000 {
 392			opp-hz = /bits/ 64 <768000000>;
 393			opp-peak-kBps = <(768000 * 4 * 2 * 2) (652800 * 16 * 2)>;
 394		};
 395
 396		opp-1017600000 {
 397			opp-hz = /bits/ 64 <1017600000>;
 398			opp-peak-kBps = <(1017000 * 4 * 2 * 2) (940800 * 16 * 2)>;
 399		};
 400
 401		opp-1248000000 {
 402			opp-hz = /bits/ 64 <1248000000>;
 403			opp-peak-kBps = <(1017000 * 4 * 2 * 2) (1209600 * 16 * 2)>;
 404		};
 405
 406		opp-1324800000 {
 407			opp-hz = /bits/ 64 <1324800000>;
 408			opp-peak-kBps = <(1017000 * 4 * 2 * 2) (1286400 * 16 * 2)>;
 409		};
 410
 411		opp-1516800000 {
 412			opp-hz = /bits/ 64 <1516800000>;
 413			opp-peak-kBps = <(1353000 * 4 * 2 * 2) (1459200 * 16 * 2)>;
 414		};
 415
 416		opp-1612800000 {
 417			opp-hz = /bits/ 64 <1612800000>;
 418			opp-peak-kBps = <(1555000 * 4 * 2 * 2) (1459200 * 16 * 2)>;
 419		};
 420
 421		opp-1708800000 {
 422			opp-hz = /bits/ 64 <1708800000>;
 423			opp-peak-kBps = <(1555000 * 4 * 2 * 2) (1459200 * 16 * 2)>;
 424		};
 425	};
 426
 427	cpu6_opp_table: opp-table-cpu6 {
 428		compatible = "operating-points-v2";
 429		opp-shared;
 430
 431		opp-300000000 {
 432			opp-hz = /bits/ 64 <300000000>;
 433			opp-peak-kBps = <(200000 * 4 * 2 * 2) (300000 * 16 * 2)>;
 434		};
 435
 436		opp-787200000 {
 437			opp-hz = /bits/ 64 <787200000>;
 438			opp-peak-kBps = <(768000 * 4 * 2 * 2) (652800 * 16 * 2)>;
 439		};
 440
 441		opp-979200000 {
 442			opp-hz = /bits/ 64 <979200000>;
 443			opp-peak-kBps = <(768000 * 4 * 2 * 2) (940800 * 16 * 2)>;
 444		};
 445
 446		opp-1036800000 {
 447			opp-hz = /bits/ 64 <1036800000>;
 448			opp-peak-kBps = <(1017000 * 4 * 2 * 2) (940800 * 16 * 2)>;
 449		};
 450
 451		opp-1248000000 {
 452			opp-hz = /bits/ 64 <1248000000>;
 453			opp-peak-kBps = <(1017000 * 4 * 2 * 2) (1209600 * 16 * 2)>;
 454		};
 455
 456		opp-1401600000 {
 457			opp-hz = /bits/ 64 <1401600000>;
 458			opp-peak-kBps = <(1353000 * 4 * 2 * 2) (1401600 * 16 * 2)>;
 459		};
 460
 461		opp-1555200000 {
 462			opp-hz = /bits/ 64 <1555200000>;
 463			opp-peak-kBps = <(1555000 * 4 * 2 * 2) (1459200 * 16 * 2)>;
 464		};
 465
 466		opp-1766400000 {
 467			opp-hz = /bits/ 64 <1766400000>;
 468			opp-peak-kBps = <(1555000 * 4 * 2 * 2) (1459200 * 16 * 2)>;
 469		};
 470
 471		opp-1900800000 {
 472			opp-hz = /bits/ 64 <1900800000>;
 473			opp-peak-kBps = <(1804000 * 4 * 2 * 2) (1459200 * 16 * 2)>;
 474		};
 475
 476		opp-2073600000 {
 477			opp-hz = /bits/ 64 <2073600000>;
 478			opp-peak-kBps = <(2092000 * 4 * 2 * 2) (1459200 * 16 * 2)>;
 479		};
 480	};
 481
 482	qup_opp_table: opp-table-qup {
 483		compatible = "operating-points-v2";
 484
 485		opp-75000000 {
 486			opp-hz = /bits/ 64 <75000000>;
 487			required-opps = <&rpmhpd_opp_low_svs>;
 488		};
 489
 490		opp-100000000 {
 491			opp-hz = /bits/ 64 <100000000>;
 492			required-opps = <&rpmhpd_opp_svs>;
 493		};
 494
 495		opp-128000000 {
 496			opp-hz = /bits/ 64 <128000000>;
 497			required-opps = <&rpmhpd_opp_nom>;
 498		};
 499	};
 500
 501	pmu {
 502		compatible = "arm,armv8-pmuv3";
 503		interrupts = <GIC_PPI 5 IRQ_TYPE_LEVEL_LOW>;
 504	};
 505
 506	psci {
 507		compatible = "arm,psci-1.0";
 508		method = "smc";
 509
 510		cpu_pd0: power-domain-cpu0 {
 511			#power-domain-cells = <0>;
 512			power-domains = <&cluster_pd>;
 513			domain-idle-states = <&little_cpu_sleep_0 &little_cpu_sleep_1>;
 514		};
 515
 516		cpu_pd1: power-domain-cpu1 {
 517			#power-domain-cells = <0>;
 518			power-domains = <&cluster_pd>;
 519			domain-idle-states = <&little_cpu_sleep_0 &little_cpu_sleep_1>;
 520		};
 521
 522		cpu_pd2: power-domain-cpu2 {
 523			#power-domain-cells = <0>;
 524			power-domains = <&cluster_pd>;
 525			domain-idle-states = <&little_cpu_sleep_0 &little_cpu_sleep_1>;
 526		};
 527
 528		cpu_pd3: power-domain-cpu3 {
 529			#power-domain-cells = <0>;
 530			power-domains = <&cluster_pd>;
 531			domain-idle-states = <&little_cpu_sleep_0 &little_cpu_sleep_1>;
 532		};
 533
 534		cpu_pd4: power-domain-cpu4 {
 535			#power-domain-cells = <0>;
 536			power-domains = <&cluster_pd>;
 537			domain-idle-states = <&little_cpu_sleep_0 &little_cpu_sleep_1>;
 538		};
 539
 540		cpu_pd5: power-domain-cpu5 {
 541			#power-domain-cells = <0>;
 542			power-domains = <&cluster_pd>;
 543			domain-idle-states = <&little_cpu_sleep_0 &little_cpu_sleep_1>;
 544		};
 545
 546		cpu_pd6: power-domain-cpu6 {
 547			#power-domain-cells = <0>;
 548			power-domains = <&cluster_pd>;
 549			domain-idle-states = <&big_cpu_sleep_0 &big_cpu_sleep_1>;
 550		};
 551
 552		cpu_pd7: power-domain-cpu7 {
 553			#power-domain-cells = <0>;
 554			power-domains = <&cluster_pd>;
 555			domain-idle-states = <&big_cpu_sleep_0 &big_cpu_sleep_1>;
 556		};
 557
 558		cluster_pd: power-domain-cpu-cluster0 {
 559			#power-domain-cells = <0>;
 560			domain-idle-states = <&cluster_sleep_pc
 561					      &cluster_sleep_cx_ret
 562					      &cluster_aoss_sleep>;
 563		};
 564	};
 565
 566	reserved_memory: reserved-memory {
 567		#address-cells = <2>;
 568		#size-cells = <2>;
 569		ranges;
 570
 571		hyp_mem: memory@80000000 {
 572			reg = <0x0 0x80000000 0x0 0x600000>;
 573			no-map;
 574		};
 575
 576		xbl_aop_mem: memory@80700000 {
 577			reg = <0x0 0x80700000 0x0 0x160000>;
 578			no-map;
 579		};
 580
 581		cmd_db: memory@80860000 {
 582			compatible = "qcom,cmd-db";
 583			reg = <0x0 0x80860000 0x0 0x20000>;
 584			no-map;
 585		};
 586
 587		sec_apps_mem: memory@808ff000 {
 588			reg = <0x0 0x808ff000 0x0 0x1000>;
 589			no-map;
 590		};
 591
 592		smem_mem: memory@80900000 {
 593			reg = <0x0 0x80900000 0x0 0x200000>;
 594			no-map;
 595		};
 596
 597		cdsp_sec_mem: memory@80b00000 {
 598			reg = <0x0 0x80b00000 0x0 0x1e00000>;
 599			no-map;
 600		};
 601
 602		pil_camera_mem: memory@86000000 {
 603			reg = <0x0 0x86000000 0x0 0x500000>;
 604			no-map;
 605		};
 606
 607		pil_npu_mem: memory@86500000 {
 608			reg = <0x0 0x86500000 0x0 0x500000>;
 609			no-map;
 610		};
 611
 612		pil_video_mem: memory@86a00000 {
 613			reg = <0x0 0x86a00000 0x0 0x500000>;
 614			no-map;
 615		};
 616
 617		pil_cdsp_mem: memory@86f00000 {
 618			reg = <0x0 0x86f00000 0x0 0x1e00000>;
 619			no-map;
 620		};
 621
 622		pil_adsp_mem: memory@88d00000 {
 623			reg = <0x0 0x88d00000 0x0 0x2800000>;
 624			no-map;
 625		};
 626
 627		wlan_fw_mem: memory@8b500000 {
 628			reg = <0x0 0x8b500000 0x0 0x200000>;
 629			no-map;
 630		};
 631
 632		pil_ipa_fw_mem: memory@8b700000 {
 633			reg = <0x0 0x8b700000 0x0 0x10000>;
 634			no-map;
 635		};
 636
 637		pil_ipa_gsi_mem: memory@8b710000 {
 638			reg = <0x0 0x8b710000 0x0 0x5400>;
 639			no-map;
 640		};
 641
 642		pil_modem_mem: memory@8b800000 {
 643			reg = <0x0 0x8b800000 0x0 0xf800000>;
 644			no-map;
 645		};
 646
 647		cont_splash_memory: memory@a0000000 {
 648			reg = <0x0 0xa0000000 0x0 0x2300000>;
 649			no-map;
 650		};
 651
 652		dfps_data_memory: memory@a2300000 {
 653			reg = <0x0 0xa2300000 0x0 0x100000>;
 654			no-map;
 655		};
 656
 657		removed_region: memory@c0000000 {
 658			reg = <0x0 0xc0000000 0x0 0x3900000>;
 659			no-map;
 660		};
 661
 662		pil_gpu_mem: memory@f0d00000 {
 663			reg = <0x0 0xf0d00000 0x0 0x1000>;
 664			no-map;
 665		};
 666
 667		debug_region: memory@ffb00000 {
 668			reg = <0x0 0xffb00000 0x0 0xc0000>;
 669			no-map;
 670		};
 671
 672		last_log_region: memory@ffbc0000 {
 673			reg = <0x0 0xffbc0000 0x0 0x40000>;
 674			no-map;
 675		};
 676
 677		ramoops: ramoops@ffc00000 {
 678			compatible = "ramoops";
 679			reg = <0x0 0xffc00000 0x0 0x100000>;
 680			record-size = <0x1000>;
 681			console-size = <0x40000>;
 682			pmsg-size = <0x20000>;
 683			ecc-size = <16>;
 684			no-map;
 685		};
 686
 687		cmdline_region: memory@ffd00000 {
 688			reg = <0x0 0xffd00000 0x0 0x1000>;
 689			no-map;
 690		};
 691	};
 692
 693	smem {
 694		compatible = "qcom,smem";
 695		memory-region = <&smem_mem>;
 696		hwlocks = <&tcsr_mutex 3>;
 697	};
 698
 699	smp2p-adsp {
 700		compatible = "qcom,smp2p";
 701		qcom,smem = <443>, <429>;
 702		interrupts-extended = <&ipcc IPCC_CLIENT_LPASS
 703					     IPCC_MPROC_SIGNAL_SMP2P
 704					     IRQ_TYPE_EDGE_RISING>;
 705		mboxes = <&ipcc IPCC_CLIENT_LPASS
 706				IPCC_MPROC_SIGNAL_SMP2P>;
 707
 708		qcom,local-pid = <0>;
 709		qcom,remote-pid = <2>;
 710
 711		smp2p_adsp_out: master-kernel {
 712			qcom,entry-name = "master-kernel";
 713			#qcom,smem-state-cells = <1>;
 714		};
 715
 716		smp2p_adsp_in: slave-kernel {
 717			qcom,entry-name = "slave-kernel";
 718			interrupt-controller;
 719			#interrupt-cells = <2>;
 720		};
 721	};
 722
 723	smp2p-cdsp {
 724		compatible = "qcom,smp2p";
 725		qcom,smem = <94>, <432>;
 726		interrupts-extended = <&ipcc IPCC_CLIENT_CDSP
 727					     IPCC_MPROC_SIGNAL_SMP2P
 728					     IRQ_TYPE_EDGE_RISING>;
 729		mboxes = <&ipcc IPCC_CLIENT_CDSP
 730				IPCC_MPROC_SIGNAL_SMP2P>;
 731
 732		qcom,local-pid = <0>;
 733		qcom,remote-pid = <5>;
 734
 735		smp2p_cdsp_out: master-kernel {
 736			qcom,entry-name = "master-kernel";
 737			#qcom,smem-state-cells = <1>;
 738		};
 739
 740		smp2p_cdsp_in: slave-kernel {
 741			qcom,entry-name = "slave-kernel";
 742			interrupt-controller;
 743			#interrupt-cells = <2>;
 744		};
 745	};
 746
 747	smp2p-mpss {
 748		compatible = "qcom,smp2p";
 749		qcom,smem = <435>, <428>;
 750
 751		interrupts-extended = <&ipcc IPCC_CLIENT_MPSS
 752					     IPCC_MPROC_SIGNAL_SMP2P
 753					     IRQ_TYPE_EDGE_RISING>;
 754		mboxes = <&ipcc IPCC_CLIENT_MPSS
 755				IPCC_MPROC_SIGNAL_SMP2P>;
 756
 757		qcom,local-pid = <0>;
 758		qcom,remote-pid = <1>;
 759
 760		modem_smp2p_out: master-kernel {
 761			qcom,entry-name = "master-kernel";
 762			#qcom,smem-state-cells = <1>;
 763		};
 764
 765		modem_smp2p_in: slave-kernel {
 766			qcom,entry-name = "slave-kernel";
 767			interrupt-controller;
 768			#interrupt-cells = <2>;
 769		};
 770
 771		ipa_smp2p_out: ipa-ap-to-modem {
 772			qcom,entry-name = "ipa";
 773			#qcom,smem-state-cells = <1>;
 774		};
 775
 776		ipa_smp2p_in: ipa-modem-to-ap {
 777			qcom,entry-name = "ipa";
 778			interrupt-controller;
 779			#interrupt-cells = <2>;
 780		};
 781	};
 782
 783	soc: soc@0 {
 784		#address-cells = <2>;
 785		#size-cells = <2>;
 786		ranges = <0 0 0 0 0x10 0>;
 787		dma-ranges = <0 0 0 0 0x10 0>;
 788		compatible = "simple-bus";
 789
 790		gcc: clock-controller@100000 {
 791			compatible = "qcom,gcc-sm6350";
 792			reg = <0x0 0x00100000 0x0 0x1f0000>;
 793			#clock-cells = <1>;
 794			#reset-cells = <1>;
 795			#power-domain-cells = <1>;
 796			clock-names = "bi_tcxo",
 797				      "bi_tcxo_ao",
 798				      "sleep_clk";
 799			clocks = <&rpmhcc RPMH_CXO_CLK>,
 800				 <&rpmhcc RPMH_CXO_CLK_A>,
 801				 <&sleep_clk>;
 802		};
 803
 804		ipcc: mailbox@408000 {
 805			compatible = "qcom,sm6350-ipcc", "qcom,ipcc";
 806			reg = <0x0 0x00408000 0x0 0x1000>;
 807			interrupts = <GIC_SPI 228 IRQ_TYPE_LEVEL_HIGH>;
 808			interrupt-controller;
 809			#interrupt-cells = <3>;
 810			#mbox-cells = <2>;
 811		};
 812
 813		qfprom: qfprom@784000 {
 814			compatible = "qcom,sm6350-qfprom", "qcom,qfprom";
 815			reg = <0x0 0x00784000 0x0 0x3000>;
 816			#address-cells = <1>;
 817			#size-cells = <1>;
 818
 819			gpu_speed_bin: gpu-speed-bin@2015 {
 820				reg = <0x2015 0x1>;
 821				bits = <0 8>;
 822			};
 823		};
 824
 825		rng: rng@793000 {
 826			compatible = "qcom,prng-ee";
 827			reg = <0x0 0x00793000 0x0 0x1000>;
 828			clocks = <&gcc GCC_PRNG_AHB_CLK>;
 829			clock-names = "core";
 830		};
 831
 832		sdhc_1: mmc@7c4000 {
 833			compatible = "qcom,sm6350-sdhci", "qcom,sdhci-msm-v5";
 834			reg = <0x0 0x007c4000 0x0 0x1000>,
 835			      <0x0 0x007c5000 0x0 0x1000>,
 836			      <0x0 0x007c8000 0x0 0x8000>;
 837			reg-names = "hc", "cqhci", "ice";
 838
 839			interrupts = <GIC_SPI 641 IRQ_TYPE_LEVEL_HIGH>,
 840				     <GIC_SPI 644 IRQ_TYPE_LEVEL_HIGH>;
 841			interrupt-names = "hc_irq", "pwr_irq";
 842			iommus = <&apps_smmu 0x60 0x0>;
 843
 844			clocks = <&gcc GCC_SDCC1_AHB_CLK>,
 845				 <&gcc GCC_SDCC1_APPS_CLK>,
 846				 <&rpmhcc RPMH_CXO_CLK>;
 847			clock-names = "iface", "core", "xo";
 848			resets = <&gcc GCC_SDCC1_BCR>;
 849			qcom,dll-config = <0x000f642c>;
 850			qcom,ddr-config = <0x80040868>;
 851			power-domains = <&rpmhpd SM6350_CX>;
 852			operating-points-v2 = <&sdhc1_opp_table>;
 853			bus-width = <8>;
 854			non-removable;
 855			supports-cqe;
 856
 857			status = "disabled";
 858
 859			sdhc1_opp_table: opp-table {
 860				compatible = "operating-points-v2";
 861
 862				opp-19200000 {
 863					opp-hz = /bits/ 64 <19200000>;
 864					required-opps = <&rpmhpd_opp_min_svs>;
 865				};
 866
 867				opp-100000000 {
 868					opp-hz = /bits/ 64 <100000000>;
 869					required-opps = <&rpmhpd_opp_low_svs>;
 870				};
 871
 872				opp-384000000 {
 873					opp-hz = /bits/ 64 <384000000>;
 874					required-opps = <&rpmhpd_opp_svs_l1>;
 875				};
 876			};
 877		};
 878
 879		gpi_dma0: dma-controller@800000 {
 880			compatible = "qcom,sm6350-gpi-dma";
 881			reg = <0x0 0x00800000 0x0 0x60000>;
 882			interrupts = <GIC_SPI 244 IRQ_TYPE_LEVEL_HIGH>,
 883				     <GIC_SPI 245 IRQ_TYPE_LEVEL_HIGH>,
 884				     <GIC_SPI 246 IRQ_TYPE_LEVEL_HIGH>,
 885				     <GIC_SPI 247 IRQ_TYPE_LEVEL_HIGH>,
 886				     <GIC_SPI 248 IRQ_TYPE_LEVEL_HIGH>,
 887				     <GIC_SPI 249 IRQ_TYPE_LEVEL_HIGH>,
 888				     <GIC_SPI 250 IRQ_TYPE_LEVEL_HIGH>,
 889				     <GIC_SPI 251 IRQ_TYPE_LEVEL_HIGH>,
 890				     <GIC_SPI 252 IRQ_TYPE_LEVEL_HIGH>,
 891				     <GIC_SPI 253 IRQ_TYPE_LEVEL_HIGH>;
 892			dma-channels = <10>;
 893			dma-channel-mask = <0x1f>;
 894			iommus = <&apps_smmu 0x56 0x0>;
 895			#dma-cells = <3>;
 896			status = "disabled";
 897		};
 898
 899		qupv3_id_0: geniqup@8c0000 {
 900			compatible = "qcom,geni-se-qup";
 901			reg = <0x0 0x008c0000 0x0 0x2000>;
 902			clock-names = "m-ahb", "s-ahb";
 903			clocks = <&gcc GCC_QUPV3_WRAP_0_M_AHB_CLK>,
 904				 <&gcc GCC_QUPV3_WRAP_0_S_AHB_CLK>;
 905			#address-cells = <2>;
 906			#size-cells = <2>;
 907			iommus = <&apps_smmu 0x43 0x0>;
 908			ranges;
 909			status = "disabled";
 910
 911			i2c0: i2c@880000 {
 912				compatible = "qcom,geni-i2c";
 913				reg = <0x0 0x00880000 0x0 0x4000>;
 914				clock-names = "se";
 915				clocks = <&gcc GCC_QUPV3_WRAP0_S0_CLK>;
 916				pinctrl-names = "default";
 917				pinctrl-0 = <&qup_i2c0_default>;
 918				interrupts = <GIC_SPI 601 IRQ_TYPE_LEVEL_HIGH>;
 919				dmas = <&gpi_dma0 0 0 QCOM_GPI_I2C>,
 920				       <&gpi_dma0 1 0 QCOM_GPI_I2C>;
 921				dma-names = "tx", "rx";
 922				#address-cells = <1>;
 923				#size-cells = <0>;
 924				interconnects = <&clk_virt MASTER_QUP_CORE_0 0 &clk_virt SLAVE_QUP_CORE_0 0>,
 925						<&gem_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_QUP_0 0>,
 926						<&aggre1_noc MASTER_QUP_0 0 &clk_virt SLAVE_EBI_CH0 0>;
 927				interconnect-names = "qup-core", "qup-config", "qup-memory";
 928				status = "disabled";
 929			};
 930
 931			uart1: serial@884000 {
 932				compatible = "qcom,geni-uart";
 933				reg = <0x0 0x00884000 0x0 0x4000>;
 934				clock-names = "se";
 935				clocks = <&gcc GCC_QUPV3_WRAP0_S1_CLK>;
 936				pinctrl-names = "default";
 937				pinctrl-0 = <&qup_uart1_cts>, <&qup_uart1_rts>, <&qup_uart1_tx>, <&qup_uart1_rx>;
 938				interrupts = <GIC_SPI 602 IRQ_TYPE_LEVEL_HIGH>;
 939				power-domains = <&rpmhpd SM6350_CX>;
 940				operating-points-v2 = <&qup_opp_table>;
 941				interconnects = <&clk_virt MASTER_QUP_CORE_0 0 &clk_virt SLAVE_QUP_CORE_0 0>,
 942						<&gem_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_QUP_0 0>;
 943				interconnect-names = "qup-core", "qup-config";
 944				status = "disabled";
 945			};
 946
 947			i2c2: i2c@888000 {
 948				compatible = "qcom,geni-i2c";
 949				reg = <0x0 0x00888000 0x0 0x4000>;
 950				clock-names = "se";
 951				clocks = <&gcc GCC_QUPV3_WRAP0_S2_CLK>;
 952				pinctrl-names = "default";
 953				pinctrl-0 = <&qup_i2c2_default>;
 954				interrupts = <GIC_SPI 603 IRQ_TYPE_LEVEL_HIGH>;
 955				dmas = <&gpi_dma0 0 2 QCOM_GPI_I2C>,
 956				       <&gpi_dma0 1 2 QCOM_GPI_I2C>;
 957				dma-names = "tx", "rx";
 958				#address-cells = <1>;
 959				#size-cells = <0>;
 960				interconnects = <&clk_virt MASTER_QUP_CORE_0 0 &clk_virt SLAVE_QUP_CORE_0 0>,
 961						<&gem_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_QUP_0 0>,
 962						<&aggre1_noc MASTER_QUP_0 0 &clk_virt SLAVE_EBI_CH0 0>;
 963				interconnect-names = "qup-core", "qup-config", "qup-memory";
 964				status = "disabled";
 965			};
 966		};
 967
 968		gpi_dma1: dma-controller@900000 {
 969			compatible = "qcom,sm6350-gpi-dma";
 970			reg = <0x0 0x00900000 0x0 0x60000>;
 971			interrupts = <GIC_SPI 645 IRQ_TYPE_LEVEL_HIGH>,
 972				     <GIC_SPI 646 IRQ_TYPE_LEVEL_HIGH>,
 973				     <GIC_SPI 647 IRQ_TYPE_LEVEL_HIGH>,
 974				     <GIC_SPI 648 IRQ_TYPE_LEVEL_HIGH>,
 975				     <GIC_SPI 649 IRQ_TYPE_LEVEL_HIGH>,
 976				     <GIC_SPI 650 IRQ_TYPE_LEVEL_HIGH>,
 977				     <GIC_SPI 651 IRQ_TYPE_LEVEL_HIGH>,
 978				     <GIC_SPI 652 IRQ_TYPE_LEVEL_HIGH>,
 979				     <GIC_SPI 653 IRQ_TYPE_LEVEL_HIGH>,
 980				     <GIC_SPI 654 IRQ_TYPE_LEVEL_HIGH>;
 981			dma-channels = <10>;
 982			dma-channel-mask = <0x3f>;
 983			iommus = <&apps_smmu 0x4d6 0x0>;
 984			#dma-cells = <3>;
 985			status = "disabled";
 986		};
 987
 988		qupv3_id_1: geniqup@9c0000 {
 989			compatible = "qcom,geni-se-qup";
 990			reg = <0x0 0x009c0000 0x0 0x2000>;
 991			clock-names = "m-ahb", "s-ahb";
 992			clocks = <&gcc GCC_QUPV3_WRAP_1_M_AHB_CLK>,
 993				 <&gcc GCC_QUPV3_WRAP_1_S_AHB_CLK>;
 994			#address-cells = <2>;
 995			#size-cells = <2>;
 996			iommus = <&apps_smmu 0x4c3 0x0>;
 997			ranges;
 998			status = "disabled";
 999
1000			i2c6: i2c@980000 {
1001				compatible = "qcom,geni-i2c";
1002				reg = <0x0 0x00980000 0x0 0x4000>;
1003				clock-names = "se";
1004				clocks = <&gcc GCC_QUPV3_WRAP1_S0_CLK>;
1005				pinctrl-names = "default";
1006				pinctrl-0 = <&qup_i2c6_default>;
1007				interrupts = <GIC_SPI 353 IRQ_TYPE_LEVEL_HIGH>;
1008				dmas = <&gpi_dma1 0 0 QCOM_GPI_I2C>,
1009				       <&gpi_dma1 1 0 QCOM_GPI_I2C>;
1010				dma-names = "tx", "rx";
1011				#address-cells = <1>;
1012				#size-cells = <0>;
1013				interconnects = <&clk_virt MASTER_QUP_CORE_1 0 &clk_virt SLAVE_QUP_CORE_1 0>,
1014						<&gem_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_QUP_1 0>,
1015						<&aggre2_noc MASTER_QUP_1 0 &clk_virt SLAVE_EBI_CH0 0>;
1016				interconnect-names = "qup-core", "qup-config", "qup-memory";
1017				status = "disabled";
1018			};
1019
1020			i2c7: i2c@984000 {
1021				compatible = "qcom,geni-i2c";
1022				reg = <0x0 0x00984000 0x0 0x4000>;
1023				clock-names = "se";
1024				clocks = <&gcc GCC_QUPV3_WRAP1_S1_CLK>;
1025				pinctrl-names = "default";
1026				pinctrl-0 = <&qup_i2c7_default>;
1027				interrupts = <GIC_SPI 354 IRQ_TYPE_LEVEL_HIGH>;
1028				dmas = <&gpi_dma1 0 1 QCOM_GPI_I2C>,
1029				       <&gpi_dma1 1 1 QCOM_GPI_I2C>;
1030				dma-names = "tx", "rx";
1031				#address-cells = <1>;
1032				#size-cells = <0>;
1033				interconnects = <&clk_virt MASTER_QUP_CORE_1 0 &clk_virt SLAVE_QUP_CORE_1 0>,
1034						<&gem_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_QUP_1 0>,
1035						<&aggre2_noc MASTER_QUP_1 0 &clk_virt SLAVE_EBI_CH0 0>;
1036				interconnect-names = "qup-core", "qup-config", "qup-memory";
1037				status = "disabled";
1038			};
1039
1040			i2c8: i2c@988000 {
1041				compatible = "qcom,geni-i2c";
1042				reg = <0x0 0x00988000 0x0 0x4000>;
1043				clock-names = "se";
1044				clocks = <&gcc GCC_QUPV3_WRAP1_S2_CLK>;
1045				pinctrl-names = "default";
1046				pinctrl-0 = <&qup_i2c8_default>;
1047				interrupts = <GIC_SPI 355 IRQ_TYPE_LEVEL_HIGH>;
1048				dmas = <&gpi_dma1 0 2 QCOM_GPI_I2C>,
1049				       <&gpi_dma1 1 2 QCOM_GPI_I2C>;
1050				dma-names = "tx", "rx";
1051				#address-cells = <1>;
1052				#size-cells = <0>;
1053				interconnects = <&clk_virt MASTER_QUP_CORE_1 0 &clk_virt SLAVE_QUP_CORE_1 0>,
1054						<&gem_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_QUP_1 0>,
1055						<&aggre2_noc MASTER_QUP_1 0 &clk_virt SLAVE_EBI_CH0 0>;
1056				interconnect-names = "qup-core", "qup-config", "qup-memory";
1057				status = "disabled";
1058			};
1059
1060			uart9: serial@98c000 {
1061				compatible = "qcom,geni-debug-uart";
1062				reg = <0x0 0x0098c000 0x0 0x4000>;
1063				clock-names = "se";
1064				clocks = <&gcc GCC_QUPV3_WRAP1_S3_CLK>;
1065				pinctrl-names = "default";
1066				pinctrl-0 = <&qup_uart9_default>;
1067				interrupts = <GIC_SPI 356 IRQ_TYPE_LEVEL_HIGH>;
1068				interconnects = <&clk_virt MASTER_QUP_CORE_1 0 &clk_virt SLAVE_QUP_CORE_1 0>,
1069						<&gem_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_QUP_1 0>;
1070				interconnect-names = "qup-core", "qup-config";
1071				status = "disabled";
1072			};
1073
1074			i2c10: i2c@990000 {
1075				compatible = "qcom,geni-i2c";
1076				reg = <0x0 0x00990000 0x0 0x4000>;
1077				clock-names = "se";
1078				clocks = <&gcc GCC_QUPV3_WRAP1_S4_CLK>;
1079				pinctrl-names = "default";
1080				pinctrl-0 = <&qup_i2c10_default>;
1081				interrupts = <GIC_SPI 357 IRQ_TYPE_LEVEL_HIGH>;
1082				dmas = <&gpi_dma1 0 4 QCOM_GPI_I2C>,
1083				       <&gpi_dma1 1 4 QCOM_GPI_I2C>;
1084				dma-names = "tx", "rx";
1085				#address-cells = <1>;
1086				#size-cells = <0>;
1087				interconnects = <&clk_virt MASTER_QUP_CORE_1 0 &clk_virt SLAVE_QUP_CORE_1 0>,
1088						<&gem_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_QUP_1 0>,
1089						<&aggre2_noc MASTER_QUP_1 0 &clk_virt SLAVE_EBI_CH0 0>;
1090				interconnect-names = "qup-core", "qup-config", "qup-memory";
1091				status = "disabled";
1092			};
1093		};
1094
1095		config_noc: interconnect@1500000 {
1096			compatible = "qcom,sm6350-config-noc";
1097			reg = <0x0 0x01500000 0x0 0x28000>;
1098			#interconnect-cells = <2>;
1099			qcom,bcm-voters = <&apps_bcm_voter>;
1100		};
1101
1102		system_noc: interconnect@1620000 {
1103			compatible = "qcom,sm6350-system-noc";
1104			reg = <0x0 0x01620000 0x0 0x17080>;
1105			#interconnect-cells = <2>;
1106			qcom,bcm-voters = <&apps_bcm_voter>;
1107
1108			clk_virt: interconnect-clk-virt {
1109				compatible = "qcom,sm6350-clk-virt";
1110				#interconnect-cells = <2>;
1111				qcom,bcm-voters = <&apps_bcm_voter>;
1112			};
1113		};
1114
1115		aggre1_noc: interconnect@16e0000 {
1116			compatible = "qcom,sm6350-aggre1-noc";
1117			reg = <0x0 0x016e0000 0x0 0x15080>;
1118			#interconnect-cells = <2>;
1119			qcom,bcm-voters = <&apps_bcm_voter>;
1120		};
1121
1122		aggre2_noc: interconnect@1700000 {
1123			compatible = "qcom,sm6350-aggre2-noc";
1124			reg = <0x0 0x01700000 0x0 0x1f880>;
1125			#interconnect-cells = <2>;
1126			qcom,bcm-voters = <&apps_bcm_voter>;
1127
1128			compute_noc: interconnect-compute-noc {
1129				compatible = "qcom,sm6350-compute-noc";
1130				#interconnect-cells = <2>;
1131				qcom,bcm-voters = <&apps_bcm_voter>;
1132			};
1133		};
1134
1135		mmss_noc: interconnect@1740000 {
1136			compatible = "qcom,sm6350-mmss-noc";
1137			reg = <0x0 0x01740000 0x0 0x1c100>;
1138			#interconnect-cells = <2>;
1139			qcom,bcm-voters = <&apps_bcm_voter>;
1140		};
1141
1142		ufs_mem_hc: ufshc@1d84000 {
1143			compatible = "qcom,sm6350-ufshc", "qcom,ufshc",
1144				     "jedec,ufs-2.0";
1145			reg = <0x0 0x01d84000 0x0 0x3000>,
1146			      <0x0 0x01d90000 0x0 0x8000>;
1147			reg-names = "std", "ice";
1148			interrupts = <GIC_SPI 265 IRQ_TYPE_LEVEL_HIGH>;
1149			phys = <&ufs_mem_phy>;
1150			phy-names = "ufsphy";
1151			lanes-per-direction = <2>;
1152			#reset-cells = <1>;
1153			resets = <&gcc GCC_UFS_PHY_BCR>;
1154			reset-names = "rst";
1155
1156			power-domains = <&gcc UFS_PHY_GDSC>;
1157
1158			iommus = <&apps_smmu 0x80 0x0>;
1159
1160			clock-names = "core_clk",
1161				      "bus_aggr_clk",
1162				      "iface_clk",
1163				      "core_clk_unipro",
1164				      "ref_clk",
1165				      "tx_lane0_sync_clk",
1166				      "rx_lane0_sync_clk",
1167				      "rx_lane1_sync_clk",
1168				      "ice_core_clk";
1169			clocks = <&gcc GCC_UFS_PHY_AXI_CLK>,
1170				 <&gcc GCC_AGGRE_UFS_PHY_AXI_CLK>,
1171				 <&gcc GCC_UFS_PHY_AHB_CLK>,
1172				 <&gcc GCC_UFS_PHY_UNIPRO_CORE_CLK>,
1173				 <&rpmhcc RPMH_QLINK_CLK>,
1174				 <&gcc GCC_UFS_PHY_TX_SYMBOL_0_CLK>,
1175				 <&gcc GCC_UFS_PHY_RX_SYMBOL_0_CLK>,
1176				 <&gcc GCC_UFS_PHY_RX_SYMBOL_1_CLK>,
1177				 <&gcc GCC_UFS_PHY_ICE_CORE_CLK>;
1178
1179			operating-points-v2 = <&ufs_opp_table>;
1180
1181			interconnects = <&aggre1_noc MASTER_UFS_MEM QCOM_ICC_TAG_ALWAYS
1182					 &clk_virt SLAVE_EBI_CH0 QCOM_ICC_TAG_ALWAYS>,
1183					<&gem_noc MASTER_AMPSS_M0 QCOM_ICC_TAG_ACTIVE_ONLY
1184					 &config_noc SLAVE_UFS_MEM_CFG QCOM_ICC_TAG_ACTIVE_ONLY>;
1185			interconnect-names = "ufs-ddr",
1186					     "cpu-ufs";
1187
1188			status = "disabled";
1189
1190			ufs_opp_table: opp-table {
1191				compatible = "operating-points-v2";
1192
1193				opp-50000000 {
1194					opp-hz = /bits/ 64 <50000000>,
1195						 /bits/ 64 <0>,
1196						 /bits/ 64 <0>,
1197						 /bits/ 64 <37500000>,
1198						 /bits/ 64 <0>,
1199						 /bits/ 64 <0>,
1200						 /bits/ 64 <0>,
1201						 /bits/ 64 <0>,
1202						 /bits/ 64 <75000000>;
1203					required-opps = <&rpmhpd_opp_low_svs>;
1204				};
1205
1206				opp-200000000 {
1207					opp-hz = /bits/ 64 <200000000>,
1208						 /bits/ 64 <0>,
1209						 /bits/ 64 <0>,
1210						 /bits/ 64 <150000000>,
1211						 /bits/ 64 <0>,
1212						 /bits/ 64 <0>,
1213						 /bits/ 64 <0>,
1214						 /bits/ 64 <0>,
1215						 /bits/ 64 <300000000>;
1216					required-opps = <&rpmhpd_opp_nom>;
1217				};
1218			};
1219		};
1220
1221		ufs_mem_phy: phy@1d87000 {
1222			compatible = "qcom,sm6350-qmp-ufs-phy";
1223			reg = <0x0 0x01d87000 0x0 0x1000>;
1224
1225			clocks = <&rpmhcc RPMH_CXO_CLK>,
1226				 <&gcc GCC_UFS_PHY_PHY_AUX_CLK>,
1227				 <&gcc GCC_UFS_MEM_CLKREF_CLK>;
1228			clock-names = "ref",
1229				      "ref_aux",
1230				      "qref";
1231
1232			power-domains = <&gcc UFS_PHY_GDSC>;
1233
1234			resets = <&ufs_mem_hc 0>;
1235			reset-names = "ufsphy";
1236
1237			#phy-cells = <0>;
1238
1239			status = "disabled";
1240		};
1241
1242		cryptobam: dma-controller@1dc4000 {
1243			compatible = "qcom,bam-v1.7.4", "qcom,bam-v1.7.0";
1244			reg = <0x0 0x01dc4000 0x0 0x24000>;
1245			interrupts = <GIC_SPI 272 IRQ_TYPE_LEVEL_HIGH>;
1246			#dma-cells = <1>;
1247			qcom,ee = <0>;
1248			qcom,controlled-remotely;
1249			num-channels = <16>;
1250			qcom,num-ees = <4>;
1251			iommus = <&apps_smmu 0x426 0x11>,
1252				 <&apps_smmu 0x432 0x0>,
1253				 <&apps_smmu 0x436 0x11>,
1254				 <&apps_smmu 0x438 0x1>,
1255				 <&apps_smmu 0x43f 0x0>;
1256		};
1257
1258		crypto: crypto@1dfa000 {
1259			compatible = "qcom,sm6350-qce", "qcom,sm8150-qce", "qcom,qce";
1260			reg = <0x0 0x01dfa000 0x0 0x6000>;
1261			dmas = <&cryptobam 4>, <&cryptobam 5>;
1262			dma-names = "rx", "tx";
1263			iommus = <&apps_smmu 0x426 0x11>,
1264				 <&apps_smmu 0x432 0x0>,
1265				 <&apps_smmu 0x436 0x11>,
1266				 <&apps_smmu 0x438 0x1>,
1267				 <&apps_smmu 0x43f 0x0>;
1268			interconnects = <&aggre2_noc MASTER_CRYPTO_CORE_0 QCOM_ICC_TAG_ALWAYS
1269					 &clk_virt SLAVE_EBI_CH0 QCOM_ICC_TAG_ALWAYS>;
1270			interconnect-names = "memory";
1271		};
1272
1273		ipa: ipa@1e40000 {
1274			compatible = "qcom,sm6350-ipa";
1275
1276			iommus = <&apps_smmu 0x440 0x0>,
1277				 <&apps_smmu 0x442 0x0>;
1278			reg = <0x0 0x01e40000 0x0 0x8000>,
1279			      <0x0 0x01e50000 0x0 0x3000>,
1280			      <0x0 0x01e04000 0x0 0x23000>;
1281			reg-names = "ipa-reg",
1282				    "ipa-shared",
1283				    "gsi";
1284
1285			interrupts-extended = <&intc GIC_SPI 311 IRQ_TYPE_EDGE_RISING>,
1286					      <&intc GIC_SPI 432 IRQ_TYPE_LEVEL_HIGH>,
1287					      <&ipa_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
1288					      <&ipa_smp2p_in 1 IRQ_TYPE_EDGE_RISING>;
1289			interrupt-names = "ipa",
1290					  "gsi",
1291					  "ipa-clock-query",
1292					  "ipa-setup-ready";
1293
1294			clocks = <&rpmhcc RPMH_IPA_CLK>;
1295			clock-names = "core";
1296
1297			interconnects = <&aggre2_noc MASTER_IPA 0 &clk_virt SLAVE_EBI_CH0 0>,
1298					<&aggre2_noc MASTER_IPA 0 &system_noc SLAVE_OCIMEM 0>,
1299					<&gem_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_IPA_CFG 0>;
1300			interconnect-names = "memory", "imem", "config";
1301
1302			qcom,smem-states = <&ipa_smp2p_out 0>,
1303					   <&ipa_smp2p_out 1>;
1304			qcom,smem-state-names = "ipa-clock-enabled-valid",
1305						"ipa-clock-enabled";
1306
1307			status = "disabled";
1308		};
1309
1310		tcsr_mutex: hwlock@1f40000 {
1311			compatible = "qcom,tcsr-mutex";
1312			reg = <0x0 0x01f40000 0x0 0x40000>;
1313			#hwlock-cells = <1>;
1314		};
1315
1316		adsp: remoteproc@3000000 {
1317			compatible = "qcom,sm6350-adsp-pas";
1318			reg = <0x0 0x03000000 0x0 0x10000>;
1319
1320			interrupts-extended = <&pdc 6 IRQ_TYPE_EDGE_RISING>,
1321					      <&smp2p_adsp_in 0 IRQ_TYPE_EDGE_RISING>,
1322					      <&smp2p_adsp_in 1 IRQ_TYPE_EDGE_RISING>,
1323					      <&smp2p_adsp_in 2 IRQ_TYPE_EDGE_RISING>,
1324					      <&smp2p_adsp_in 3 IRQ_TYPE_EDGE_RISING>;
1325			interrupt-names = "wdog", "fatal", "ready",
1326					  "handover", "stop-ack";
1327
1328			clocks = <&rpmhcc RPMH_CXO_CLK>;
1329			clock-names = "xo";
1330
1331			power-domains = <&rpmhpd SM6350_LCX>,
1332					<&rpmhpd SM6350_LMX>;
1333			power-domain-names = "lcx", "lmx";
1334
1335			memory-region = <&pil_adsp_mem>;
1336
1337			qcom,qmp = <&aoss_qmp>;
1338
1339			qcom,smem-states = <&smp2p_adsp_out 0>;
1340			qcom,smem-state-names = "stop";
1341
1342			status = "disabled";
1343
1344			glink-edge {
1345				interrupts-extended = <&ipcc IPCC_CLIENT_LPASS
1346							     IPCC_MPROC_SIGNAL_GLINK_QMP
1347							     IRQ_TYPE_EDGE_RISING>;
1348				mboxes = <&ipcc IPCC_CLIENT_LPASS
1349						IPCC_MPROC_SIGNAL_GLINK_QMP>;
1350
1351				label = "lpass";
1352				qcom,remote-pid = <2>;
1353
1354				apr {
1355					compatible = "qcom,apr-v2";
1356					qcom,glink-channels = "apr_audio_svc";
1357					qcom,domain = <APR_DOMAIN_ADSP>;
1358					#address-cells = <1>;
1359					#size-cells = <0>;
1360
1361					service@3 {
1362						reg = <APR_SVC_ADSP_CORE>;
1363						compatible = "qcom,q6core";
1364						qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";
1365					};
1366
1367					q6afe: service@4 {
1368						compatible = "qcom,q6afe";
1369						reg = <APR_SVC_AFE>;
1370						qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";
1371
1372						q6afedai: dais {
1373							compatible = "qcom,q6afe-dais";
1374							#address-cells = <1>;
1375							#size-cells = <0>;
1376							#sound-dai-cells = <1>;
1377						};
1378
1379						q6afecc: clock-controller {
1380							compatible = "qcom,q6afe-clocks";
1381							#clock-cells = <2>;
1382						};
1383
1384						q6usbdai: usbd {
1385							compatible = "qcom,q6usb";
1386							iommus = <&apps_smmu 0x100f 0x0>;
1387							#sound-dai-cells = <1>;
1388							qcom,usb-audio-intr-idx = /bits/ 16 <2>;
1389						};
1390					};
1391
1392					q6asm: service@7 {
1393						compatible = "qcom,q6asm";
1394						reg = <APR_SVC_ASM>;
1395						qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";
1396
1397						q6asmdai: dais {
1398							compatible = "qcom,q6asm-dais";
1399							#address-cells = <1>;
1400							#size-cells = <0>;
1401							#sound-dai-cells = <1>;
1402							iommus = <&apps_smmu 0x1001 0x0>;
1403						};
1404					};
1405
1406					q6adm: service@8 {
1407						compatible = "qcom,q6adm";
1408						reg = <APR_SVC_ADM>;
1409						qcom,protection-domain = "avs/audio", "msm/adsp/audio_pd";
1410
1411						q6routing: routing {
1412							compatible = "qcom,q6adm-routing";
1413							#sound-dai-cells = <0>;
1414						};
1415					};
1416				};
1417
1418				fastrpc {
1419					compatible = "qcom,fastrpc";
1420					qcom,glink-channels = "fastrpcglink-apps-dsp";
1421					label = "adsp";
1422					qcom,non-secure-domain;
1423					#address-cells = <1>;
1424					#size-cells = <0>;
1425
1426					compute-cb@3 {
1427						compatible = "qcom,fastrpc-compute-cb";
1428						reg = <3>;
1429						iommus = <&apps_smmu 0x1003 0x0>;
1430					};
1431
1432					compute-cb@4 {
1433						compatible = "qcom,fastrpc-compute-cb";
1434						reg = <4>;
1435						iommus = <&apps_smmu 0x1004 0x0>;
1436					};
1437
1438					compute-cb@5 {
1439						compatible = "qcom,fastrpc-compute-cb";
1440						reg = <5>;
1441						iommus = <&apps_smmu 0x1005 0x0>;
1442						qcom,nsessions = <5>;
1443					};
1444				};
1445			};
1446		};
1447
1448		gpu: gpu@3d00000 {
1449			compatible = "qcom,adreno-619.0", "qcom,adreno";
1450			reg = <0x0 0x03d00000 0x0 0x40000>,
1451			      <0x0 0x03d9e000 0x0 0x1000>;
1452			reg-names = "kgsl_3d0_reg_memory",
1453				    "cx_mem";
1454			interrupts = <GIC_SPI 300 IRQ_TYPE_LEVEL_HIGH>;
1455
1456			iommus = <&adreno_smmu 0>;
1457			operating-points-v2 = <&gpu_opp_table>;
1458			qcom,gmu = <&gmu>;
1459			nvmem-cells = <&gpu_speed_bin>;
1460			nvmem-cell-names = "speed_bin";
1461			#cooling-cells = <2>;
1462
1463			status = "disabled";
1464
1465			gpu_zap_shader: zap-shader {
1466				memory-region = <&pil_gpu_mem>;
1467			};
1468
1469			gpu_opp_table: opp-table {
1470				compatible = "operating-points-v2";
1471
1472				opp-850000000 {
1473					opp-hz = /bits/ 64 <850000000>;
1474					opp-level = <RPMH_REGULATOR_LEVEL_TURBO_L1>;
1475					opp-supported-hw = <0x03>;
1476				};
1477
1478				opp-800000000 {
1479					opp-hz = /bits/ 64 <800000000>;
1480					opp-level = <RPMH_REGULATOR_LEVEL_TURBO>;
1481					opp-supported-hw = <0x07>;
1482				};
1483
1484				opp-650000000 {
1485					opp-hz = /bits/ 64 <650000000>;
1486					opp-level = <RPMH_REGULATOR_LEVEL_NOM_L1>;
1487					opp-supported-hw = <0x0f>;
1488				};
1489
1490				opp-565000000 {
1491					opp-hz = /bits/ 64 <565000000>;
1492					opp-level = <RPMH_REGULATOR_LEVEL_NOM>;
1493					opp-supported-hw = <0x1f>;
1494				};
1495
1496				opp-430000000 {
1497					opp-hz = /bits/ 64 <430000000>;
1498					opp-level = <RPMH_REGULATOR_LEVEL_SVS_L1>;
1499					opp-supported-hw = <0x1f>;
1500				};
1501
1502				opp-355000000 {
1503					opp-hz = /bits/ 64 <355000000>;
1504					opp-level = <RPMH_REGULATOR_LEVEL_SVS>;
1505					opp-supported-hw = <0x1f>;
1506				};
1507
1508				opp-253000000 {
1509					opp-hz = /bits/ 64 <253000000>;
1510					opp-level = <RPMH_REGULATOR_LEVEL_LOW_SVS>;
1511					opp-supported-hw = <0x1f>;
1512				};
1513			};
1514		};
1515
1516		adreno_smmu: iommu@3d40000 {
1517			compatible = "qcom,sm6350-smmu-v2", "qcom,adreno-smmu", "qcom,smmu-v2";
1518			reg = <0x0 0x03d40000 0x0 0x10000>;
1519			#iommu-cells = <1>;
1520			#global-interrupts = <2>;
1521			interrupts = <GIC_SPI 229 IRQ_TYPE_LEVEL_HIGH>,
1522				     <GIC_SPI 231 IRQ_TYPE_LEVEL_HIGH>,
1523				     <GIC_SPI 364 IRQ_TYPE_LEVEL_HIGH>,
1524				     <GIC_SPI 365 IRQ_TYPE_LEVEL_HIGH>,
1525				     <GIC_SPI 366 IRQ_TYPE_LEVEL_HIGH>,
1526				     <GIC_SPI 367 IRQ_TYPE_LEVEL_HIGH>,
1527				     <GIC_SPI 368 IRQ_TYPE_LEVEL_HIGH>,
1528				     <GIC_SPI 369 IRQ_TYPE_LEVEL_HIGH>,
1529				     <GIC_SPI 370 IRQ_TYPE_LEVEL_HIGH>,
1530				     <GIC_SPI 371 IRQ_TYPE_LEVEL_HIGH>;
1531
1532			clocks = <&gpucc GPU_CC_AHB_CLK>,
1533				 <&gcc GCC_GPU_MEMNOC_GFX_CLK>,
1534				 <&gcc GCC_GPU_SNOC_DVM_GFX_CLK>;
1535			clock-names = "ahb",
1536				      "bus",
1537				      "iface";
1538
1539			power-domains = <&gpucc GPU_CX_GDSC>;
1540		};
1541
1542		gmu: gmu@3d6a000 {
1543			compatible = "qcom,adreno-gmu-619.0", "qcom,adreno-gmu";
1544			reg = <0x0 0x03d6a000 0x0 0x31000>,
1545			      <0x0 0x0b290000 0x0 0x10000>,
1546			      <0x0 0x0b490000 0x0 0x10000>;
1547			reg-names = "gmu",
1548				    "gmu_pdc",
1549				    "gmu_pdc_seq";
1550
1551			interrupts = <GIC_SPI 304 IRQ_TYPE_LEVEL_HIGH>,
1552				     <GIC_SPI 305 IRQ_TYPE_LEVEL_HIGH>;
1553			interrupt-names = "hfi",
1554					  "gmu";
1555
1556			clocks = <&gpucc GPU_CC_AHB_CLK>,
1557				 <&gpucc GPU_CC_CX_GMU_CLK>,
1558				 <&gpucc GPU_CC_CXO_CLK>,
1559				 <&gcc GCC_DDRSS_GPU_AXI_CLK>,
1560				 <&gcc GCC_GPU_MEMNOC_GFX_CLK>;
1561			clock-names = "ahb",
1562				      "gmu",
1563				      "cxo",
1564				      "axi",
1565				      "memnoc";
1566
1567			power-domains = <&gpucc GPU_CX_GDSC>,
1568					<&gpucc GPU_GX_GDSC>;
1569			power-domain-names = "cx",
1570					     "gx";
1571
1572			iommus = <&adreno_smmu 5>;
1573
1574			operating-points-v2 = <&gmu_opp_table>;
1575
1576			gmu_opp_table: opp-table {
1577				compatible = "operating-points-v2";
1578
1579				opp-200000000 {
1580					opp-hz = /bits/ 64 <200000000>;
1581					opp-level = <RPMH_REGULATOR_LEVEL_MIN_SVS>;
1582				};
1583			};
1584		};
1585
1586		gpucc: clock-controller@3d90000 {
1587			compatible = "qcom,sm6350-gpucc";
1588			reg = <0x0 0x03d90000 0x0 0x9000>;
1589			clocks = <&rpmhcc RPMH_CXO_CLK>,
1590				 <&gcc GCC_GPU_GPLL0_CLK>,
1591				 <&gcc GCC_GPU_GPLL0_DIV_CLK>;
1592			clock-names = "bi_tcxo",
1593				      "gcc_gpu_gpll0_clk_src",
1594				      "gcc_gpu_gpll0_div_clk_src";
1595			#clock-cells = <1>;
1596			#reset-cells = <1>;
1597			#power-domain-cells = <1>;
1598		};
1599
1600		mpss: remoteproc@4080000 {
1601			compatible = "qcom,sm6350-mpss-pas";
1602			reg = <0x0 0x04080000 0x0 0x10000>;
1603
1604			interrupts-extended = <&intc GIC_SPI 136 IRQ_TYPE_EDGE_RISING>,
1605					      <&modem_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
1606					      <&modem_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
1607					      <&modem_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
1608					      <&modem_smp2p_in 3 IRQ_TYPE_EDGE_RISING>,
1609					      <&modem_smp2p_in 7 IRQ_TYPE_EDGE_RISING>;
1610			interrupt-names = "wdog", "fatal", "ready", "handover",
1611					  "stop-ack", "shutdown-ack";
1612
1613			clocks = <&rpmhcc RPMH_CXO_CLK>;
1614			clock-names = "xo";
1615
1616			power-domains = <&rpmhpd SM6350_CX>,
1617					<&rpmhpd SM6350_MSS>;
1618			power-domain-names = "cx", "mss";
1619
1620			memory-region = <&pil_modem_mem>;
1621
1622			qcom,qmp = <&aoss_qmp>;
1623
1624			qcom,smem-states = <&modem_smp2p_out 0>;
1625			qcom,smem-state-names = "stop";
1626
1627			status = "disabled";
1628
1629			glink-edge {
1630				interrupts-extended = <&ipcc IPCC_CLIENT_MPSS
1631							     IPCC_MPROC_SIGNAL_GLINK_QMP
1632							     IRQ_TYPE_EDGE_RISING>;
1633				mboxes = <&ipcc IPCC_CLIENT_MPSS
1634						IPCC_MPROC_SIGNAL_GLINK_QMP>;
1635				label = "modem";
1636				qcom,remote-pid = <1>;
1637			};
1638		};
1639
1640		cdsp: remoteproc@8300000 {
1641			compatible = "qcom,sm6350-cdsp-pas";
1642			reg = <0x0 0x08300000 0x0 0x10000>;
1643
1644			interrupts-extended = <&intc GIC_SPI 578 IRQ_TYPE_EDGE_RISING>,
1645					      <&smp2p_cdsp_in 0 IRQ_TYPE_EDGE_RISING>,
1646					      <&smp2p_cdsp_in 1 IRQ_TYPE_EDGE_RISING>,
1647					      <&smp2p_cdsp_in 2 IRQ_TYPE_EDGE_RISING>,
1648					      <&smp2p_cdsp_in 3 IRQ_TYPE_EDGE_RISING>;
1649			interrupt-names = "wdog", "fatal", "ready",
1650					  "handover", "stop-ack";
1651
1652			clocks = <&rpmhcc RPMH_CXO_CLK>;
1653			clock-names = "xo";
1654
1655			power-domains = <&rpmhpd SM6350_CX>,
1656					<&rpmhpd SM6350_MX>;
1657			power-domain-names = "cx", "mx";
1658
1659			memory-region = <&pil_cdsp_mem>;
1660
1661			qcom,qmp = <&aoss_qmp>;
1662
1663			qcom,smem-states = <&smp2p_cdsp_out 0>;
1664			qcom,smem-state-names = "stop";
1665
1666			status = "disabled";
1667
1668			glink-edge {
1669				interrupts-extended = <&ipcc IPCC_CLIENT_CDSP
1670							     IPCC_MPROC_SIGNAL_GLINK_QMP
1671							     IRQ_TYPE_EDGE_RISING>;
1672				mboxes = <&ipcc IPCC_CLIENT_CDSP
1673						IPCC_MPROC_SIGNAL_GLINK_QMP>;
1674
1675				label = "cdsp";
1676				qcom,remote-pid = <5>;
1677
1678				fastrpc {
1679					compatible = "qcom,fastrpc";
1680					qcom,glink-channels = "fastrpcglink-apps-dsp";
1681					label = "cdsp";
1682					qcom,non-secure-domain;
1683					#address-cells = <1>;
1684					#size-cells = <0>;
1685
1686					compute-cb@1 {
1687						compatible = "qcom,fastrpc-compute-cb";
1688						reg = <1>;
1689						iommus = <&apps_smmu 0x1401 0x20>;
1690					};
1691
1692					compute-cb@2 {
1693						compatible = "qcom,fastrpc-compute-cb";
1694						reg = <2>;
1695						iommus = <&apps_smmu 0x1402 0x20>;
1696					};
1697
1698					compute-cb@3 {
1699						compatible = "qcom,fastrpc-compute-cb";
1700						reg = <3>;
1701						iommus = <&apps_smmu 0x1403 0x20>;
1702					};
1703
1704					compute-cb@4 {
1705						compatible = "qcom,fastrpc-compute-cb";
1706						reg = <4>;
1707						iommus = <&apps_smmu 0x1404 0x20>;
1708					};
1709
1710					compute-cb@5 {
1711						compatible = "qcom,fastrpc-compute-cb";
1712						reg = <5>;
1713						iommus = <&apps_smmu 0x1405 0x20>;
1714					};
1715
1716					compute-cb@6 {
1717						compatible = "qcom,fastrpc-compute-cb";
1718						reg = <6>;
1719						iommus = <&apps_smmu 0x1406 0x20>;
1720					};
1721
1722					compute-cb@7 {
1723						compatible = "qcom,fastrpc-compute-cb";
1724						reg = <7>;
1725						iommus = <&apps_smmu 0x1407 0x20>;
1726					};
1727
1728					compute-cb@8 {
1729						compatible = "qcom,fastrpc-compute-cb";
1730						reg = <8>;
1731						iommus = <&apps_smmu 0x1408 0x20>;
1732					};
1733
1734					/* note: secure cb9 in downstream */
1735				};
1736			};
1737		};
1738
1739		sdhc_2: mmc@8804000 {
1740			compatible = "qcom,sm6350-sdhci", "qcom,sdhci-msm-v5";
1741			reg = <0x0 0x08804000 0x0 0x1000>;
1742
1743			interrupts = <GIC_SPI 204 IRQ_TYPE_LEVEL_HIGH>,
1744				     <GIC_SPI 222 IRQ_TYPE_LEVEL_HIGH>;
1745			interrupt-names = "hc_irq", "pwr_irq";
1746			iommus = <&apps_smmu 0x560 0x0>;
1747
1748			clocks = <&gcc GCC_SDCC2_AHB_CLK>,
1749				 <&gcc GCC_SDCC2_APPS_CLK>,
1750				 <&rpmhcc RPMH_CXO_CLK>;
1751			clock-names = "iface", "core", "xo";
1752			resets = <&gcc GCC_SDCC2_BCR>;
1753			interconnects = <&aggre2_noc MASTER_SDCC_2 0 &clk_virt SLAVE_EBI_CH0 0>,
1754					<&gem_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_SDCC_2 0>;
1755			interconnect-names = "sdhc-ddr", "cpu-sdhc";
1756
1757			pinctrl-0 = <&sdc2_on_state>;
1758			pinctrl-1 = <&sdc2_off_state>;
1759			pinctrl-names = "default", "sleep";
1760
1761			qcom,dll-config = <0x0007642c>;
1762			qcom,ddr-config = <0x80040868>;
1763			power-domains = <&rpmhpd SM6350_CX>;
1764			operating-points-v2 = <&sdhc2_opp_table>;
1765			bus-width = <4>;
1766
1767			status = "disabled";
1768
1769			sdhc2_opp_table: opp-table {
1770				compatible = "operating-points-v2";
1771
1772				opp-100000000 {
1773					opp-hz = /bits/ 64 <100000000>;
1774					required-opps = <&rpmhpd_opp_svs_l1>;
1775					opp-peak-kBps = <790000 131000>;
1776					opp-avg-kBps = <50000 50000>;
1777				};
1778
1779				opp-202000000 {
1780					opp-hz = /bits/ 64 <202000000>;
1781					required-opps = <&rpmhpd_opp_nom>;
1782					opp-peak-kBps = <3190000 294000>;
1783					opp-avg-kBps = <261438 300000>;
1784				};
1785			};
1786		};
1787
1788		usb_1_hsphy: phy@88e3000 {
1789			compatible = "qcom,sm6350-qusb2-phy", "qcom,qusb2-v2-phy";
1790			reg = <0x0 0x088e3000 0x0 0x400>;
1791			status = "disabled";
1792			#phy-cells = <0>;
1793
1794			clocks = <&xo_board>, <&rpmhcc RPMH_CXO_CLK>;
1795			clock-names = "cfg_ahb", "ref";
1796
1797			resets = <&gcc GCC_QUSB2PHY_PRIM_BCR>;
1798		};
1799
1800		refgen: regulator@88e7000 {
1801			compatible = "qcom,sm6350-refgen-regulator",
1802				     "qcom,sm8250-refgen-regulator";
1803			reg = <0x0 0x088e7000 0x0 0x84>;
1804		};
1805
1806		usb_1_qmpphy: phy@88e8000 {
1807			compatible = "qcom,sm6350-qmp-usb3-dp-phy";
1808			reg = <0x0 0x088e8000 0x0 0x3000>;
1809
1810			clocks = <&gcc GCC_USB3_PRIM_PHY_AUX_CLK>,
1811				 <&gcc GCC_USB3_PRIM_CLKREF_CLK>,
1812				 <&gcc GCC_USB3_PRIM_PHY_COM_AUX_CLK>,
1813				 <&gcc GCC_USB3_PRIM_PHY_PIPE_CLK>;
1814			clock-names = "aux", "ref", "com_aux", "usb3_pipe";
1815
1816			power-domains = <&gcc USB30_PRIM_GDSC>;
1817
1818			resets = <&gcc GCC_USB3_PHY_PRIM_BCR>,
1819				 <&gcc GCC_USB3_DP_PHY_PRIM_BCR>;
1820			reset-names = "phy", "common";
1821
1822			orientation-switch;
1823
1824			#clock-cells = <1>;
1825			#phy-cells = <1>;
1826
1827			status = "disabled";
1828
1829			ports {
1830				#address-cells = <1>;
1831				#size-cells = <0>;
1832
1833				port@0 {
1834					reg = <0>;
1835
1836					usb_1_qmpphy_out: endpoint {
1837					};
1838				};
1839
1840				port@1 {
1841					reg = <1>;
1842
1843					usb_1_qmpphy_usb_ss_in: endpoint {
1844						remote-endpoint = <&usb_1_dwc3_ss_out>;
1845					};
1846				};
1847
1848				port@2 {
1849					reg = <2>;
1850
1851					usb_1_qmpphy_dp_in: endpoint {
1852					};
1853				};
1854			};
1855		};
1856
1857		dc_noc: interconnect@9160000 {
1858			compatible = "qcom,sm6350-dc-noc";
1859			reg = <0x0 0x09160000 0x0 0x3200>;
1860			#interconnect-cells = <2>;
1861			qcom,bcm-voters = <&apps_bcm_voter>;
1862		};
1863
1864		system-cache-controller@9200000 {
1865			compatible = "qcom,sm6350-llcc";
1866			reg = <0x0 0x09200000 0x0 0x50000>, <0x0 0x09600000 0x0 0x50000>;
1867			reg-names = "llcc0_base", "llcc_broadcast_base";
1868		};
1869
1870		gem_noc: interconnect@9680000 {
1871			compatible = "qcom,sm6350-gem-noc";
1872			reg = <0x0 0x09680000 0x0 0x3e200>;
1873			#interconnect-cells = <2>;
1874			qcom,bcm-voters = <&apps_bcm_voter>;
1875		};
1876
1877		npu_noc: interconnect@9990000 {
1878			compatible = "qcom,sm6350-npu-noc";
1879			reg = <0x0 0x09990000 0x0 0x1600>;
1880			#interconnect-cells = <2>;
1881			qcom,bcm-voters = <&apps_bcm_voter>;
1882		};
1883
1884		pmu@90b6300 {
1885			compatible = "qcom,sm6350-llcc-bwmon", "qcom,sdm845-bwmon";
1886			reg = <0x0 0x090b6300 0x0 0x600>;
1887			interrupts = <GIC_SPI 581 IRQ_TYPE_LEVEL_HIGH>;
1888
1889			operating-points-v2 = <&llcc_bwmon_opp_table>;
1890			interconnects = <&clk_virt MASTER_LLCC QCOM_ICC_TAG_ACTIVE_ONLY
1891					 &clk_virt SLAVE_EBI_CH0 QCOM_ICC_TAG_ACTIVE_ONLY>;
1892
1893			llcc_bwmon_opp_table: opp-table {
1894				compatible = "operating-points-v2";
1895
1896				opp-0 {
1897					opp-peak-kBps = <2288000>;
1898				};
1899
1900				opp-1 {
1901					opp-peak-kBps = <4577000>;
1902				};
1903
1904				opp-2 {
1905					opp-peak-kBps = <7110000>;
1906				};
1907
1908				opp-3 {
1909					opp-peak-kBps = <9155000>;
1910				};
1911
1912				opp-4 {
1913					opp-peak-kBps = <12298000>;
1914				};
1915
1916				opp-5 {
1917					opp-peak-kBps = <14236000>;
1918				};
1919
1920			};
1921		};
1922
1923		pmu@90cd000 {
1924			compatible = "qcom,sm6350-cpu-bwmon", "qcom,sc7280-llcc-bwmon";
1925			reg = <0x0 0x090cd000 0x0 0x1000>;
1926			interrupts = <GIC_SPI 241 IRQ_TYPE_LEVEL_HIGH>;
1927
1928			operating-points-v2 = <&cpu_bwmon_opp_table>;
1929			interconnects = <&gem_noc MASTER_AMPSS_M0 QCOM_ICC_TAG_ACTIVE_ONLY
1930					 &clk_virt SLAVE_EBI_CH0 QCOM_ICC_TAG_ACTIVE_ONLY>;
1931
1932			cpu_bwmon_opp_table: opp-table {
1933				compatible = "operating-points-v2";
1934
1935				opp-0 {
1936					opp-peak-kBps = <762000>;
1937				};
1938
1939				opp-1 {
1940					opp-peak-kBps = <1144000>;
1941				};
1942
1943				opp-2 {
1944					opp-peak-kBps = <1720000>;
1945				};
1946
1947				opp-3 {
1948					opp-peak-kBps = <2086000>;
1949				};
1950
1951				opp-4 {
1952					opp-peak-kBps = <2597000>;
1953				};
1954
1955				opp-5 {
1956					opp-peak-kBps = <2929000>;
1957				};
1958
1959				opp-6 {
1960					opp-peak-kBps = <3879000>;
1961				};
1962
1963				opp-7 {
1964					opp-peak-kBps = <5161000>;
1965				};
1966
1967				opp-8 {
1968					opp-peak-kBps = <5931000>;
1969				};
1970
1971				opp-9 {
1972					opp-peak-kBps = <6881000>;
1973				};
1974
1975				opp-10 {
1976					opp-peak-kBps = <7980000>;
1977				};
1978			};
1979		};
1980
1981		usb_1: usb@a6f8800 {
1982			compatible = "qcom,sm6350-dwc3", "qcom,dwc3";
1983			reg = <0x0 0x0a6f8800 0x0 0x400>;
1984			status = "disabled";
1985			#address-cells = <2>;
1986			#size-cells = <2>;
1987			ranges;
1988
1989			clocks = <&gcc GCC_CFG_NOC_USB3_PRIM_AXI_CLK>,
1990				 <&gcc GCC_USB30_PRIM_MASTER_CLK>,
1991				 <&gcc GCC_AGGRE_USB3_PRIM_AXI_CLK>,
1992				 <&gcc GCC_USB30_PRIM_SLEEP_CLK>,
1993				 <&gcc GCC_USB30_PRIM_MOCK_UTMI_CLK>;
1994			clock-names = "cfg_noc",
1995				      "core",
1996				      "iface",
1997				      "sleep",
1998				      "mock_utmi";
1999
2000			interrupts-extended = <&intc GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>,
2001					      <&intc GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>,
2002					      <&pdc 14 IRQ_TYPE_EDGE_BOTH>,
2003					      <&pdc 15 IRQ_TYPE_EDGE_BOTH>,
2004					      <&pdc 17 IRQ_TYPE_LEVEL_HIGH>;
2005			interrupt-names = "pwr_event",
2006					  "hs_phy_irq",
2007					  "dp_hs_phy_irq",
2008					  "dm_hs_phy_irq",
2009					  "ss_phy_irq";
2010
2011			power-domains = <&gcc USB30_PRIM_GDSC>;
2012
2013			resets = <&gcc GCC_USB30_PRIM_BCR>;
2014
2015			interconnects = <&aggre2_noc MASTER_USB3 0 &clk_virt SLAVE_EBI_CH0 0>,
2016					<&gem_noc MASTER_AMPSS_M0 0 &config_noc SLAVE_USB3 0>;
2017			interconnect-names = "usb-ddr", "apps-usb";
2018
2019			usb_1_dwc3: usb@a600000 {
2020				compatible = "snps,dwc3";
2021				reg = <0x0 0x0a600000 0x0 0xcd00>;
2022				interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>;
2023				iommus = <&apps_smmu 0x540 0x0>;
2024				num-hc-interrupters = /bits/ 16 <3>;
2025				snps,dis_u2_susphy_quirk;
2026				snps,dis_enblslpm_quirk;
2027				snps,has-lpm-erratum;
2028				snps,hird-threshold = /bits/ 8 <0x10>;
2029				snps,parkmode-disable-ss-quirk;
2030				snps,dis-u1-entry-quirk;
2031				snps,dis-u2-entry-quirk;
2032				phys = <&usb_1_hsphy>, <&usb_1_qmpphy QMP_USB43DP_USB3_PHY>;
2033				phy-names = "usb2-phy", "usb3-phy";
2034				usb-role-switch;
2035
2036				ports {
2037					#address-cells = <1>;
2038					#size-cells = <0>;
2039
2040					port@0 {
2041						reg = <0>;
2042
2043						usb_1_dwc3_hs_out: endpoint {
2044						};
2045					};
2046
2047					port@1 {
2048						reg = <1>;
2049
2050						usb_1_dwc3_ss_out: endpoint {
2051							remote-endpoint = <&usb_1_qmpphy_usb_ss_in>;
2052						};
2053					};
2054				};
2055			};
2056		};
2057
2058		videocc: clock-controller@aaf0000 {
2059			compatible = "qcom,sm6350-videocc";
2060			reg = <0x0 0x0aaf0000 0x0 0x10000>;
2061			clocks = <&gcc GCC_VIDEO_AHB_CLK>,
2062				 <&rpmhcc RPMH_CXO_CLK>,
2063				 <&sleep_clk>;
2064			clock-names = "iface",
2065				      "bi_tcxo",
2066				      "sleep_clk";
2067			#clock-cells = <1>;
2068			#reset-cells = <1>;
2069			#power-domain-cells = <1>;
2070		};
2071
2072		cci0: cci@ac4a000 {
2073			compatible = "qcom,sm6350-cci", "qcom,msm8996-cci";
2074			reg = <0x0 0x0ac4a000 0x0 0x1000>;
2075			interrupts = <GIC_SPI 468 IRQ_TYPE_EDGE_RISING>;
2076			power-domains = <&camcc TITAN_TOP_GDSC>;
2077
2078			clocks = <&camcc CAMCC_CAMNOC_AXI_CLK>,
2079				 <&camcc CAMCC_SOC_AHB_CLK>,
2080				 <&camcc CAMCC_SLOW_AHB_CLK_SRC>,
2081				 <&camcc CAMCC_CPAS_AHB_CLK>,
2082				 <&camcc CAMCC_CCI_0_CLK>,
2083				 <&camcc CAMCC_CCI_0_CLK_SRC>;
2084			clock-names = "camnoc_axi",
2085				      "soc_ahb",
2086				      "slow_ahb_src",
2087				      "cpas_ahb",
2088				      "cci",
2089				      "cci_src";
2090
2091			assigned-clocks = <&camcc CAMCC_CAMNOC_AXI_CLK>,
2092					  <&camcc CAMCC_CCI_0_CLK>;
2093			assigned-clock-rates = <80000000>, <37500000>;
2094
2095			pinctrl-0 = <&cci0_default &cci1_default>;
2096			pinctrl-1 = <&cci0_sleep &cci1_sleep>;
2097			pinctrl-names = "default", "sleep";
2098
2099			#address-cells = <1>;
2100			#size-cells = <0>;
2101
2102			status = "disabled";
2103
2104			cci0_i2c0: i2c-bus@0 {
2105				reg = <0>;
2106				clock-frequency = <1000000>;
2107				#address-cells = <1>;
2108				#size-cells = <0>;
2109			};
2110
2111			cci0_i2c1: i2c-bus@1 {
2112				reg = <1>;
2113				clock-frequency = <1000000>;
2114				#address-cells = <1>;
2115				#size-cells = <0>;
2116			};
2117		};
2118
2119		cci1: cci@ac4b000 {
2120			compatible = "qcom,sm6350-cci", "qcom,msm8996-cci";
2121			reg = <0x0 0x0ac4b000 0x0 0x1000>;
2122			interrupts = <GIC_SPI 462 IRQ_TYPE_EDGE_RISING>;
2123			power-domains = <&camcc TITAN_TOP_GDSC>;
2124
2125			clocks = <&camcc CAMCC_CAMNOC_AXI_CLK>,
2126				 <&camcc CAMCC_SOC_AHB_CLK>,
2127				 <&camcc CAMCC_SLOW_AHB_CLK_SRC>,
2128				 <&camcc CAMCC_CPAS_AHB_CLK>,
2129				 <&camcc CAMCC_CCI_1_CLK>,
2130				 <&camcc CAMCC_CCI_1_CLK_SRC>;
2131			clock-names = "camnoc_axi",
2132				      "soc_ahb",
2133				      "slow_ahb_src",
2134				      "cpas_ahb",
2135				      "cci",
2136				      "cci_src";
2137
2138			assigned-clocks = <&camcc CAMCC_CAMNOC_AXI_CLK>,
2139					  <&camcc CAMCC_CCI_1_CLK>;
2140			assigned-clock-rates = <80000000>, <37500000>;
2141
2142			pinctrl-0 = <&cci2_default>;
2143			pinctrl-1 = <&cci2_sleep>;
2144			pinctrl-names = "default", "sleep";
2145
2146			#address-cells = <1>;
2147			#size-cells = <0>;
2148
2149			status = "disabled";
2150
2151			cci1_i2c0: i2c-bus@0 {
2152				reg = <0>;
2153				clock-frequency = <1000000>;
2154				#address-cells = <1>;
2155				#size-cells = <0>;
2156			};
2157
2158			/* SM6350 seems to have cci1_i2c1 on gpio2 & gpio3 but unused downstream */
2159		};
2160
2161		camcc: clock-controller@ad00000 {
2162			compatible = "qcom,sm6350-camcc";
2163			reg = <0x0 0x0ad00000 0x0 0x16000>;
2164			clocks = <&rpmhcc RPMH_CXO_CLK>;
2165			#clock-cells = <1>;
2166			#reset-cells = <1>;
2167			#power-domain-cells = <1>;
2168		};
2169
2170		mdss: display-subsystem@ae00000 {
2171			compatible = "qcom,sm6350-mdss";
2172			reg = <0x0 0x0ae00000 0x0 0x1000>;
2173			reg-names = "mdss";
2174
2175			interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
2176			interrupt-controller;
2177			#interrupt-cells = <1>;
2178
2179			interconnects = <&mmss_noc MASTER_MDP_PORT0 QCOM_ICC_TAG_ALWAYS
2180					 &clk_virt SLAVE_EBI_CH0 QCOM_ICC_TAG_ALWAYS>,
2181					<&gem_noc MASTER_AMPSS_M0 QCOM_ICC_TAG_ACTIVE_ONLY
2182					 &config_noc SLAVE_DISPLAY_CFG QCOM_ICC_TAG_ACTIVE_ONLY>;
2183			interconnect-names = "mdp0-mem",
2184					     "cpu-cfg";
2185
2186			clocks = <&gcc GCC_DISP_AHB_CLK>,
2187				 <&gcc GCC_DISP_AXI_CLK>,
2188				 <&dispcc DISP_CC_MDSS_MDP_CLK>;
2189			clock-names = "iface",
2190				      "bus",
2191				      "core";
2192
2193			power-domains = <&dispcc MDSS_GDSC>;
2194			iommus = <&apps_smmu 0x800 0x2>;
2195
2196			resets = <&dispcc DISP_CC_MDSS_CORE_BCR>;
2197
2198			#address-cells = <2>;
2199			#size-cells = <2>;
2200			ranges;
2201
2202			status = "disabled";
2203
2204			mdss_mdp: display-controller@ae01000 {
2205				compatible = "qcom,sm6350-dpu";
2206				reg = <0x0 0x0ae01000 0x0 0x8f000>,
2207				      <0x0 0x0aeb0000 0x0 0x2008>;
2208				reg-names = "mdp", "vbif";
2209
2210				interrupt-parent = <&mdss>;
2211				interrupts = <0>;
2212
2213				clocks = <&gcc GCC_DISP_AXI_CLK>,
2214					 <&dispcc DISP_CC_MDSS_AHB_CLK>,
2215					 <&dispcc DISP_CC_MDSS_ROT_CLK>,
2216					 <&dispcc DISP_CC_MDSS_MDP_LUT_CLK>,
2217					 <&dispcc DISP_CC_MDSS_MDP_CLK>,
2218					 <&dispcc DISP_CC_MDSS_VSYNC_CLK>;
2219				clock-names = "bus",
2220					      "iface",
2221					      "rot",
2222					      "lut",
2223					      "core",
2224					      "vsync";
2225
2226				assigned-clocks = <&dispcc DISP_CC_MDSS_VSYNC_CLK>;
2227				assigned-clock-rates = <19200000>;
2228
2229				operating-points-v2 = <&mdp_opp_table>;
2230				power-domains = <&rpmhpd SM6350_CX>;
2231
2232				ports {
2233					#address-cells = <1>;
2234					#size-cells = <0>;
2235
2236					port@0 {
2237						reg = <0>;
2238
2239						dpu_intf1_out: endpoint {
2240							remote-endpoint = <&mdss_dsi0_in>;
2241						};
2242					};
2243
2244					port@2 {
2245						reg = <2>;
2246
2247						dpu_intf0_out: endpoint {
2248							remote-endpoint = <&mdss_dp_in>;
2249						};
2250					};
2251				};
2252
2253				mdp_opp_table: opp-table {
2254					compatible = "operating-points-v2";
2255
2256					opp-19200000 {
2257						opp-hz = /bits/ 64 <19200000>;
2258						required-opps = <&rpmhpd_opp_min_svs>;
2259					};
2260
2261					opp-200000000 {
2262						opp-hz = /bits/ 64 <200000000>;
2263						required-opps = <&rpmhpd_opp_low_svs>;
2264					};
2265
2266					opp-300000000 {
2267						opp-hz = /bits/ 64 <300000000>;
2268						required-opps = <&rpmhpd_opp_svs>;
2269					};
2270
2271					opp-373333333 {
2272						opp-hz = /bits/ 64 <373333333>;
2273						required-opps = <&rpmhpd_opp_svs_l1>;
2274					};
2275
2276					opp-448000000 {
2277						opp-hz = /bits/ 64 <448000000>;
2278						required-opps = <&rpmhpd_opp_nom>;
2279					};
2280
2281					opp-560000000 {
2282						opp-hz = /bits/ 64 <560000000>;
2283						required-opps = <&rpmhpd_opp_turbo>;
2284					};
2285				};
2286			};
2287
2288			mdss_dp: displayport-controller@ae90000 {
2289				compatible = "qcom,sm6350-dp", "qcom,sc7180-dp";
2290				reg = <0x0 0xae90000 0x0 0x200>,
2291				      <0x0 0xae90200 0x0 0x200>,
2292				      <0x0 0xae90400 0x0 0x600>,
2293				      <0x0 0xae91000 0x0 0x400>,
2294				      <0x0 0xae91400 0x0 0x400>;
2295				interrupt-parent = <&mdss>;
2296				interrupts = <12>;
2297				clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>,
2298					 <&dispcc DISP_CC_MDSS_DP_AUX_CLK>,
2299					 <&dispcc DISP_CC_MDSS_DP_LINK_CLK>,
2300					 <&dispcc DISP_CC_MDSS_DP_LINK_INTF_CLK>,
2301					 <&dispcc DISP_CC_MDSS_DP_PIXEL_CLK>;
2302				clock-names = "core_iface",
2303					      "core_aux",
2304					      "ctrl_link",
2305					      "ctrl_link_iface",
2306					      "stream_pixel";
2307
2308				assigned-clocks = <&dispcc DISP_CC_MDSS_DP_LINK_CLK_SRC>,
2309						  <&dispcc DISP_CC_MDSS_DP_PIXEL_CLK_SRC>;
2310				assigned-clock-parents = <&usb_1_qmpphy QMP_USB43DP_DP_LINK_CLK>,
2311							 <&usb_1_qmpphy QMP_USB43DP_DP_VCO_DIV_CLK>;
2312
2313				phys = <&usb_1_qmpphy QMP_USB43DP_DP_PHY>;
2314				phy-names = "dp";
2315
2316				#sound-dai-cells = <0>;
2317
2318				operating-points-v2 = <&dp_opp_table>;
2319				power-domains = <&rpmhpd SM6350_CX>;
2320
2321				status = "disabled";
2322
2323				ports {
2324					#address-cells = <1>;
2325					#size-cells = <0>;
2326
2327					port@0 {
2328						reg = <0>;
2329
2330						mdss_dp_in: endpoint {
2331							remote-endpoint = <&dpu_intf0_out>;
2332						};
2333					};
2334
2335					port@1 {
2336						reg = <1>;
2337
2338						mdss_dp_out: endpoint {
2339						};
2340					};
2341				};
2342
2343				dp_opp_table: opp-table {
2344					compatible = "operating-points-v2";
2345
2346					opp-160000000 {
2347						opp-hz = /bits/ 64 <160000000>;
2348						required-opps = <&rpmhpd_opp_low_svs>;
2349					};
2350
2351					opp-270000000 {
2352						opp-hz = /bits/ 64 <270000000>;
2353						required-opps = <&rpmhpd_opp_svs>;
2354					};
2355
2356					opp-540000000 {
2357						opp-hz = /bits/ 64 <540000000>;
2358						required-opps = <&rpmhpd_opp_svs_l1>;
2359					};
2360
2361					opp-810000000 {
2362						opp-hz = /bits/ 64 <810000000>;
2363						required-opps = <&rpmhpd_opp_nom>;
2364					};
2365				};
2366			};
2367
2368			mdss_dsi0: dsi@ae94000 {
2369				compatible = "qcom,sm6350-dsi-ctrl", "qcom,mdss-dsi-ctrl";
2370				reg = <0x0 0x0ae94000 0x0 0x400>;
2371				reg-names = "dsi_ctrl";
2372
2373				interrupt-parent = <&mdss>;
2374				interrupts = <4>;
2375
2376				clocks = <&dispcc DISP_CC_MDSS_BYTE0_CLK>,
2377					 <&dispcc DISP_CC_MDSS_BYTE0_INTF_CLK>,
2378					 <&dispcc DISP_CC_MDSS_PCLK0_CLK>,
2379					 <&dispcc DISP_CC_MDSS_ESC0_CLK>,
2380					 <&dispcc DISP_CC_MDSS_AHB_CLK>,
2381					 <&gcc GCC_DISP_AXI_CLK>;
2382				clock-names = "byte",
2383					      "byte_intf",
2384					      "pixel",
2385					      "core",
2386					      "iface",
2387					      "bus";
2388
2389				assigned-clocks = <&dispcc DISP_CC_MDSS_BYTE0_CLK_SRC>,
2390						  <&dispcc DISP_CC_MDSS_PCLK0_CLK_SRC>;
2391				assigned-clock-parents = <&mdss_dsi0_phy DSI_BYTE_PLL_CLK>,
2392							 <&mdss_dsi0_phy DSI_PIXEL_PLL_CLK>;
2393
2394				operating-points-v2 = <&mdss_dsi_opp_table>;
2395				power-domains = <&rpmhpd SM6350_MX>;
2396
2397				phys = <&mdss_dsi0_phy>;
2398				phy-names = "dsi";
2399
2400				refgen-supply = <&refgen>;
2401
2402				#address-cells = <1>;
2403				#size-cells = <0>;
2404
2405				status = "disabled";
2406
2407				ports {
2408					#address-cells = <1>;
2409					#size-cells = <0>;
2410
2411					port@0 {
2412						reg = <0>;
2413
2414						mdss_dsi0_in: endpoint {
2415							remote-endpoint = <&dpu_intf1_out>;
2416						};
2417					};
2418
2419					port@1 {
2420						reg = <1>;
2421
2422						mdss_dsi0_out: endpoint {
2423						};
2424					};
2425				};
2426
2427				mdss_dsi_opp_table: opp-table {
2428					compatible = "operating-points-v2";
2429
2430					opp-187500000 {
2431						opp-hz = /bits/ 64 <187500000>;
2432						required-opps = <&rpmhpd_opp_low_svs>;
2433					};
2434
2435					opp-300000000 {
2436						opp-hz = /bits/ 64 <300000000>;
2437						required-opps = <&rpmhpd_opp_svs>;
2438					};
2439
2440					opp-358000000 {
2441						opp-hz = /bits/ 64 <358000000>;
2442						required-opps = <&rpmhpd_opp_svs_l1>;
2443					};
2444				};
2445			};
2446
2447			mdss_dsi0_phy: phy@ae94400 {
2448				compatible = "qcom,dsi-phy-10nm";
2449				reg = <0x0 0x0ae94400 0x0 0x200>,
2450				      <0x0 0x0ae94600 0x0 0x280>,
2451				      <0x0 0x0ae94a00 0x0 0x1e0>;
2452				reg-names = "dsi_phy",
2453					    "dsi_phy_lane",
2454					    "dsi_pll";
2455
2456				#clock-cells = <1>;
2457				#phy-cells = <0>;
2458
2459				clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>,
2460					 <&rpmhcc RPMH_CXO_CLK>;
2461				clock-names = "iface", "ref";
2462
2463				status = "disabled";
2464			};
2465		};
2466
2467		dispcc: clock-controller@af00000 {
2468			compatible = "qcom,sm6350-dispcc";
2469			reg = <0x0 0x0af00000 0x0 0x20000>;
2470			clocks = <&rpmhcc RPMH_CXO_CLK>,
2471				 <&gcc GCC_DISP_GPLL0_CLK>,
2472				 <&mdss_dsi0_phy DSI_BYTE_PLL_CLK>,
2473				 <&mdss_dsi0_phy DSI_PIXEL_PLL_CLK>,
2474				 <&usb_1_qmpphy QMP_USB43DP_DP_LINK_CLK>,
2475				 <&usb_1_qmpphy QMP_USB43DP_DP_VCO_DIV_CLK>;
2476			clock-names = "bi_tcxo",
2477				      "gcc_disp_gpll0_clk",
2478				      "dsi0_phy_pll_out_byteclk",
2479				      "dsi0_phy_pll_out_dsiclk",
2480				      "dp_phy_pll_link_clk",
2481				      "dp_phy_pll_vco_div_clk";
2482			#clock-cells = <1>;
2483			#reset-cells = <1>;
2484			#power-domain-cells = <1>;
2485		};
2486
2487		pdc: interrupt-controller@b220000 {
2488			compatible = "qcom,sm6350-pdc", "qcom,pdc";
2489			reg = <0x0 0x0b220000 0x0 0x30000>, <0x0 0x17c000f0 0x0 0x64>;
2490			qcom,pdc-ranges = <0 480 94>, <94 609 31>,
2491					  <125 63 1>, <126 655 12>, <138 139 15>;
2492			#interrupt-cells = <2>;
2493			interrupt-parent = <&intc>;
2494			interrupt-controller;
2495		};
2496
2497		tsens0: thermal-sensor@c263000 {
2498			compatible = "qcom,sm6350-tsens", "qcom,tsens-v2";
2499			reg = <0x0 0x0c263000 0x0 0x1ff>, /* TM */
2500			      <0x0 0x0c222000 0x0 0x8>; /* SROT */
2501			#qcom,sensors = <16>;
2502			interrupts-extended = <&pdc 26 IRQ_TYPE_LEVEL_HIGH>,
2503				     <&pdc 28 IRQ_TYPE_LEVEL_HIGH>;
2504			interrupt-names = "uplow", "critical";
2505			#thermal-sensor-cells = <1>;
2506		};
2507
2508		tsens1: thermal-sensor@c265000 {
2509			compatible = "qcom,sm6350-tsens", "qcom,tsens-v2";
2510			reg = <0x0 0x0c265000 0x0 0x1ff>, /* TM */
2511			      <0x0 0x0c223000 0x0 0x8>; /* SROT */
2512			#qcom,sensors = <16>;
2513			interrupts-extended = <&pdc 27 IRQ_TYPE_LEVEL_HIGH>,
2514				     <&pdc 29 IRQ_TYPE_LEVEL_HIGH>;
2515			interrupt-names = "uplow", "critical";
2516			#thermal-sensor-cells = <1>;
2517		};
2518
2519		aoss_qmp: power-management@c300000 {
2520			compatible = "qcom,sm6350-aoss-qmp", "qcom,aoss-qmp";
2521			reg = <0x0 0x0c300000 0x0 0x1000>;
2522			interrupts-extended = <&ipcc IPCC_CLIENT_AOP IPCC_MPROC_SIGNAL_GLINK_QMP
2523						     IRQ_TYPE_EDGE_RISING>;
2524			mboxes = <&ipcc IPCC_CLIENT_AOP IPCC_MPROC_SIGNAL_GLINK_QMP>;
2525
2526			#clock-cells = <0>;
2527		};
2528
2529		sram@c3f0000 {
2530			compatible = "qcom,rpmh-stats";
2531			reg = <0x0 0x0c3f0000 0x0 0x400>;
2532		};
2533
2534		spmi_bus: spmi@c440000 {
2535			compatible = "qcom,spmi-pmic-arb";
2536			reg = <0x0 0x0c440000 0x0 0x1100>,
2537			      <0x0 0x0c600000 0x0 0x2000000>,
2538			      <0x0 0x0e600000 0x0 0x100000>,
2539			      <0x0 0x0e700000 0x0 0xa0000>,
2540			      <0x0 0x0c40a000 0x0 0x26000>;
2541			reg-names = "core", "chnls", "obsrvr", "intr", "cnfg";
2542			interrupt-names = "periph_irq";
2543			interrupts-extended = <&pdc 1 IRQ_TYPE_LEVEL_HIGH>;
2544			qcom,ee = <0>;
2545			qcom,channel = <0>;
2546			#address-cells = <2>;
2547			#size-cells = <0>;
2548			interrupt-controller;
2549			#interrupt-cells = <4>;
2550		};
2551
2552		tlmm: pinctrl@f100000 {
2553			compatible = "qcom,sm6350-tlmm";
2554			reg = <0x0 0x0f100000 0x0 0x300000>;
2555			interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>,
2556					<GIC_SPI 209 IRQ_TYPE_LEVEL_HIGH>,
2557					<GIC_SPI 210 IRQ_TYPE_LEVEL_HIGH>,
2558					<GIC_SPI 211 IRQ_TYPE_LEVEL_HIGH>,
2559					<GIC_SPI 212 IRQ_TYPE_LEVEL_HIGH>,
2560					<GIC_SPI 213 IRQ_TYPE_LEVEL_HIGH>,
2561					<GIC_SPI 214 IRQ_TYPE_LEVEL_HIGH>,
2562					<GIC_SPI 215 IRQ_TYPE_LEVEL_HIGH>,
2563					<GIC_SPI 216 IRQ_TYPE_LEVEL_HIGH>;
2564			gpio-controller;
2565			#gpio-cells = <2>;
2566			interrupt-controller;
2567			#interrupt-cells = <2>;
2568			gpio-ranges = <&tlmm 0 0 157>;
2569			wakeup-parent = <&pdc>;
2570
2571			cci0_default: cci0-default-state {
2572				pins = "gpio39", "gpio40";
2573				function = "cci_i2c";
2574				drive-strength = <2>;
2575				bias-pull-up;
2576			};
2577
2578			cci0_sleep: cci0-sleep-state {
2579				pins = "gpio39", "gpio40";
2580				function = "cci_i2c";
2581				drive-strength = <2>;
2582				bias-pull-down;
2583			};
2584
2585			cci1_default: cci1-default-state {
2586				pins = "gpio41", "gpio42";
2587				function = "cci_i2c";
2588				drive-strength = <2>;
2589				bias-pull-up;
2590			};
2591
2592			cci1_sleep: cci1-sleep-state {
2593				pins = "gpio41", "gpio42";
2594				function = "cci_i2c";
2595				drive-strength = <2>;
2596				bias-pull-down;
2597			};
2598
2599			cci2_default: cci2-default-state {
2600				pins = "gpio43", "gpio44";
2601				function = "cci_i2c";
2602				drive-strength = <2>;
2603				bias-pull-up;
2604			};
2605
2606			cci2_sleep: cci2-sleep-state {
2607				pins = "gpio43", "gpio44";
2608				function = "cci_i2c";
2609				drive-strength = <2>;
2610				bias-pull-down;
2611			};
2612
2613			sdc2_off_state: sdc2-off-state {
2614				clk-pins {
2615					pins = "sdc2_clk";
2616					drive-strength = <2>;
2617					bias-disable;
2618				};
2619
2620				cmd-pins {
2621					pins = "sdc2_cmd";
2622					drive-strength = <2>;
2623					bias-pull-up;
2624				};
2625
2626				data-pins {
2627					pins = "sdc2_data";
2628					drive-strength = <2>;
2629					bias-pull-up;
2630				};
2631			};
2632
2633			sdc2_on_state: sdc2-on-state {
2634				clk-pins {
2635					pins = "sdc2_clk";
2636					drive-strength = <16>;
2637					bias-disable;
2638				};
2639
2640				cmd-pins {
2641					pins = "sdc2_cmd";
2642					drive-strength = <10>;
2643					bias-pull-up;
2644				};
2645
2646				data-pins {
2647					pins = "sdc2_data";
2648					drive-strength = <10>;
2649					bias-pull-up;
2650				};
2651			};
2652
2653			qup_uart9_default: qup-uart9-default-state {
2654				pins = "gpio25", "gpio26";
2655				function = "qup13_f2";
2656				drive-strength = <2>;
2657				bias-disable;
2658			};
2659
2660			qup_i2c0_default: qup-i2c0-default-state {
2661				pins = "gpio0", "gpio1";
2662				function = "qup00";
2663				drive-strength = <2>;
2664				bias-pull-up;
2665			};
2666
2667			qup_i2c2_default: qup-i2c2-default-state {
2668				pins = "gpio45", "gpio46";
2669				function = "qup02";
2670				drive-strength = <2>;
2671				bias-pull-up;
2672			};
2673
2674			qup_i2c6_default: qup-i2c6-default-state {
2675				pins = "gpio13", "gpio14";
2676				function = "qup10";
2677				drive-strength = <2>;
2678				bias-pull-up;
2679			};
2680
2681			qup_i2c7_default: qup-i2c7-default-state {
2682				pins = "gpio27", "gpio28";
2683				function = "qup11";
2684				drive-strength = <2>;
2685				bias-pull-up;
2686			};
2687
2688			qup_i2c8_default: qup-i2c8-default-state {
2689				pins = "gpio19", "gpio20";
2690				function = "qup12";
2691				drive-strength = <2>;
2692				bias-pull-up;
2693			};
2694
2695			qup_i2c10_default: qup-i2c10-default-state {
2696				pins = "gpio4", "gpio5";
2697				function = "qup14";
2698				drive-strength = <2>;
2699				bias-pull-up;
2700			};
2701
2702			qup_uart1_cts: qup-uart1-cts-default-state {
2703				pins = "gpio61";
2704				function = "qup01";
2705				drive-strength = <2>;
2706				bias-disable;
2707			};
2708
2709			qup_uart1_rts: qup-uart1-rts-default-state {
2710				pins = "gpio62";
2711				function = "qup01";
2712				drive-strength = <2>;
2713				bias-pull-down;
2714			};
2715
2716			qup_uart1_rx: qup-uart1-rx-default-state {
2717				pins = "gpio64";
2718				function = "qup01";
2719				drive-strength = <2>;
2720				bias-disable;
2721			};
2722
2723			qup_uart1_tx: qup-uart1-tx-default-state {
2724				pins = "gpio63";
2725				function = "qup01";
2726				drive-strength = <2>;
2727				bias-pull-up;
2728			};
2729		};
2730
2731		apps_smmu: iommu@15000000 {
2732			compatible = "qcom,sm6350-smmu-500", "arm,mmu-500";
2733			reg = <0x0 0x15000000 0x0 0x100000>;
2734			#iommu-cells = <2>;
2735			#global-interrupts = <1>;
2736			interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>,
2737				     <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>,
2738				     <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>,
2739				     <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>,
2740				     <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>,
2741				     <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>,
2742				     <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>,
2743				     <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>,
2744				     <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>,
2745				     <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>,
2746				     <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>,
2747				     <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>,
2748				     <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>,
2749				     <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>,
2750				     <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>,
2751				     <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>,
2752				     <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>,
2753				     <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>,
2754				     <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>,
2755				     <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>,
2756				     <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>,
2757				     <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>,
2758				     <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>,
2759				     <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>,
2760				     <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>,
2761				     <GIC_SPI 181 IRQ_TYPE_LEVEL_HIGH>,
2762				     <GIC_SPI 182 IRQ_TYPE_LEVEL_HIGH>,
2763				     <GIC_SPI 183 IRQ_TYPE_LEVEL_HIGH>,
2764				     <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>,
2765				     <GIC_SPI 185 IRQ_TYPE_LEVEL_HIGH>,
2766				     <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>,
2767				     <GIC_SPI 187 IRQ_TYPE_LEVEL_HIGH>,
2768				     <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>,
2769				     <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>,
2770				     <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>,
2771				     <GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>,
2772				     <GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>,
2773				     <GIC_SPI 315 IRQ_TYPE_LEVEL_HIGH>,
2774				     <GIC_SPI 316 IRQ_TYPE_LEVEL_HIGH>,
2775				     <GIC_SPI 317 IRQ_TYPE_LEVEL_HIGH>,
2776				     <GIC_SPI 318 IRQ_TYPE_LEVEL_HIGH>,
2777				     <GIC_SPI 319 IRQ_TYPE_LEVEL_HIGH>,
2778				     <GIC_SPI 320 IRQ_TYPE_LEVEL_HIGH>,
2779				     <GIC_SPI 321 IRQ_TYPE_LEVEL_HIGH>,
2780				     <GIC_SPI 322 IRQ_TYPE_LEVEL_HIGH>,
2781				     <GIC_SPI 323 IRQ_TYPE_LEVEL_HIGH>,
2782				     <GIC_SPI 324 IRQ_TYPE_LEVEL_HIGH>,
2783				     <GIC_SPI 325 IRQ_TYPE_LEVEL_HIGH>,
2784				     <GIC_SPI 326 IRQ_TYPE_LEVEL_HIGH>,
2785				     <GIC_SPI 327 IRQ_TYPE_LEVEL_HIGH>,
2786				     <GIC_SPI 328 IRQ_TYPE_LEVEL_HIGH>,
2787				     <GIC_SPI 329 IRQ_TYPE_LEVEL_HIGH>,
2788				     <GIC_SPI 330 IRQ_TYPE_LEVEL_HIGH>,
2789				     <GIC_SPI 331 IRQ_TYPE_LEVEL_HIGH>,
2790				     <GIC_SPI 332 IRQ_TYPE_LEVEL_HIGH>,
2791				     <GIC_SPI 333 IRQ_TYPE_LEVEL_HIGH>,
2792				     <GIC_SPI 334 IRQ_TYPE_LEVEL_HIGH>,
2793				     <GIC_SPI 335 IRQ_TYPE_LEVEL_HIGH>,
2794				     <GIC_SPI 336 IRQ_TYPE_LEVEL_HIGH>,
2795				     <GIC_SPI 337 IRQ_TYPE_LEVEL_HIGH>,
2796				     <GIC_SPI 338 IRQ_TYPE_LEVEL_HIGH>,
2797				     <GIC_SPI 339 IRQ_TYPE_LEVEL_HIGH>,
2798				     <GIC_SPI 340 IRQ_TYPE_LEVEL_HIGH>,
2799				     <GIC_SPI 341 IRQ_TYPE_LEVEL_HIGH>,
2800				     <GIC_SPI 342 IRQ_TYPE_LEVEL_HIGH>,
2801				     <GIC_SPI 343 IRQ_TYPE_LEVEL_HIGH>,
2802				     <GIC_SPI 344 IRQ_TYPE_LEVEL_HIGH>,
2803				     <GIC_SPI 345 IRQ_TYPE_LEVEL_HIGH>,
2804				     <GIC_SPI 401 IRQ_TYPE_LEVEL_HIGH>,
2805				     <GIC_SPI 402 IRQ_TYPE_LEVEL_HIGH>,
2806				     <GIC_SPI 403 IRQ_TYPE_LEVEL_HIGH>,
2807				     <GIC_SPI 404 IRQ_TYPE_LEVEL_HIGH>,
2808				     <GIC_SPI 405 IRQ_TYPE_LEVEL_HIGH>,
2809				     <GIC_SPI 406 IRQ_TYPE_LEVEL_HIGH>,
2810				     <GIC_SPI 407 IRQ_TYPE_LEVEL_HIGH>,
2811				     <GIC_SPI 408 IRQ_TYPE_LEVEL_HIGH>,
2812				     <GIC_SPI 409 IRQ_TYPE_LEVEL_HIGH>,
2813				     <GIC_SPI 410 IRQ_TYPE_LEVEL_HIGH>,
2814				     <GIC_SPI 411 IRQ_TYPE_LEVEL_HIGH>,
2815				     <GIC_SPI 412 IRQ_TYPE_LEVEL_HIGH>,
2816				     <GIC_SPI 413 IRQ_TYPE_LEVEL_HIGH>;
2817			dma-coherent;
2818		};
2819
2820		intc: interrupt-controller@17a00000 {
2821			compatible = "arm,gic-v3";
2822			#interrupt-cells = <3>;
2823			interrupt-controller;
2824			reg = <0x0 0x17a00000 0x0 0x10000>,     /* GICD */
2825			      <0x0 0x17a60000 0x0 0x100000>;    /* GICR * 8 */
2826			interrupts = <GIC_PPI 8 IRQ_TYPE_LEVEL_HIGH>;
2827		};
2828
2829		watchdog@17c10000 {
2830			compatible = "qcom,apss-wdt-sm6350", "qcom,kpss-wdt";
2831			reg = <0x0 0x17c10000 0x0 0x1000>;
2832			clocks = <&sleep_clk>;
2833			interrupts = <GIC_SPI 0 IRQ_TYPE_EDGE_RISING>;
2834		};
2835
2836		timer@17c20000 {
2837			compatible = "arm,armv7-timer-mem";
2838			reg = <0x0 0x17c20000 0x0 0x1000>;
2839			clock-frequency = <19200000>;
2840			#address-cells = <1>;
2841			#size-cells = <1>;
2842			ranges = <0 0 0 0x20000000>;
2843
2844			frame@17c21000 {
2845				frame-number = <0>;
2846				interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
2847					     <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
2848				reg = <0x17c21000 0x1000>,
2849				      <0x17c22000 0x1000>;
2850			};
2851
2852			frame@17c23000 {
2853				frame-number = <1>;
2854				interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
2855				reg = <0x17c23000 0x1000>;
2856				status = "disabled";
2857			};
2858
2859			frame@17c25000 {
2860				frame-number = <2>;
2861				interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
2862				reg = <0x17c25000 0x1000>;
2863				status = "disabled";
2864			};
2865
2866			frame@17c27000 {
2867				frame-number = <3>;
2868				interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
2869				reg = <0x17c27000 0x1000>;
2870				status = "disabled";
2871			};
2872
2873			frame@17c29000 {
2874				frame-number = <4>;
2875				interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
2876				reg = <0x17c29000 0x1000>;
2877				status = "disabled";
2878			};
2879
2880			frame@17c2b000 {
2881				frame-number = <5>;
2882				interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
2883				reg = <0x17c2b000 0x1000>;
2884				status = "disabled";
2885			};
2886
2887			frame@17c2d000 {
2888				frame-number = <6>;
2889				interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
2890				reg = <0x17c2d000 0x1000>;
2891				status = "disabled";
2892			};
2893		};
2894
2895		apps_rsc: rsc@18200000 {
2896			compatible = "qcom,rpmh-rsc";
2897			label = "apps_rsc";
2898			reg = <0x0 0x18200000 0x0 0x10000>,
2899				<0x0 0x18210000 0x0 0x10000>,
2900				<0x0 0x18220000 0x0 0x10000>;
2901			reg-names = "drv-0", "drv-1", "drv-2";
2902			interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
2903				     <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
2904				     <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
2905			qcom,tcs-offset = <0xd00>;
2906			qcom,drv-id = <2>;
2907			qcom,tcs-config = <ACTIVE_TCS 2>, <SLEEP_TCS 3>,
2908					  <WAKE_TCS 3>, <CONTROL_TCS 1>;
2909			power-domains = <&cluster_pd>;
2910
2911			rpmhcc: clock-controller {
2912				compatible = "qcom,sm6350-rpmh-clk";
2913				#clock-cells = <1>;
2914				clock-names = "xo";
2915				clocks = <&xo_board>;
2916			};
2917
2918			rpmhpd: power-controller {
2919				compatible = "qcom,sm6350-rpmhpd";
2920				#power-domain-cells = <1>;
2921				operating-points-v2 = <&rpmhpd_opp_table>;
2922
2923				rpmhpd_opp_table: opp-table {
2924					compatible = "operating-points-v2";
2925
2926					rpmhpd_opp_ret: opp1 {
2927						opp-level = <RPMH_REGULATOR_LEVEL_RETENTION>;
2928					};
2929
2930					rpmhpd_opp_min_svs: opp2 {
2931						opp-level = <RPMH_REGULATOR_LEVEL_MIN_SVS>;
2932					};
2933
2934					rpmhpd_opp_low_svs: opp3 {
2935						opp-level = <RPMH_REGULATOR_LEVEL_LOW_SVS>;
2936					};
2937
2938					rpmhpd_opp_svs: opp4 {
2939						opp-level = <RPMH_REGULATOR_LEVEL_SVS>;
2940					};
2941
2942					rpmhpd_opp_svs_l1: opp5 {
2943						opp-level = <RPMH_REGULATOR_LEVEL_SVS_L1>;
2944					};
2945
2946					rpmhpd_opp_nom: opp6 {
2947						opp-level = <RPMH_REGULATOR_LEVEL_NOM>;
2948					};
2949
2950					rpmhpd_opp_nom_l1: opp7 {
2951						opp-level = <RPMH_REGULATOR_LEVEL_NOM_L1>;
2952					};
2953
2954					rpmhpd_opp_nom_l2: opp8 {
2955						opp-level = <RPMH_REGULATOR_LEVEL_NOM_L2>;
2956					};
2957
2958					rpmhpd_opp_turbo: opp9 {
2959						opp-level = <RPMH_REGULATOR_LEVEL_TURBO>;
2960					};
2961
2962					rpmhpd_opp_turbo_l1: opp10 {
2963						opp-level = <RPMH_REGULATOR_LEVEL_TURBO_L1>;
2964					};
2965				};
2966			};
2967
2968			apps_bcm_voter: bcm-voter {
2969				compatible = "qcom,bcm-voter";
2970			};
2971		};
2972
2973		osm_l3: interconnect@18321000 {
2974			compatible = "qcom,sm6350-osm-l3", "qcom,osm-l3";
2975			reg = <0x0 0x18321000 0x0 0x1000>;
2976
2977			clocks = <&rpmhcc RPMH_CXO_CLK>, <&gcc GPLL0>;
2978			clock-names = "xo", "alternate";
2979
2980			#interconnect-cells = <1>;
2981		};
2982
2983		cpufreq_hw: cpufreq@18323000 {
2984			compatible = "qcom,sm6350-cpufreq-hw", "qcom,cpufreq-hw";
2985			reg = <0x0 0x18323000 0x0 0x1000>, <0x0 0x18325800 0x0 0x1000>;
2986			reg-names = "freq-domain0", "freq-domain1";
2987			clocks = <&rpmhcc RPMH_CXO_CLK>, <&gcc GPLL0>;
2988			clock-names = "xo", "alternate";
2989
2990			#freq-domain-cells = <1>;
2991			#clock-cells = <1>;
2992		};
2993
2994		wifi: wifi@18800000 {
2995			compatible = "qcom,wcn3990-wifi";
2996			reg = <0x0 0x18800000 0x0 0x800000>;
2997			reg-names = "membase";
2998			memory-region = <&wlan_fw_mem>;
2999			interrupts = <GIC_SPI 414 IRQ_TYPE_LEVEL_HIGH>,
3000				     <GIC_SPI 415 IRQ_TYPE_LEVEL_HIGH>,
3001				     <GIC_SPI 416 IRQ_TYPE_LEVEL_HIGH>,
3002				     <GIC_SPI 417 IRQ_TYPE_LEVEL_HIGH>,
3003				     <GIC_SPI 418 IRQ_TYPE_LEVEL_HIGH>,
3004				     <GIC_SPI 419 IRQ_TYPE_LEVEL_HIGH>,
3005				     <GIC_SPI 420 IRQ_TYPE_LEVEL_HIGH>,
3006				     <GIC_SPI 421 IRQ_TYPE_LEVEL_HIGH>,
3007				     <GIC_SPI 422 IRQ_TYPE_LEVEL_HIGH>,
3008				     <GIC_SPI 423 IRQ_TYPE_LEVEL_HIGH>,
3009				     <GIC_SPI 424 IRQ_TYPE_LEVEL_HIGH>,
3010				     <GIC_SPI 425 IRQ_TYPE_LEVEL_HIGH>;
3011			iommus = <&apps_smmu 0x20 0x1>;
3012			qcom,msa-fixed-perm;
3013			status = "disabled";
3014		};
3015	};
3016
3017	sound: sound {
3018	};
3019
3020	thermal-zones {
3021		aoss0-thermal {
3022			thermal-sensors = <&tsens0 0>;
3023
3024			trips {
3025				aoss0-crit {
3026					temperature = <125000>;
3027					hysteresis = <0>;
3028					type = "critical";
3029				};
3030			};
3031		};
3032
3033		aoss1-thermal {
3034			thermal-sensors = <&tsens1 0>;
3035
3036			trips {
3037				aoss1-crit {
3038					temperature = <125000>;
3039					hysteresis = <0>;
3040					type = "critical";
3041				};
3042			};
3043		};
3044
3045		audio-thermal {
3046			thermal-sensors = <&tsens1 2>;
3047
3048			trips {
3049				audio-crit {
3050					temperature = <125000>;
3051					hysteresis = <0>;
3052					type = "critical";
3053				};
3054			};
3055		};
3056
3057		camera-thermal {
3058			thermal-sensors = <&tsens1 5>;
3059
3060			trips {
3061				camera-crit {
3062					temperature = <125000>;
3063					hysteresis = <0>;
3064					type = "critical";
3065				};
3066			};
3067		};
3068
3069		cpu0-thermal {
3070			thermal-sensors = <&tsens0 1>;
3071
3072			trips {
3073				cpu0_alert0: trip-point0 {
3074					temperature = <95000>;
3075					hysteresis = <2000>;
3076					type = "passive";
3077				};
3078
3079				cpu0-crit {
3080					temperature = <115000>;
3081					hysteresis = <0>;
3082					type = "critical";
3083				};
3084			};
3085
3086			cooling-maps {
3087				map0 {
3088					trip = <&cpu0_alert0>;
3089					cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
3090				};
3091			};
3092		};
3093
3094		cpu1-thermal {
3095			thermal-sensors = <&tsens0 2>;
3096
3097			trips {
3098				cpu1_alert0: trip-point0 {
3099					temperature = <95000>;
3100					hysteresis = <2000>;
3101					type = "passive";
3102				};
3103
3104				cpu1-crit {
3105					temperature = <115000>;
3106					hysteresis = <0>;
3107					type = "critical";
3108				};
3109			};
3110
3111			cooling-maps {
3112				map0 {
3113					trip = <&cpu1_alert0>;
3114					cooling-device = <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
3115				};
3116			};
3117		};
3118
3119		cpu2-thermal {
3120			thermal-sensors = <&tsens0 3>;
3121
3122			trips {
3123				cpu2_alert0: trip-point0 {
3124					temperature = <95000>;
3125					hysteresis = <2000>;
3126					type = "passive";
3127				};
3128
3129				cpu2-crit {
3130					temperature = <115000>;
3131					hysteresis = <0>;
3132					type = "critical";
3133				};
3134			};
3135
3136			cooling-maps {
3137				map0 {
3138					trip = <&cpu2_alert0>;
3139					cooling-device = <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
3140				};
3141			};
3142		};
3143
3144		cpu3-thermal {
3145			thermal-sensors = <&tsens0 4>;
3146
3147			trips {
3148				cpu3_alert0: trip-point0 {
3149					temperature = <95000>;
3150					hysteresis = <2000>;
3151					type = "passive";
3152				};
3153
3154				cpu3-crit {
3155					temperature = <115000>;
3156					hysteresis = <0>;
3157					type = "critical";
3158				};
3159			};
3160
3161			cooling-maps {
3162				map0 {
3163					trip = <&cpu3_alert0>;
3164					cooling-device = <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
3165				};
3166			};
3167		};
3168
3169		cpu4-thermal {
3170			thermal-sensors = <&tsens0 5>;
3171
3172			trips {
3173				cpu4_alert0: trip-point0 {
3174					temperature = <95000>;
3175					hysteresis = <2000>;
3176					type = "passive";
3177				};
3178
3179				cpu4-crit {
3180					temperature = <115000>;
3181					hysteresis = <0>;
3182					type = "critical";
3183				};
3184			};
3185
3186			cooling-maps {
3187				map0 {
3188					trip = <&cpu4_alert0>;
3189					cooling-device = <&cpu4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
3190				};
3191			};
3192		};
3193
3194		cpu5-thermal {
3195			thermal-sensors = <&tsens0 6>;
3196
3197			trips {
3198				cpu5_alert0: trip-point0 {
3199					temperature = <95000>;
3200					hysteresis = <2000>;
3201					type = "passive";
3202				};
3203
3204				cpu5-crit {
3205					temperature = <115000>;
3206					hysteresis = <0>;
3207					type = "critical";
3208				};
3209			};
3210
3211			cooling-maps {
3212				map0 {
3213					trip = <&cpu5_alert0>;
3214					cooling-device = <&cpu5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
3215				};
3216			};
3217		};
3218
3219		cpu6-left-thermal {
3220			thermal-sensors = <&tsens0 9>;
3221
3222			trips {
3223				cpu6_left_alert0: trip-point0 {
3224					temperature = <95000>;
3225					hysteresis = <2000>;
3226					type = "passive";
3227				};
3228
3229				cpu6-left-crit {
3230					temperature = <115000>;
3231					hysteresis = <0>;
3232					type = "critical";
3233				};
3234			};
3235
3236			cooling-maps {
3237				map0 {
3238					trip = <&cpu6_left_alert0>;
3239					cooling-device = <&cpu6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
3240				};
3241			};
3242		};
3243
3244		cpu6-right-thermal {
3245			thermal-sensors = <&tsens0 10>;
3246
3247			trips {
3248				cpu6_right_alert0: trip-point0 {
3249					temperature = <95000>;
3250					hysteresis = <2000>;
3251					type = "passive";
3252				};
3253
3254				cpu6-right-crit {
3255					temperature = <115000>;
3256					hysteresis = <0>;
3257					type = "critical";
3258				};
3259			};
3260
3261			cooling-maps {
3262				map0 {
3263					trip = <&cpu6_right_alert0>;
3264					cooling-device = <&cpu6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
3265				};
3266			};
3267		};
3268
3269		cpu7-left-thermal {
3270			thermal-sensors = <&tsens0 11>;
3271
3272			trips {
3273				cpu7_left_alert0: trip-point0 {
3274					temperature = <95000>;
3275					hysteresis = <2000>;
3276					type = "passive";
3277				};
3278
3279				cpu7-left-crit {
3280					temperature = <115000>;
3281					hysteresis = <0>;
3282					type = "critical";
3283				};
3284			};
3285
3286			cooling-maps {
3287				map0 {
3288					trip = <&cpu7_left_alert0>;
3289					cooling-device = <&cpu7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
3290				};
3291			};
3292		};
3293
3294		cpu7-right-thermal {
3295			thermal-sensors = <&tsens0 12>;
3296
3297			trips {
3298				cpu7_right_alert0: trip-point0 {
3299					temperature = <95000>;
3300					hysteresis = <2000>;
3301					type = "passive";
3302				};
3303
3304				cpu7-right-crit {
3305					temperature = <115000>;
3306					hysteresis = <0>;
3307					type = "critical";
3308				};
3309			};
3310
3311			cooling-maps {
3312				map0 {
3313					trip = <&cpu7_right_alert0>;
3314					cooling-device = <&cpu7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
3315				};
3316			};
3317		};
3318
3319		cpuss0-thermal {
3320			thermal-sensors = <&tsens0 7>;
3321
3322			trips {
3323				cpuss0-crit {
3324					temperature = <125000>;
3325					hysteresis = <0>;
3326					type = "critical";
3327				};
3328			};
3329		};
3330
3331		cpuss1-thermal {
3332			thermal-sensors = <&tsens0 8>;
3333
3334			trips {
3335				cpuss1-crit {
3336					temperature = <125000>;
3337					hysteresis = <0>;
3338					type = "critical";
3339				};
3340			};
3341		};
3342
3343		cwlan-thermal {
3344			thermal-sensors = <&tsens1 1>;
3345
3346			trips {
3347				cwlan-crit {
3348					temperature = <125000>;
3349					hysteresis = <0>;
3350					type = "critical";
3351				};
3352			};
3353		};
3354
3355		ddr-thermal {
3356			thermal-sensors = <&tsens1 3>;
3357
3358			trips {
3359				ddr-crit {
3360					temperature = <125000>;
3361					hysteresis = <0>;
3362					type = "critical";
3363				};
3364			};
3365		};
3366
3367		gpuss0-thermal {
3368			polling-delay-passive = <250>;
3369
3370			thermal-sensors = <&tsens0 13>;
3371
3372			trips {
3373				gpuss0_alert0: trip-point0 {
3374					temperature = <85000>;
3375					hysteresis = <2000>;
3376					type = "passive";
3377				};
3378
3379				gpuss0-crit {
3380					temperature = <110000>;
3381					hysteresis = <1000>;
3382					type = "critical";
3383				};
3384			};
3385
3386			cooling-maps {
3387				map0 {
3388					trip = <&gpuss0_alert0>;
3389					cooling-device = <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
3390				};
3391			};
3392		};
3393
3394		gpuss1-thermal {
3395			polling-delay-passive = <250>;
3396
3397			thermal-sensors = <&tsens0 14>;
3398
3399			trips {
3400				gpuss1_alert0: trip-point0 {
3401					temperature = <85000>;
3402					hysteresis = <2000>;
3403					type = "passive";
3404				};
3405
3406				gpuss1-crit {
3407					temperature = <110000>;
3408					hysteresis = <1000>;
3409					type = "critical";
3410				};
3411			};
3412
3413			cooling-maps {
3414				map0 {
3415					trip = <&gpuss1_alert0>;
3416					cooling-device = <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
3417				};
3418			};
3419		};
3420
3421		modem-core0-thermal {
3422			thermal-sensors = <&tsens1 6>;
3423
3424			trips {
3425				modem-core0-crit {
3426					temperature = <125000>;
3427					hysteresis = <0>;
3428					type = "critical";
3429				};
3430			};
3431		};
3432
3433		modem-core1-thermal {
3434			thermal-sensors = <&tsens1 7>;
3435
3436			trips {
3437				modem-core1-crit {
3438					temperature = <125000>;
3439					hysteresis = <0>;
3440					type = "critical";
3441				};
3442			};
3443		};
3444
3445		modem-scl-thermal {
3446			thermal-sensors = <&tsens1 9>;
3447
3448			trips {
3449				modem-scl-crit {
3450					temperature = <125000>;
3451					hysteresis = <0>;
3452					type = "critical";
3453				};
3454			};
3455		};
3456
3457		modem-vec-thermal {
3458			thermal-sensors = <&tsens1 8>;
3459
3460			trips {
3461				modem-vec-crit {
3462					temperature = <125000>;
3463					hysteresis = <0>;
3464					type = "critical";
3465				};
3466			};
3467		};
3468
3469		npu-thermal {
3470			thermal-sensors = <&tsens1 10>;
3471
3472			trips {
3473				npu-crit {
3474					temperature = <125000>;
3475					hysteresis = <0>;
3476					type = "critical";
3477				};
3478			};
3479		};
3480
3481		q6-hvx-thermal {
3482			thermal-sensors = <&tsens1 4>;
3483
3484			trips {
3485				q6-hvx-crit {
3486					temperature = <125000>;
3487					hysteresis = <0>;
3488					type = "critical";
3489				};
3490			};
3491		};
3492
3493		video-thermal {
3494			thermal-sensors = <&tsens1 11>;
3495
3496			trips {
3497				video-crit {
3498					temperature = <125000>;
3499					hysteresis = <0>;
3500					type = "critical";
3501				};
3502			};
3503		};
3504	};
3505
3506	timer {
3507		compatible = "arm,armv8-timer";
3508		clock-frequency = <19200000>;
3509		interrupts = <GIC_PPI 1 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
3510			     <GIC_PPI 2 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
3511			     <GIC_PPI 3 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
3512			     <GIC_PPI 0 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>;
3513	};
3514};
~/ Read-only file preview.