File Index
Files and directories
Sign in
FILE

sdx75.dtsi

File preview with syntax highlighting.

linux-6.19.14/arch/arm64/boot/dts/qcom/sdx75.dtsi DEVICETREE
   1// SPDX-License-Identifier: BSD-3-Clause
   2/*
   3 * SDX75 SoC device tree source
   4 *
   5 * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
   6 *
   7 */
   8
   9#include <dt-bindings/clock/qcom,rpmh.h>
  10#include <dt-bindings/clock/qcom,sdx75-gcc.h>
  11#include <dt-bindings/dma/qcom-gpi.h>
  12#include <dt-bindings/gpio/gpio.h>
  13#include <dt-bindings/interconnect/qcom,icc.h>
  14#include <dt-bindings/interconnect/qcom,sdx75.h>
  15#include <dt-bindings/interrupt-controller/arm-gic.h>
  16#include <dt-bindings/mailbox/qcom-ipcc.h>
  17#include <dt-bindings/power/qcom,rpmhpd.h>
  18#include <dt-bindings/power/qcom-rpmpd.h>
  19#include <dt-bindings/soc/qcom,rpmh-rsc.h>
  20
  21/ {
  22	#address-cells = <2>;
  23	#size-cells = <2>;
  24	interrupt-parent = <&intc>;
  25
  26	chosen: chosen { };
  27
  28	clocks {
  29		xo_board: xo-board {
  30			compatible = "fixed-clock";
  31			clock-frequency = <76800000>;
  32			#clock-cells = <0>;
  33		};
  34
  35		sleep_clk: sleep-clk {
  36			compatible = "fixed-clock";
  37			clock-frequency = <32764>;
  38			#clock-cells = <0>;
  39		};
  40	};
  41
  42	cpus {
  43		#address-cells = <2>;
  44		#size-cells = <0>;
  45
  46		cpu0: cpu@0 {
  47			device_type = "cpu";
  48			compatible = "arm,cortex-a55";
  49			reg = <0x0 0x0>;
  50			clocks = <&cpufreq_hw 0>;
  51			enable-method = "psci";
  52			power-domains = <&cpu_pd0>;
  53			power-domain-names = "psci";
  54			qcom,freq-domain = <&cpufreq_hw 0>;
  55			capacity-dmips-mhz = <1024>;
  56			dynamic-power-coefficient = <100>;
  57			next-level-cache = <&l2_0>;
  58
  59			l2_0: l2-cache {
  60				compatible = "cache";
  61				cache-level = <2>;
  62				cache-unified;
  63				next-level-cache = <&l3_0>;
  64				l3_0: l3-cache {
  65					compatible = "cache";
  66					cache-level = <3>;
  67					cache-unified;
  68				};
  69			};
  70		};
  71
  72		cpu1: cpu@100 {
  73			device_type = "cpu";
  74			compatible = "arm,cortex-a55";
  75			reg = <0x0 0x100>;
  76			clocks = <&cpufreq_hw 0>;
  77			enable-method = "psci";
  78			power-domains = <&cpu_pd1>;
  79			power-domain-names = "psci";
  80			qcom,freq-domain = <&cpufreq_hw 0>;
  81			capacity-dmips-mhz = <1024>;
  82			dynamic-power-coefficient = <100>;
  83			next-level-cache = <&l2_100>;
  84
  85			l2_100: l2-cache {
  86				compatible = "cache";
  87				cache-level = <2>;
  88				cache-unified;
  89				next-level-cache = <&l3_0>;
  90			};
  91		};
  92
  93		cpu2: cpu@200 {
  94			device_type = "cpu";
  95			compatible = "arm,cortex-a55";
  96			reg = <0x0 0x200>;
  97			clocks = <&cpufreq_hw 0>;
  98			enable-method = "psci";
  99			power-domains = <&cpu_pd2>;
 100			power-domain-names = "psci";
 101			qcom,freq-domain = <&cpufreq_hw 0>;
 102			capacity-dmips-mhz = <1024>;
 103			dynamic-power-coefficient = <100>;
 104			next-level-cache = <&l2_200>;
 105
 106			l2_200: l2-cache {
 107				compatible = "cache";
 108				cache-level = <2>;
 109				cache-unified;
 110				next-level-cache = <&l3_0>;
 111			};
 112		};
 113
 114		cpu3: cpu@300 {
 115			device_type = "cpu";
 116			compatible = "arm,cortex-a55";
 117			reg = <0x0 0x300>;
 118			clocks = <&cpufreq_hw 0>;
 119			enable-method = "psci";
 120			power-domains = <&cpu_pd3>;
 121			power-domain-names = "psci";
 122			qcom,freq-domain = <&cpufreq_hw 0>;
 123			capacity-dmips-mhz = <1024>;
 124			dynamic-power-coefficient = <100>;
 125			next-level-cache = <&l2_300>;
 126
 127			l2_300: l2-cache {
 128				compatible = "cache";
 129				cache-level = <2>;
 130				cache-unified;
 131				next-level-cache = <&l3_0>;
 132			};
 133		};
 134
 135		cpu-map {
 136			cluster0 {
 137				core0 {
 138					cpu = <&cpu0>;
 139				};
 140
 141				core1 {
 142					cpu = <&cpu1>;
 143				};
 144
 145				core2 {
 146					cpu = <&cpu2>;
 147				};
 148
 149				core3 {
 150					cpu = <&cpu3>;
 151				};
 152			};
 153		};
 154
 155		idle-states {
 156			entry-method = "psci";
 157
 158			cpu_off: cpu-sleep-0 {
 159				compatible = "arm,idle-state";
 160				entry-latency-us = <235>;
 161				exit-latency-us = <428>;
 162				min-residency-us = <1774>;
 163				arm,psci-suspend-param = <0x40000003>;
 164				local-timer-stop;
 165			};
 166
 167			cpu_rail_off: cpu-rail-sleep-1 {
 168				compatible = "arm,idle-state";
 169				entry-latency-us = <800>;
 170				exit-latency-us = <750>;
 171				min-residency-us = <4090>;
 172				arm,psci-suspend-param = <0x40000004>;
 173				local-timer-stop;
 174			};
 175
 176		};
 177
 178		domain-idle-states {
 179			cluster_sleep_0: cluster-sleep-0 {
 180				compatible = "domain-idle-state";
 181				arm,psci-suspend-param = <0x41000044>;
 182				entry-latency-us = <1050>;
 183				exit-latency-us = <2500>;
 184				min-residency-us = <5309>;
 185			};
 186
 187			cluster_sleep_1: cluster-sleep-1 {
 188				compatible = "domain-idle-state";
 189				arm,psci-suspend-param = <0x41001344>;
 190				entry-latency-us = <2761>;
 191				exit-latency-us = <3964>;
 192				min-residency-us = <8467>;
 193			};
 194
 195			cluster_sleep_2: cluster-sleep-2 {
 196				compatible = "domain-idle-state";
 197				arm,psci-suspend-param = <0x4100b344>;
 198				entry-latency-us = <2793>;
 199				exit-latency-us = <4023>;
 200				min-residency-us = <9826>;
 201			};
 202		};
 203	};
 204
 205	firmware {
 206		scm: scm {
 207			compatible = "qcom,scm-sdx75", "qcom,scm";
 208		};
 209	};
 210
 211	clk_virt: interconnect-0 {
 212		compatible = "qcom,sdx75-clk-virt";
 213		#interconnect-cells = <2>;
 214		qcom,bcm-voters = <&apps_bcm_voter>;
 215		clocks = <&rpmhcc RPMH_QPIC_CLK>;
 216	};
 217
 218	mc_virt: interconnect-1 {
 219		compatible = "qcom,sdx75-mc-virt";
 220		#interconnect-cells = <2>;
 221		qcom,bcm-voters = <&apps_bcm_voter>;
 222	};
 223
 224	memory@80000000 {
 225		device_type = "memory";
 226		reg = <0x0 0x80000000 0x0 0x0>;
 227	};
 228
 229	pmu {
 230		compatible = "arm,cortex-a55-pmu";
 231		interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH>;
 232	};
 233
 234	psci {
 235		compatible = "arm,psci-1.0";
 236		method = "smc";
 237
 238		cpu_pd0: power-domain-cpu0 {
 239			#power-domain-cells = <0>;
 240			power-domains = <&cluster_pd>;
 241			domain-idle-states = <&cpu_off &cpu_rail_off>;
 242		};
 243
 244		cpu_pd1: power-domain-cpu1 {
 245			#power-domain-cells = <0>;
 246			power-domains = <&cluster_pd>;
 247			domain-idle-states = <&cpu_off &cpu_rail_off>;
 248		};
 249
 250		cpu_pd2: power-domain-cpu2 {
 251			#power-domain-cells = <0>;
 252			power-domains = <&cluster_pd>;
 253			domain-idle-states = <&cpu_off &cpu_rail_off>;
 254		};
 255
 256		cpu_pd3: power-domain-cpu3 {
 257			#power-domain-cells = <0>;
 258			power-domains = <&cluster_pd>;
 259			domain-idle-states = <&cpu_off &cpu_rail_off>;
 260		};
 261
 262		cluster_pd: power-domain-cpu-cluster0 {
 263			#power-domain-cells = <0>;
 264			domain-idle-states = <&cluster_sleep_0 &cluster_sleep_1 &cluster_sleep_2>;
 265		};
 266	};
 267
 268	reserved-memory {
 269		#address-cells = <2>;
 270		#size-cells = <2>;
 271		ranges;
 272
 273		gunyah_hyp_mem: gunyah-hyp@80000000 {
 274			reg = <0x0 0x80000000 0x0 0x800000>;
 275			no-map;
 276		};
 277
 278		hyp_elf_package_mem: hyp-elf-package@80800000 {
 279			reg = <0x0 0x80800000 0x0 0x200000>;
 280			no-map;
 281		};
 282
 283		access_control_db_mem: access-control-db@81380000 {
 284			reg = <0x0 0x81380000 0x0 0x80000>;
 285			no-map;
 286		};
 287
 288		qteetz_mem: qteetz@814e0000 {
 289			reg = <0x0 0x814e0000 0x0 0x2a0000>;
 290			no-map;
 291		};
 292
 293		trusted_apps_mem: trusted-apps@81780000 {
 294			reg = <0x0 0x81780000 0x0 0xa00000>;
 295			no-map;
 296		};
 297
 298		xbl_ramdump_mem: xbl-ramdump@87a00000 {
 299			reg = <0x0 0x87a00000 0x0 0x1c0000>;
 300			no-map;
 301		};
 302
 303		cpucp_fw_mem: cpucp-fw@87c00000 {
 304			reg = <0x0 0x87c00000 0x0 0x100000>;
 305			no-map;
 306		};
 307
 308		xbl_dtlog_mem: xbl-dtlog@87d00000 {
 309			reg = <0x0 0x87d00000 0x0 0x40000>;
 310			no-map;
 311		};
 312
 313		xbl_sc_mem: xbl-sc@87d40000 {
 314			reg = <0x0 0x87d40000 0x0 0x40000>;
 315			no-map;
 316		};
 317
 318		modem_efs_shared_mem: modem-efs-shared@87d80000 {
 319			reg = <0x0 0x87d80000 0x0 0x10000>;
 320			no-map;
 321		};
 322
 323		aop_image_mem: aop-image@87e00000 {
 324			reg = <0x0 0x87e00000 0x0 0x20000>;
 325			no-map;
 326		};
 327
 328		smem_mem: smem@87e20000 {
 329			reg = <0x0 0x87e20000 0x0 0xc0000>;
 330			no-map;
 331		};
 332
 333		aop_cmd_db_mem: aop-cmd-db@87ee0000 {
 334			compatible = "qcom,cmd-db";
 335			reg = <0x0 0x87ee0000 0x0 0x20000>;
 336			no-map;
 337		};
 338
 339		aop_config_mem: aop-config@87f00000 {
 340			reg = <0x0 0x87f00000 0x0 0x20000>;
 341			no-map;
 342		};
 343
 344		ipa_fw_mem: ipa-fw@87f20000 {
 345			reg = <0x0 0x87f20000 0x0 0x10000>;
 346			no-map;
 347		};
 348
 349		secdata_mem: secdata@87f30000 {
 350			reg = <0x0 0x87f30000 0x0 0x1000>;
 351			no-map;
 352		};
 353
 354		tme_crashdump_mem: tme-crashdump@87f31000 {
 355			reg = <0x0 0x87f31000 0x0 0x40000>;
 356			no-map;
 357		};
 358
 359		tme_log_mem: tme-log@87f71000 {
 360			reg = <0x0 0x87f71000 0x0 0x4000>;
 361			no-map;
 362		};
 363
 364		uefi_log_mem: uefi-log@87f75000 {
 365			reg = <0x0 0x87f75000 0x0 0x10000>;
 366			no-map;
 367		};
 368
 369		qdss_mem: qdss@88500000 {
 370			reg = <0x0 0x88500000 0x0 0x300000>;
 371			no-map;
 372		};
 373
 374		qlink_logging_mem: qlink-logging@88800000 {
 375			reg = <0x0 0x88800000 0x0 0x300000>;
 376			no-map;
 377		};
 378
 379		audio_heap_mem: audio-heap@88b00000 {
 380			compatible = "shared-dma-pool";
 381			reg = <0x0 0x88b00000 0x0 0x400000>;
 382			no-map;
 383		};
 384
 385		mpss_dsm_mem_2: mpss-dsm-2@88f00000 {
 386			reg = <0x0 0x88f00000 0x0 0x2500000>;
 387			no-map;
 388		};
 389
 390		mpss_dsm_mem: mpss-dsm@8b400000 {
 391			reg = <0x0 0x8b400000 0x0 0x2b80000>;
 392			no-map;
 393		};
 394
 395		q6_mpss_dtb_mem: q6-mpss-dtb@8df80000 {
 396			reg = <0x0 0x8df80000 0x0 0x80000>;
 397			no-map;
 398		};
 399
 400		mpssadsp_mem: mpssadsp@8e000000 {
 401			reg = <0x0 0x8e000000 0x0 0xf100000>;
 402			no-map;
 403		};
 404
 405		gunyah_trace_buffer_mem: gunyah-trace-buffer@bdb00000 {
 406			reg = <0x0 0xbdb00000 0x0 0x2000000>;
 407			no-map;
 408		};
 409
 410		smmu_debug_buf_mem: smmu-debug-buf@bfb00000 {
 411			reg = <0x0 0xbfb00000 0x0 0x100000>;
 412			no-map;
 413		};
 414
 415		hyp_smmu_s2_pt_mem: hyp-smmu-s2-pt@bfc00000 {
 416			reg = <0x0 0xbfc00000 0x0 0x400000>;
 417			no-map;
 418		};
 419	};
 420
 421	smp2p-modem {
 422		compatible = "qcom,smp2p";
 423		qcom,smem = <435>, <428>;
 424		interrupts-extended = <&ipcc IPCC_CLIENT_MPSS
 425					     IPCC_MPROC_SIGNAL_SMP2P
 426					     IRQ_TYPE_EDGE_RISING>;
 427		mboxes = <&ipcc IPCC_CLIENT_MPSS
 428				IPCC_MPROC_SIGNAL_SMP2P>;
 429
 430		qcom,local-pid = <0>;
 431		qcom,remote-pid = <1>;
 432
 433		smp2p_modem_out: master-kernel {
 434			qcom,entry-name = "master-kernel";
 435			#qcom,smem-state-cells = <1>;
 436		};
 437
 438		smp2p_modem_in: slave-kernel {
 439			qcom,entry-name = "slave-kernel";
 440			interrupt-controller;
 441			#interrupt-cells = <2>;
 442		};
 443
 444		ipa_smp2p_out: ipa-ap-to-modem {
 445			qcom,entry-name = "ipa";
 446			#qcom,smem-state-cells = <1>;
 447		};
 448
 449		ipa_smp2p_in: ipa-modem-to-ap {
 450			qcom,entry-name = "ipa";
 451			interrupt-controller;
 452			#interrupt-cells = <2>;
 453		};
 454	};
 455
 456	smem: smem {
 457		compatible = "qcom,smem";
 458		memory-region = <&smem_mem>;
 459		hwlocks = <&tcsr_mutex 3>;
 460	};
 461
 462	soc: soc@0 {
 463		compatible = "simple-bus";
 464		#address-cells = <2>;
 465		#size-cells = <2>;
 466		ranges = <0 0 0 0 0x10 0>;
 467		dma-ranges = <0 0 0 0 0x10 0>;
 468
 469		gcc: clock-controller@80000 {
 470			compatible = "qcom,sdx75-gcc";
 471			reg = <0x0 0x0080000 0x0 0x1f7400>;
 472			clocks = <&rpmhcc RPMH_CXO_CLK>,
 473				 <&sleep_clk>,
 474				 <0>,
 475				 <0>,
 476				 <0>,
 477				 <0>,
 478				 <0>,
 479				 <0>,
 480				 <0>,
 481				 <0>,
 482				 <0>,
 483				 <0>,
 484				 <0>,
 485				 <0>,
 486				 <0>;
 487			#clock-cells = <1>;
 488			#reset-cells = <1>;
 489			#power-domain-cells = <1>;
 490		};
 491
 492		ipcc: mailbox@408000 {
 493			compatible = "qcom,sdx75-ipcc", "qcom,ipcc";
 494			reg = <0 0x00408000 0 0x1000>;
 495			interrupts = <GIC_SPI 241 IRQ_TYPE_LEVEL_HIGH>;
 496			interrupt-controller;
 497			#interrupt-cells = <3>;
 498			#mbox-cells = <2>;
 499		};
 500
 501		gpi_dma: dma-controller@900000 {
 502			compatible = "qcom,sdx75-gpi-dma", "qcom,sm6350-gpi-dma";
 503			reg = <0x0 0x00900000 0x0 0x60000>;
 504			#dma-cells = <3>;
 505			interrupts = <GIC_SPI 345 IRQ_TYPE_LEVEL_HIGH>,
 506				     <GIC_SPI 346 IRQ_TYPE_LEVEL_HIGH>,
 507				     <GIC_SPI 347 IRQ_TYPE_LEVEL_HIGH>,
 508				     <GIC_SPI 348 IRQ_TYPE_LEVEL_HIGH>,
 509				     <GIC_SPI 349 IRQ_TYPE_LEVEL_HIGH>,
 510				     <GIC_SPI 350 IRQ_TYPE_LEVEL_HIGH>,
 511				     <GIC_SPI 351 IRQ_TYPE_LEVEL_HIGH>,
 512				     <GIC_SPI 352 IRQ_TYPE_LEVEL_HIGH>,
 513				     <GIC_SPI 353 IRQ_TYPE_LEVEL_HIGH>,
 514				     <GIC_SPI 354 IRQ_TYPE_LEVEL_HIGH>,
 515				     <GIC_SPI 355 IRQ_TYPE_LEVEL_HIGH>,
 516				     <GIC_SPI 356 IRQ_TYPE_LEVEL_HIGH>;
 517			dma-channels = <12>;
 518			dma-channel-mask = <0x7f>;
 519			iommus = <&apps_smmu 0xf6 0x0>;
 520			status = "disabled";
 521		};
 522
 523		qupv3_id_0: geniqup@9c0000 {
 524			compatible = "qcom,geni-se-qup";
 525			reg = <0x0 0x009c0000 0x0 0x2000>;
 526			clocks = <&gcc GCC_QUPV3_WRAP_0_M_AHB_CLK>,
 527				 <&gcc GCC_QUPV3_WRAP_0_S_AHB_CLK>;
 528			clock-names = "m-ahb",
 529				      "s-ahb";
 530			iommus = <&apps_smmu 0xe3 0x0>;
 531			interconnects = <&clk_virt MASTER_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS
 532					 &clk_virt SLAVE_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS>;
 533			interconnect-names = "qup-core";
 534			#address-cells = <2>;
 535			#size-cells = <2>;
 536			ranges;
 537			status = "disabled";
 538
 539			i2c0: i2c@980000 {
 540				compatible = "qcom,geni-i2c";
 541				reg = <0x0 0x00980000 0x0 0x4000>;
 542				clocks = <&gcc GCC_QUPV3_WRAP0_S0_CLK>;
 543				clock-names = "se";
 544				interrupts = <GIC_SPI 337 IRQ_TYPE_LEVEL_HIGH>;
 545				#address-cells = <1>;
 546				#size-cells = <0>;
 547				pinctrl-0 = <&qup_i2c0_data_clk>;
 548				pinctrl-names = "default";
 549				interconnects = <&clk_virt MASTER_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS
 550						 &clk_virt SLAVE_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS>,
 551						<&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS
 552						 &system_noc SLAVE_QUP_0 QCOM_ICC_TAG_ALWAYS>,
 553						<&system_noc MASTER_QUP_0 QCOM_ICC_TAG_ALWAYS
 554						 &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>;
 555				interconnect-names = "qup-core", "qup-config", "qup-memory";
 556				dmas = <&gpi_dma 0 0 QCOM_GPI_I2C>,
 557				       <&gpi_dma 1 0 QCOM_GPI_I2C>;
 558				dma-names = "tx", "rx";
 559				status = "disabled";
 560			};
 561
 562			spi0: spi@980000 {
 563				compatible = "qcom,geni-spi";
 564				reg = <0x0 0x00980000 0x0 0x4000>;
 565				clocks = <&gcc GCC_QUPV3_WRAP0_S0_CLK>;
 566				clock-names = "se";
 567				interrupts = <GIC_SPI 337 IRQ_TYPE_LEVEL_HIGH>;
 568				#address-cells = <1>;
 569				#size-cells = <0>;
 570				pinctrl-0 = <&qup_spi0_data_clk>, <&qup_spi0_cs>;
 571				pinctrl-names = "default";
 572				interconnects = <&clk_virt MASTER_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS
 573						 &clk_virt SLAVE_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS>,
 574						<&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS
 575						 &system_noc SLAVE_QUP_0 QCOM_ICC_TAG_ALWAYS>,
 576						<&system_noc MASTER_QUP_0 QCOM_ICC_TAG_ALWAYS
 577						 &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>;
 578				interconnect-names = "qup-core", "qup-config", "qup-memory";
 579				dmas = <&gpi_dma 0 0 QCOM_GPI_SPI>,
 580				       <&gpi_dma 1 0 QCOM_GPI_SPI>;
 581				dma-names = "tx", "rx";
 582				status = "disabled";
 583			};
 584
 585			uart1: serial@984000 {
 586				compatible = "qcom,geni-debug-uart";
 587				reg = <0x0 0x00984000 0x0 0x4000>;
 588				clocks = <&gcc GCC_QUPV3_WRAP0_S1_CLK>;
 589				clock-names = "se";
 590				interconnects = <&clk_virt MASTER_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS
 591						 &clk_virt SLAVE_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS>,
 592						<&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS
 593						 &system_noc SLAVE_QUP_0 QCOM_ICC_TAG_ALWAYS>;
 594				interconnect-names = "qup-core",
 595						     "qup-config";
 596				interrupts = <GIC_SPI 338 IRQ_TYPE_LEVEL_HIGH>;
 597				pinctrl-0 = <&qupv3_se1_2uart_active>;
 598				pinctrl-1 = <&qupv3_se1_2uart_sleep>;
 599				pinctrl-names = "default",
 600						"sleep";
 601				status = "disabled";
 602			};
 603
 604			i2c2: i2c@988000 {
 605				compatible = "qcom,geni-i2c";
 606				reg = <0x0 0x00988000 0x0 0x4000>;
 607				clocks = <&gcc GCC_QUPV3_WRAP0_S2_CLK>;
 608				clock-names = "se";
 609				interrupts = <GIC_SPI 339 IRQ_TYPE_LEVEL_HIGH>;
 610				#address-cells = <1>;
 611				#size-cells = <0>;
 612				pinctrl-0 = <&qup_i2c2_data_clk>;
 613				pinctrl-names = "default";
 614				interconnects = <&clk_virt MASTER_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS
 615						 &clk_virt SLAVE_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS>,
 616						<&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS
 617						 &system_noc SLAVE_QUP_0 QCOM_ICC_TAG_ALWAYS>,
 618						<&system_noc MASTER_QUP_0 QCOM_ICC_TAG_ALWAYS
 619						 &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>;
 620				interconnect-names = "qup-core", "qup-config", "qup-memory";
 621				dmas = <&gpi_dma 0 2 QCOM_GPI_I2C>,
 622				       <&gpi_dma 1 2 QCOM_GPI_I2C>;
 623				dma-names = "tx", "rx";
 624				status = "disabled";
 625			};
 626
 627			spi2: spi@988000 {
 628				compatible = "qcom,geni-spi";
 629				reg = <0x0 0x00988000 0x0 0x4000>;
 630				clocks = <&gcc GCC_QUPV3_WRAP0_S2_CLK>;
 631				clock-names = "se";
 632				interrupts = <GIC_SPI 339 IRQ_TYPE_LEVEL_HIGH>;
 633				#address-cells = <1>;
 634				#size-cells = <0>;
 635				pinctrl-0 = <&qup_spi2_data_clk>, <&qup_spi2_cs>;
 636				pinctrl-names = "default";
 637				interconnects = <&clk_virt MASTER_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS
 638						 &clk_virt SLAVE_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS>,
 639						<&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS
 640						 &system_noc SLAVE_QUP_0 QCOM_ICC_TAG_ALWAYS>,
 641						<&system_noc MASTER_QUP_0 QCOM_ICC_TAG_ALWAYS
 642						 &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>;
 643				interconnect-names = "qup-core", "qup-config", "qup-memory";
 644				dmas = <&gpi_dma 0 2 QCOM_GPI_SPI>,
 645				       <&gpi_dma 1 2 QCOM_GPI_SPI>;
 646				dma-names = "tx", "rx";
 647				status = "disabled";
 648			};
 649
 650			i2c3: i2c@98c000 {
 651				compatible = "qcom,geni-i2c";
 652				reg = <0x0 0x0098c000 0x0 0x4000>;
 653				clocks = <&gcc GCC_QUPV3_WRAP0_S3_CLK>;
 654				clock-names = "se";
 655				interrupts = <GIC_SPI 340 IRQ_TYPE_LEVEL_HIGH>;
 656				#address-cells = <1>;
 657				#size-cells = <0>;
 658				pinctrl-0 = <&qup_i2c3_data_clk>;
 659				pinctrl-names = "default";
 660				interconnects = <&clk_virt MASTER_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS
 661						 &clk_virt SLAVE_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS>,
 662						<&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS
 663						 &system_noc SLAVE_QUP_0 QCOM_ICC_TAG_ALWAYS>,
 664						<&system_noc MASTER_QUP_0 QCOM_ICC_TAG_ALWAYS
 665						 &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>;
 666				interconnect-names = "qup-core", "qup-config", "qup-memory";
 667				dmas = <&gpi_dma 0 3 QCOM_GPI_I2C>,
 668				       <&gpi_dma 1 3 QCOM_GPI_I2C>;
 669				dma-names = "tx", "rx";
 670				status = "disabled";
 671			};
 672
 673			spi3: spi@98c000 {
 674				compatible = "qcom,geni-spi";
 675				reg = <0x0 0x0098c000 0x0 0x4000>;
 676				clocks = <&gcc GCC_QUPV3_WRAP0_S3_CLK>;
 677				clock-names = "se";
 678				interrupts = <GIC_SPI 340 IRQ_TYPE_LEVEL_HIGH>;
 679				#address-cells = <1>;
 680				#size-cells = <0>;
 681				pinctrl-0 = <&qup_spi3_data_clk>, <&qup_spi3_cs>;
 682				pinctrl-names = "default";
 683				interconnects = <&clk_virt MASTER_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS
 684						 &clk_virt SLAVE_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS>,
 685						<&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS
 686						 &system_noc SLAVE_QUP_0 QCOM_ICC_TAG_ALWAYS>,
 687						<&system_noc MASTER_QUP_0 QCOM_ICC_TAG_ALWAYS
 688						 &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>;
 689				interconnect-names = "qup-core", "qup-config", "qup-memory";
 690				dmas = <&gpi_dma 0 3 QCOM_GPI_SPI>,
 691				       <&gpi_dma 1 3 QCOM_GPI_SPI>;
 692				dma-names = "tx", "rx";
 693				status = "disabled";
 694			};
 695
 696			uart4: serial@990000 {
 697				compatible = "qcom,geni-uart";
 698				reg = <0x0 0x00990000 0x0 0x4000>;
 699				clocks = <&gcc GCC_QUPV3_WRAP0_S4_CLK>;
 700				clock-names = "se";
 701				interrupts = <GIC_SPI 341 IRQ_TYPE_LEVEL_HIGH>;
 702				pinctrl-0 = <&qup_uart4_default>, <&qup_uart4_cts_rts>;
 703				pinctrl-names = "default";
 704				interconnects = <&clk_virt MASTER_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS
 705						 &clk_virt SLAVE_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS>,
 706						<&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS
 707						 &system_noc SLAVE_QUP_0 QCOM_ICC_TAG_ALWAYS>;
 708				interconnect-names = "qup-core", "qup-config";
 709				status = "disabled";
 710			};
 711
 712			i2c5: i2c@994000 {
 713				compatible = "qcom,geni-i2c";
 714				reg = <0x0 0x00994000 0x0 0x4000>;
 715				clocks = <&gcc GCC_QUPV3_WRAP0_S5_CLK>;
 716				clock-names = "se";
 717				interrupts = <GIC_SPI 342 IRQ_TYPE_LEVEL_HIGH>;
 718				#address-cells = <1>;
 719				#size-cells = <0>;
 720				pinctrl-0 = <&qup_i2c5_data_clk>;
 721				pinctrl-names = "default";
 722				interconnects = <&clk_virt MASTER_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS
 723						 &clk_virt SLAVE_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS>,
 724						<&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS
 725						 &system_noc SLAVE_QUP_0 QCOM_ICC_TAG_ALWAYS>,
 726						<&system_noc MASTER_QUP_0 QCOM_ICC_TAG_ALWAYS
 727						 &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>;
 728				interconnect-names = "qup-core", "qup-config", "qup-memory";
 729				dmas = <&gpi_dma 0 5 QCOM_GPI_I2C>,
 730				       <&gpi_dma 1 5 QCOM_GPI_I2C>;
 731				dma-names = "tx", "rx";
 732				status = "disabled";
 733			};
 734
 735			i2c6: i2c@998000 {
 736				compatible = "qcom,geni-i2c";
 737				reg = <0x0 0x00998000 0x0 0x4000>;
 738				clocks = <&gcc GCC_QUPV3_WRAP0_S6_CLK>;
 739				clock-names = "se";
 740				interrupts = <GIC_SPI 343 IRQ_TYPE_LEVEL_HIGH>;
 741				#address-cells = <1>;
 742				#size-cells = <0>;
 743				pinctrl-0 = <&qup_i2c6_data_clk>;
 744				pinctrl-names = "default";
 745				interconnects = <&clk_virt MASTER_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS
 746						 &clk_virt SLAVE_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS>,
 747						<&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS
 748						 &system_noc SLAVE_QUP_0 QCOM_ICC_TAG_ALWAYS>,
 749						<&system_noc MASTER_QUP_0 QCOM_ICC_TAG_ALWAYS
 750						 &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>;
 751				interconnect-names = "qup-core", "qup-config", "qup-memory";
 752				dmas = <&gpi_dma 0 6 QCOM_GPI_I2C>,
 753				       <&gpi_dma 1 6 QCOM_GPI_I2C>;
 754				dma-names = "tx", "rx";
 755				status = "disabled";
 756			};
 757
 758			spi6: spi@998000 {
 759				compatible = "qcom,geni-spi";
 760				reg = <0x0 0x00998000 0x0 0x4000>;
 761				clocks = <&gcc GCC_QUPV3_WRAP0_S6_CLK>;
 762				clock-names = "se";
 763				interrupts = <GIC_SPI 343 IRQ_TYPE_LEVEL_HIGH>;
 764				#address-cells = <1>;
 765				#size-cells = <0>;
 766				pinctrl-0 = <&qup_spi6_data_clk>, <&qup_spi6_cs>;
 767				pinctrl-names = "default";
 768				interconnects = <&clk_virt MASTER_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS
 769						 &clk_virt SLAVE_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS>,
 770						<&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS
 771						 &system_noc SLAVE_QUP_0 QCOM_ICC_TAG_ALWAYS>,
 772						<&system_noc MASTER_QUP_0 QCOM_ICC_TAG_ALWAYS
 773						 &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>;
 774				interconnect-names = "qup-core", "qup-config", "qup-memory";
 775				dmas = <&gpi_dma 0 6 QCOM_GPI_SPI>,
 776				       <&gpi_dma 1 6 QCOM_GPI_SPI>;
 777				dma-names = "tx", "rx";
 778				status = "disabled";
 779			};
 780
 781			i2c7: i2c@99c000 {
 782				compatible = "qcom,geni-i2c";
 783				reg = <0x0 0x0099c000 0x0 0x4000>;
 784				clocks = <&gcc GCC_QUPV3_WRAP0_S7_CLK>;
 785				clock-names = "se";
 786				interrupts = <GIC_SPI 344 IRQ_TYPE_LEVEL_HIGH>;
 787				#address-cells = <1>;
 788				#size-cells = <0>;
 789				pinctrl-0 = <&qup_i2c7_data_clk>;
 790				pinctrl-names = "default";
 791				interconnects = <&clk_virt MASTER_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS
 792						 &clk_virt SLAVE_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS>,
 793						<&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS
 794						 &system_noc SLAVE_QUP_0 QCOM_ICC_TAG_ALWAYS>,
 795						<&system_noc MASTER_QUP_0 QCOM_ICC_TAG_ALWAYS
 796						 &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>;
 797				interconnect-names = "qup-core", "qup-config", "qup-memory";
 798				dmas = <&gpi_dma 0 7 QCOM_GPI_I2C>,
 799				       <&gpi_dma 1 7 QCOM_GPI_I2C>;
 800				dma-names = "tx", "rx";
 801				status = "disabled";
 802			};
 803
 804			spi7: spi@99c000 {
 805				compatible = "qcom,geni-spi";
 806				reg = <0x0 0x0099c000 0x0 0x4000>;
 807				clocks = <&gcc GCC_QUPV3_WRAP0_S7_CLK>;
 808				clock-names = "se";
 809				interrupts = <GIC_SPI 344 IRQ_TYPE_LEVEL_HIGH>;
 810				#address-cells = <1>;
 811				#size-cells = <0>;
 812				pinctrl-0 = <&qup_spi7_data_clk>, <&qup_spi7_cs>;
 813				pinctrl-names = "default";
 814				interconnects = <&clk_virt MASTER_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS
 815						 &clk_virt SLAVE_QUP_CORE_0 QCOM_ICC_TAG_ALWAYS>,
 816						<&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS
 817						 &system_noc SLAVE_QUP_0 QCOM_ICC_TAG_ALWAYS>,
 818						<&system_noc MASTER_QUP_0 QCOM_ICC_TAG_ALWAYS
 819						 &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>;
 820				interconnect-names = "qup-core", "qup-config", "qup-memory";
 821				dmas = <&gpi_dma 0 7 QCOM_GPI_SPI>,
 822				       <&gpi_dma 1 7 QCOM_GPI_SPI>;
 823				dma-names = "tx", "rx";
 824				status = "disabled";
 825			};
 826		};
 827
 828		usb_hsphy: phy@ff4000 {
 829			compatible = "qcom,sdx75-snps-eusb2-phy", "qcom,sm8550-snps-eusb2-phy";
 830			reg = <0x0 0x00ff4000 0x0 0x154>;
 831			#phy-cells = <0>;
 832
 833			clocks = <&rpmhcc RPMH_CXO_CLK>;
 834			clock-names = "ref";
 835
 836			resets = <&gcc GCC_QUSB2PHY_BCR>;
 837
 838			status = "disabled";
 839		};
 840
 841		usb_qmpphy: phy@ff6000 {
 842			compatible = "qcom,sdx75-qmp-usb3-uni-phy";
 843			reg = <0x0 0x00ff6000 0x0 0x2000>;
 844
 845			clocks = <&gcc GCC_USB3_PHY_AUX_CLK>,
 846				 <&gcc GCC_USB2_CLKREF_EN>,
 847				 <&gcc GCC_USB_PHY_CFG_AHB2PHY_CLK>,
 848				 <&gcc GCC_USB3_PHY_PIPE_CLK>;
 849			clock-names = "aux",
 850				      "ref",
 851				      "cfg_ahb",
 852				      "pipe";
 853
 854			power-domains = <&gcc GCC_USB3_PHY_GDSC>;
 855
 856			resets = <&gcc GCC_USB3_PHY_BCR>,
 857				 <&gcc GCC_USB3PHY_PHY_BCR>;
 858			reset-names = "phy",
 859				      "phy_phy";
 860
 861			#clock-cells = <0>;
 862			clock-output-names = "usb3_uni_phy_pipe_clk_src";
 863
 864			#phy-cells = <0>;
 865
 866			status = "disabled";
 867		};
 868
 869		system_noc: interconnect@1640000 {
 870			compatible = "qcom,sdx75-system-noc";
 871			reg = <0x0 0x01640000 0x0 0x4b400>;
 872			#interconnect-cells = <2>;
 873			qcom,bcm-voters = <&apps_bcm_voter>;
 874		};
 875
 876		pcie_anoc: interconnect@16c0000 {
 877			compatible = "qcom,sdx75-pcie-anoc";
 878			reg = <0x0 0x016c0000 0x0 0x14200>;
 879			#interconnect-cells = <2>;
 880			qcom,bcm-voters = <&apps_bcm_voter>;
 881		};
 882
 883		qpic_bam: dma-controller@1c9c000 {
 884			compatible = "qcom,bam-v1.7.0";
 885			reg = <0x0 0x01c9c000 0x0 0x1c000>;
 886			interrupts = <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>;
 887			clocks = <&rpmhcc RPMH_QPIC_CLK>;
 888			clock-names = "bam_clk";
 889			#dma-cells = <1>;
 890			qcom,ee = <0>;
 891			qcom,controlled-remotely;
 892			iommus = <&apps_smmu 0x100 0x3>;
 893			dma-coherent;
 894			status = "disabled";
 895		};
 896
 897		qpic_nand: nand-controller@1cc8000 {
 898			compatible = "qcom,sdx75-nand", "qcom,sdx55-nand";
 899			reg = <0x0 0x01cc8000 0x0 0x10000>;
 900			#address-cells = <1>;
 901			#size-cells = <0>;
 902			clocks = <&rpmhcc RPMH_QPIC_CLK>,
 903				 <&sleep_clk>;
 904			clock-names = "core",
 905				      "aon";
 906			dmas = <&qpic_bam 0>,
 907			       <&qpic_bam 1>,
 908			       <&qpic_bam 2>;
 909			dma-names = "tx",
 910				    "rx",
 911				    "cmd";
 912			iommus = <&apps_smmu 0x100 0x3>;
 913			status = "disabled";
 914		};
 915
 916		tcsr_mutex: hwlock@1f40000 {
 917			compatible = "qcom,tcsr-mutex";
 918			reg = <0x0 0x01f40000 0x0 0x40000>;
 919			#hwlock-cells = <1>;
 920		};
 921
 922		tcsr: syscon@1fc0000 {
 923			compatible = "qcom,sdx75-tcsr", "syscon";
 924			reg = <0x0 0x01fc0000 0x0 0x30000>;
 925		};
 926
 927		remoteproc_mpss: remoteproc@4080000 {
 928			compatible = "qcom,sdx75-mpss-pas";
 929			reg = <0 0x04080000 0 0x10000>;
 930
 931			interrupts-extended = <&intc GIC_SPI 250 IRQ_TYPE_EDGE_RISING>,
 932					      <&smp2p_modem_in 0 IRQ_TYPE_EDGE_RISING>,
 933					      <&smp2p_modem_in 1 IRQ_TYPE_EDGE_RISING>,
 934					      <&smp2p_modem_in 2 IRQ_TYPE_EDGE_RISING>,
 935					      <&smp2p_modem_in 3 IRQ_TYPE_EDGE_RISING>,
 936					      <&smp2p_modem_in 7 IRQ_TYPE_EDGE_RISING>;
 937			interrupt-names = "wdog",
 938					  "fatal",
 939					  "ready",
 940					  "handover",
 941					  "stop-ack",
 942					  "shutdown-ack";
 943
 944			clocks = <&rpmhcc RPMH_CXO_CLK>;
 945			clock-names = "xo";
 946
 947			power-domains = <&rpmhpd RPMHPD_CX>,
 948					<&rpmhpd RPMHPD_MSS>;
 949			power-domain-names = "cx",
 950					     "mss";
 951
 952			memory-region = <&mpssadsp_mem>, <&q6_mpss_dtb_mem>,
 953					<&mpss_dsm_mem>, <&mpss_dsm_mem_2>,
 954					<&qlink_logging_mem>;
 955
 956			qcom,qmp = <&aoss_qmp>;
 957
 958			qcom,smem-states = <&smp2p_modem_out 0>;
 959			qcom,smem-state-names = "stop";
 960
 961			status = "disabled";
 962
 963			glink-edge {
 964				interrupts-extended = <&ipcc IPCC_CLIENT_MPSS
 965							     IPCC_MPROC_SIGNAL_PING
 966							     IRQ_TYPE_EDGE_RISING>;
 967				mboxes = <&ipcc IPCC_CLIENT_MPSS
 968						IPCC_MPROC_SIGNAL_PING>;
 969				label = "mpss";
 970				qcom,remote-pid = <1>;
 971			};
 972		};
 973
 974		sdhc: mmc@8804000 {
 975			compatible = "qcom,sdx75-sdhci", "qcom,sdhci-msm-v5";
 976			reg = <0x0 0x08804000 0x0 0x1000>;
 977
 978			interrupts = <GIC_SPI 210 IRQ_TYPE_LEVEL_HIGH>,
 979				     <GIC_SPI 227 IRQ_TYPE_LEVEL_HIGH>;
 980			interrupt-names = "hc_irq",
 981					  "pwr_irq";
 982
 983			clocks = <&gcc GCC_SDCC1_AHB_CLK>,
 984				 <&gcc GCC_SDCC1_APPS_CLK>,
 985				 <&rpmhcc RPMH_CXO_CLK>;
 986			clock-names = "iface",
 987				      "core",
 988				      "xo";
 989			iommus = <&apps_smmu 0x00a0 0x0>;
 990			qcom,dll-config = <0x0007442c>;
 991			qcom,ddr-config = <0x80040868>;
 992			power-domains = <&rpmhpd RPMHPD_CX>;
 993			operating-points-v2 = <&sdhc1_opp_table>;
 994
 995			interconnects = <&system_noc MASTER_SDCC_1 &mc_virt SLAVE_EBI1>,
 996					<&gem_noc MASTER_APPSS_PROC &system_noc SLAVE_SDCC_1>;
 997			interconnect-names = "sdhc-ddr",
 998					     "cpu-sdhc";
 999			bus-width = <4>;
1000			dma-coherent;
1001
1002			/* Forbid SDR104/SDR50 - broken hw! */
1003			sdhci-caps-mask = <0x3 0>;
1004
1005			status = "disabled";
1006
1007			sdhc1_opp_table: opp-table {
1008				compatible = "operating-points-v2";
1009
1010				opp-100000000 {
1011					opp-hz = /bits/ 64 <100000000>;
1012					required-opps = <&rpmhpd_opp_low_svs>;
1013				};
1014
1015				opp-384000000 {
1016					opp-hz = /bits/ 64 <384000000>;
1017					required-opps = <&rpmhpd_opp_nom>;
1018				};
1019			};
1020		};
1021
1022		usb: usb@a600000 {
1023			compatible = "qcom,sdx75-dwc3", "qcom,snps-dwc3";
1024			reg = <0x0 0x0a600000 0x0 0xfc100>;
1025
1026			clocks = <&gcc GCC_USB30_SLV_AHB_CLK>,
1027				 <&gcc GCC_USB30_MASTER_CLK>,
1028				 <&gcc GCC_USB30_MSTR_AXI_CLK>,
1029				 <&gcc GCC_USB30_SLEEP_CLK>,
1030				 <&gcc GCC_USB30_MOCK_UTMI_CLK>;
1031			clock-names = "cfg_noc",
1032				      "core",
1033				      "iface",
1034				      "sleep",
1035				      "mock_utmi";
1036
1037			assigned-clocks = <&gcc GCC_USB30_MOCK_UTMI_CLK>,
1038					  <&gcc GCC_USB30_MASTER_CLK>;
1039			assigned-clock-rates = <19200000>, <200000000>;
1040
1041			interrupts-extended = <&intc GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>,
1042					      <&intc GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>,
1043					      <&intc GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>,
1044					      <&pdc 10 IRQ_TYPE_EDGE_RISING>,
1045					      <&pdc 9 IRQ_TYPE_EDGE_RISING>,
1046					      <&pdc 17 IRQ_TYPE_LEVEL_HIGH>;
1047			interrupt-names = "dwc_usb3",
1048					  "pwr_event",
1049					  "hs_phy_irq",
1050					  "dp_hs_phy_irq",
1051					  "dm_hs_phy_irq",
1052					  "ss_phy_irq";
1053
1054			iommus = <&apps_smmu 0x80 0x0>;
1055
1056			snps,dis_u2_susphy_quirk;
1057			snps,dis_enblslpm_quirk;
1058			snps,dis-u1-entry-quirk;
1059			snps,dis-u2-entry-quirk;
1060
1061			power-domains = <&gcc GCC_USB30_GDSC>;
1062
1063			resets = <&gcc GCC_USB30_BCR>;
1064
1065			phys = <&usb_hsphy>,
1066			       <&usb_qmpphy>;
1067			phy-names = "usb2-phy",
1068				    "usb3-phy";
1069
1070			interconnects = <&system_noc MASTER_USB3_0 QCOM_ICC_TAG_ALWAYS
1071					 &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>,
1072					<&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS
1073					 &system_noc SLAVE_USB3 QCOM_ICC_TAG_ALWAYS>;
1074			interconnect-names = "usb-ddr",
1075					     "apps-usb";
1076
1077			usb-role-switch;
1078
1079			status = "disabled";
1080
1081			ports {
1082				#address-cells = <1>;
1083				#size-cells = <0>;
1084
1085				port@0 {
1086					reg = <0>;
1087
1088					usb_1_dwc3_hs: endpoint {
1089					};
1090				};
1091
1092				port@1 {
1093					reg = <1>;
1094
1095					usb_1_dwc3_ss: endpoint {
1096					};
1097				};
1098			};
1099		};
1100
1101		pdc: interrupt-controller@b220000 {
1102			compatible = "qcom,sdx75-pdc", "qcom,pdc";
1103			reg = <0x0 0xb220000 0x0 0x30000>,
1104			      <0x0 0x174000f0 0x0 0x64>;
1105			qcom,pdc-ranges = <0 147 52>,
1106					  <52 266 32>,
1107					  <84 500 59>;
1108			#interrupt-cells = <2>;
1109			interrupt-parent = <&intc>;
1110			interrupt-controller;
1111		};
1112
1113		aoss_qmp: power-management@c310000 {
1114			compatible = "qcom,sdx75-aoss-qmp", "qcom,aoss-qmp";
1115			reg = <0 0x0c310000 0 0x1000>;
1116			interrupt-parent = <&ipcc>;
1117			interrupts-extended = <&ipcc IPCC_CLIENT_AOP IPCC_MPROC_SIGNAL_GLINK_QMP
1118						     IRQ_TYPE_EDGE_RISING>;
1119			mboxes = <&ipcc IPCC_CLIENT_AOP IPCC_MPROC_SIGNAL_GLINK_QMP>;
1120
1121			#clock-cells = <0>;
1122		};
1123
1124		spmi_bus: spmi@c400000 {
1125			compatible = "qcom,spmi-pmic-arb";
1126			reg = <0x0 0x0c400000 0x0 0x3000>,
1127			      <0x0 0x0c500000 0x0 0x400000>,
1128			      <0x0 0x0c440000 0x0 0x80000>,
1129			      <0x0 0x0c4c0000 0x0 0x10000>,
1130			      <0x0 0x0c42d000 0x0 0x4000>;
1131			reg-names = "core",
1132				    "chnls",
1133				    "obsrvr",
1134				    "intr",
1135				    "cnfg";
1136			interrupts-extended = <&pdc 1 IRQ_TYPE_LEVEL_HIGH>;
1137			interrupt-names = "periph_irq";
1138			qcom,ee = <0>;
1139			qcom,channel = <0>;
1140			qcom,bus-id = <0>;
1141			#address-cells = <2>;
1142			#size-cells = <0>;
1143			interrupt-controller;
1144			#interrupt-cells = <4>;
1145		};
1146
1147		tlmm: pinctrl@f000000 {
1148			compatible = "qcom,sdx75-tlmm";
1149			reg = <0x0 0x0f000000 0x0 0x400000>;
1150			interrupts = <GIC_SPI 212 IRQ_TYPE_LEVEL_HIGH>;
1151			gpio-controller;
1152			#gpio-cells = <2>;
1153			gpio-ranges = <&tlmm 0 0 133>;
1154			interrupt-controller;
1155			#interrupt-cells = <2>;
1156			wakeup-parent = <&pdc>;
1157
1158			qup_i2c0_data_clk: qup-i2c0-data-clk-state {
1159				/* SDA, SCL */
1160				pins = "gpio8", "gpio9";
1161				function = "qup_se0";
1162				drive-strength = <2>;
1163				bias-pull-up;
1164			};
1165
1166			qup_i2c2_data_clk: qup-i2c2-data-clk-state {
1167				/* SDA, SCL */
1168				pins = "gpio14", "gpio15";
1169				function = "qup_se2";
1170				drive-strength = <2>;
1171				bias-pull-up;
1172			};
1173
1174			qup_i2c3_data_clk: qup-i2c3-data-clk-state {
1175				/* SDA, SCL */
1176				pins = "gpio52", "gpio53";
1177				function = "qup_se3";
1178				drive-strength = <2>;
1179				bias-pull-up;
1180			};
1181
1182			qup_i2c5_data_clk: qup-i2c5-data-clk-state {
1183				/* SDA, SCL */
1184				pins = "gpio110", "gpio111";
1185				function = "qup_se5";
1186				drive-strength = <2>;
1187				bias-pull-up;
1188			};
1189
1190			qup_i2c6_data_clk: qup-i2c6-data-clk-state {
1191				/* SDA, SCL */
1192				pins = "gpio112", "gpio113";
1193				function = "qup_se6";
1194				drive-strength = <2>;
1195				bias-pull-up;
1196			};
1197
1198			qup_i2c7_data_clk: qup-i2c7-data-clk-state {
1199				/* SDA, SCL */
1200				pins = "gpio116", "gpio117";
1201				function = "qup_se7";
1202				drive-strength = <2>;
1203				bias-pull-up;
1204			};
1205
1206			qup_spi0_cs: qup-spi0-cs-state {
1207				pins = "gpio11";
1208				function = "qup_se0";
1209				drive-strength = <6>;
1210				bias-pull-down;
1211			};
1212
1213			qup_spi0_data_clk: qup-spi0-data-clk-state {
1214				/* MISO, MOSI, CLK */
1215				pins = "gpio8", "gpio9", "gpio10";
1216				function = "qup_se0";
1217				drive-strength = <6>;
1218				bias-pull-down;
1219			};
1220
1221			qup_spi2_cs: qup-spi2-cs-state {
1222				pins = "gpio17";
1223				function = "qup_se2";
1224				drive-strength = <6>;
1225				bias-pull-down;
1226			};
1227
1228			qup_spi2_data_clk: qup-spi2-data-clk-state {
1229				/* MISO, MOSI, CLK */
1230				pins = "gpio14", "gpio15", "gpio16";
1231				function = "qup_se2";
1232				drive-strength = <6>;
1233				bias-pull-down;
1234			};
1235
1236			qup_spi3_cs: qup-spi3-cs-state {
1237				pins = "gpio55";
1238				function = "qup_se3";
1239				drive-strength = <6>;
1240				bias-pull-down;
1241			};
1242
1243			qup_spi3_data_clk: qup-spi3-data-clk-state {
1244				/* MISO, MOSI, CLK */
1245				pins = "gpio52", "gpio53", "gpio54";
1246				function = "qup_se3";
1247				drive-strength = <6>;
1248				bias-pull-down;
1249			};
1250
1251			qup_spi6_cs: qup-spi6-cs-state {
1252				pins = "gpio115";
1253				function = "qup_se6";
1254				drive-strength = <6>;
1255				bias-pull-down;
1256			};
1257
1258			qup_spi6_data_clk: qup-spi6-data-clk-state {
1259				/* MISO, MOSI, CLK */
1260				pins = "gpio112", "gpio113", "gpio114";
1261				function = "qup_se6";
1262				drive-strength = <6>;
1263				bias-pull-down;
1264			};
1265
1266			qup_spi7_cs: qup-spi7-cs-state {
1267				pins = "gpio119";
1268				function = "qup_se7";
1269				drive-strength = <6>;
1270				bias-pull-down;
1271			};
1272
1273			qup_spi7_data_clk: qup-spi7-data-clk-state {
1274				/* MISO, MOSI, CLK */
1275				pins = "gpio116", "gpio117", "gpio118";
1276				function = "qup_se7";
1277				drive-strength = <6>;
1278				bias-pull-down;
1279			};
1280
1281			qup_uart4_cts_rts: qup-uart4-cts-rts-state {
1282				/* CTS, RTS */
1283				pins = "gpio52", "gpio53";
1284				function = "qup_se3";
1285				drive-strength = <2>;
1286				bias-pull-down;
1287			};
1288
1289			qup_uart4_default: qup-uart4-default-state {
1290				/* TX, RX */
1291				pins = "gpio54", "gpio55";
1292				function = "qup_se3";
1293				drive-strength = <2>;
1294				bias-pull-up;
1295			};
1296
1297			qupv3_se1_2uart_active: qupv3-se1-2uart-active-state {
1298				tx-pins {
1299					pins = "gpio12";
1300					function = "qup_se1_l2_mira";
1301					drive-strength = <2>;
1302					bias-disable;
1303				};
1304
1305				rx-pins {
1306					pins = "gpio13";
1307					function = "qup_se1_l3_mira";
1308					drive-strength = <2>;
1309					bias-disable;
1310				};
1311			};
1312
1313			qupv3_se1_2uart_sleep: qupv3-se1-2uart-sleep-state {
1314				pins = "gpio12", "gpio13";
1315				function = "gpio";
1316				drive-strength = <2>;
1317				bias-pull-down;
1318			};
1319
1320			sdc1_default: sdc1-default-state {
1321				clk-pins {
1322					pins = "sdc1_clk";
1323					drive-strength = <16>;
1324					bias-disable;
1325				};
1326
1327				cmd-pins {
1328					pins = "sdc1_cmd";
1329					drive-strength = <10>;
1330					bias-pull-up;
1331				};
1332
1333				data-pins {
1334					pins = "sdc1_data";
1335					drive-strength = <10>;
1336					bias-pull-up;
1337				};
1338			};
1339
1340			sdc1_sleep: sdc1-sleep-state {
1341				clk-pins {
1342					pins = "sdc1_clk";
1343					drive-strength = <2>;
1344					bias-disable;
1345				};
1346
1347				cmd-pins {
1348					pins = "sdc1_cmd";
1349					drive-strength = <2>;
1350					bias-pull-up;
1351				};
1352
1353				data-pins {
1354					pins = "sdc1_data";
1355					drive-strength = <2>;
1356					bias-pull-up;
1357				};
1358			};
1359		};
1360
1361		apps_smmu: iommu@15000000 {
1362			compatible = "qcom,sdx75-smmu-500", "qcom,smmu-500", "arm,mmu-500";
1363			reg = <0x0 0x15000000 0x0 0x40000>;
1364			#iommu-cells = <2>;
1365			#global-interrupts = <2>;
1366			dma-coherent;
1367			interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>,
1368				     <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>,
1369				     <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>,
1370				     <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>,
1371				     <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>,
1372				     <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>,
1373				     <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>,
1374				     <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>,
1375				     <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>,
1376				     <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>,
1377				     <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>,
1378				     <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>,
1379				     <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>,
1380				     <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>,
1381				     <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>,
1382				     <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>,
1383				     <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>,
1384				     <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>,
1385				     <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>,
1386				     <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>,
1387				     <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>,
1388				     <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>,
1389				     <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>,
1390				     <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>,
1391				     <GIC_SPI 298 IRQ_TYPE_LEVEL_HIGH>,
1392				     <GIC_SPI 299 IRQ_TYPE_LEVEL_HIGH>,
1393				     <GIC_SPI 300 IRQ_TYPE_LEVEL_HIGH>,
1394				     <GIC_SPI 301 IRQ_TYPE_LEVEL_HIGH>,
1395				     <GIC_SPI 302 IRQ_TYPE_LEVEL_HIGH>,
1396				     <GIC_SPI 303 IRQ_TYPE_LEVEL_HIGH>,
1397				     <GIC_SPI 304 IRQ_TYPE_LEVEL_HIGH>,
1398				     <GIC_SPI 305 IRQ_TYPE_LEVEL_HIGH>,
1399				     <GIC_SPI 306 IRQ_TYPE_LEVEL_HIGH>;
1400		};
1401
1402		intc: interrupt-controller@17200000 {
1403			compatible = "arm,gic-v3";
1404			#interrupt-cells = <3>;
1405			interrupt-controller;
1406			#redistributor-regions = <1>;
1407			redistributor-stride = <0x0 0x20000>;
1408			reg = <0x0 0x17200000 0x0 0x10000>,
1409			      <0x0 0x17260000 0x0 0x80000>;
1410			interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
1411		};
1412
1413		timer@17420000 {
1414			compatible = "arm,armv7-timer-mem";
1415			reg = <0x0 0x17420000 0x0 0x1000>;
1416			#address-cells = <1>;
1417			#size-cells = <1>;
1418			ranges = <0 0 0 0x20000000>;
1419
1420			frame@17421000 {
1421				reg = <0x17421000 0x1000>,
1422				      <0x17422000 0x1000>;
1423				frame-number = <0>;
1424				interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
1425					     <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
1426			};
1427
1428			frame@17423000 {
1429				reg = <0x17423000 0x1000>;
1430				frame-number = <1>;
1431				interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
1432				status = "disabled";
1433			};
1434
1435			frame@17425000 {
1436				reg = <0x17425000 0x1000>;
1437				frame-number = <2>;
1438				interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
1439				status = "disabled";
1440			};
1441
1442			frame@17427000 {
1443				reg = <0x17427000 0x1000>;
1444				frame-number = <3>;
1445				interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
1446				status = "disabled";
1447			};
1448
1449			frame@17429000 {
1450				reg = <0x17429000 0x1000>;
1451				frame-number = <4>;
1452				interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
1453				status = "disabled";
1454			};
1455
1456			frame@1742b000 {
1457				reg = <0x1742b000 0x1000>;
1458				frame-number = <5>;
1459				interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
1460				status = "disabled";
1461			};
1462
1463			frame@1742d000 {
1464				reg = <0x1742d000 0x1000>;
1465				frame-number = <6>;
1466				interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
1467				status = "disabled";
1468			};
1469		};
1470
1471		apps_rsc: rsc@17a00000 {
1472			label = "apps_rsc";
1473			compatible = "qcom,rpmh-rsc";
1474			reg = <0x0 0x17a00000 0x0 0x10000>,
1475			      <0x0 0x17a10000 0x0 0x10000>,
1476			      <0x0 0x17a20000 0x0 0x10000>;
1477			reg-names = "drv-0", "drv-1", "drv-2";
1478			interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
1479				     <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
1480				     <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
1481
1482			power-domains = <&cluster_pd>;
1483			qcom,tcs-offset = <0xd00>;
1484			qcom,drv-id = <2>;
1485			qcom,tcs-config = <ACTIVE_TCS    3>,
1486					  <SLEEP_TCS     2>,
1487					  <WAKE_TCS      2>,
1488					  <CONTROL_TCS   0>;
1489
1490			apps_bcm_voter: bcm-voter {
1491				compatible = "qcom,bcm-voter";
1492			};
1493
1494			rpmhcc: clock-controller {
1495				compatible = "qcom,sdx75-rpmh-clk";
1496				clocks = <&xo_board>;
1497				clock-names = "xo";
1498				#clock-cells = <1>;
1499			};
1500
1501			rpmhpd: power-controller {
1502				compatible = "qcom,sdx75-rpmhpd";
1503				#power-domain-cells = <1>;
1504				operating-points-v2 = <&rpmhpd_opp_table>;
1505
1506				rpmhpd_opp_table: opp-table {
1507					compatible = "operating-points-v2";
1508
1509					rpmhpd_opp_ret: opp-16 {
1510						opp-level = <RPMH_REGULATOR_LEVEL_RETENTION>;
1511					};
1512
1513					rpmhpd_opp_min_svs: opp-48 {
1514						opp-level = <RPMH_REGULATOR_LEVEL_MIN_SVS>;
1515					};
1516
1517					rpmhpd_opp_low_svs: opp-64 {
1518						opp-level = <RPMH_REGULATOR_LEVEL_LOW_SVS>;
1519					};
1520
1521					rpmhpd_opp_svs: opp-128 {
1522						opp-level = <RPMH_REGULATOR_LEVEL_SVS>;
1523					};
1524
1525					rpmhpd_opp_svs_l1: opp-192 {
1526						opp-level = <RPMH_REGULATOR_LEVEL_SVS_L1>;
1527					};
1528
1529					rpmhpd_opp_nom: opp-256 {
1530						opp-level = <RPMH_REGULATOR_LEVEL_NOM>;
1531					};
1532
1533					rpmhpd_opp_nom_l1: opp-320 {
1534						opp-level = <RPMH_REGULATOR_LEVEL_NOM_L1>;
1535					};
1536
1537					rpmhpd_opp_nom_l2: opp-336 {
1538						opp-level = <RPMH_REGULATOR_LEVEL_NOM_L2>;
1539					};
1540
1541					rpmhpd_opp_turbo: opp-384 {
1542						opp-level = <RPMH_REGULATOR_LEVEL_TURBO>;
1543					};
1544
1545					rpmhpd_opp_turbo_l1: opp-416 {
1546						opp-level = <RPMH_REGULATOR_LEVEL_TURBO_L1>;
1547					};
1548				};
1549			};
1550		};
1551
1552		cpufreq_hw: cpufreq@17d91000 {
1553			compatible = "qcom,sdx75-cpufreq-epss", "qcom,cpufreq-epss";
1554			reg = <0x0 0x17d91000 0x0 0x1000>;
1555			reg-names = "freq-domain0";
1556			clocks = <&rpmhcc RPMH_CXO_CLK>,
1557				 <&gcc GPLL0>;
1558			clock-names = "xo",
1559				      "alternate";
1560			interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
1561			interrupt-names = "dcvsh-irq-0";
1562			#freq-domain-cells = <1>;
1563			#clock-cells = <1>;
1564		};
1565
1566		dc_noc: interconnect@190e0000 {
1567			compatible = "qcom,sdx75-dc-noc";
1568			reg = <0x0 0x190e0000 0x0 0x8200>;
1569			#interconnect-cells = <2>;
1570			qcom,bcm-voters = <&apps_bcm_voter>;
1571		};
1572
1573		gem_noc: interconnect@19100000 {
1574			compatible = "qcom,sdx75-gem-noc";
1575			reg = <0x0 0x19100000 0x0 0x34080>;
1576			#interconnect-cells = <2>;
1577			qcom,bcm-voters = <&apps_bcm_voter>;
1578		};
1579	};
1580
1581	timer {
1582		compatible = "arm,armv8-timer";
1583		interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
1584			     <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
1585			     <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
1586			     <GIC_PPI 12 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>;
1587	};
1588};
~/ Read-only file preview.