xref: /openbmc/linux/arch/arm64/boot/dts/qcom/sm8250.dtsi (revision bccc7dd2)
160378f1aSVenkata Narendra Kumar Gutta// SPDX-License-Identifier: BSD-3-Clause
260378f1aSVenkata Narendra Kumar Gutta/*
360378f1aSVenkata Narendra Kumar Gutta * Copyright (c) 2020, The Linux Foundation. All rights reserved.
460378f1aSVenkata Narendra Kumar Gutta */
560378f1aSVenkata Narendra Kumar Gutta
660378f1aSVenkata Narendra Kumar Gutta#include <dt-bindings/interrupt-controller/arm-gic.h>
7b7e2fba0SBryan O'Donoghue#include <dt-bindings/clock/qcom,gcc-sm8250.h>
860378f1aSVenkata Narendra Kumar Gutta#include <dt-bindings/clock/qcom,rpmh.h>
9b6f78e27SBjorn Andersson#include <dt-bindings/power/qcom-rpmpd.h>
1060378f1aSVenkata Narendra Kumar Gutta#include <dt-bindings/soc/qcom,rpmh-rsc.h>
1160378f1aSVenkata Narendra Kumar Gutta
1260378f1aSVenkata Narendra Kumar Gutta/ {
1360378f1aSVenkata Narendra Kumar Gutta	interrupt-parent = <&intc>;
1460378f1aSVenkata Narendra Kumar Gutta
1560378f1aSVenkata Narendra Kumar Gutta	#address-cells = <2>;
1660378f1aSVenkata Narendra Kumar Gutta	#size-cells = <2>;
1760378f1aSVenkata Narendra Kumar Gutta
1860378f1aSVenkata Narendra Kumar Gutta	chosen { };
1960378f1aSVenkata Narendra Kumar Gutta
2060378f1aSVenkata Narendra Kumar Gutta	clocks {
2160378f1aSVenkata Narendra Kumar Gutta		xo_board: xo-board {
2260378f1aSVenkata Narendra Kumar Gutta			compatible = "fixed-clock";
2360378f1aSVenkata Narendra Kumar Gutta			#clock-cells = <0>;
2460378f1aSVenkata Narendra Kumar Gutta			clock-frequency = <38400000>;
2560378f1aSVenkata Narendra Kumar Gutta			clock-output-names = "xo_board";
2660378f1aSVenkata Narendra Kumar Gutta		};
2760378f1aSVenkata Narendra Kumar Gutta
2860378f1aSVenkata Narendra Kumar Gutta		sleep_clk: sleep-clk {
2960378f1aSVenkata Narendra Kumar Gutta			compatible = "fixed-clock";
3060378f1aSVenkata Narendra Kumar Gutta			clock-frequency = <32000>;
3160378f1aSVenkata Narendra Kumar Gutta			#clock-cells = <0>;
3260378f1aSVenkata Narendra Kumar Gutta		};
3360378f1aSVenkata Narendra Kumar Gutta	};
3460378f1aSVenkata Narendra Kumar Gutta
3560378f1aSVenkata Narendra Kumar Gutta	cpus {
3660378f1aSVenkata Narendra Kumar Gutta		#address-cells = <2>;
3760378f1aSVenkata Narendra Kumar Gutta		#size-cells = <0>;
3860378f1aSVenkata Narendra Kumar Gutta
3960378f1aSVenkata Narendra Kumar Gutta		CPU0: cpu@0 {
4060378f1aSVenkata Narendra Kumar Gutta			device_type = "cpu";
4160378f1aSVenkata Narendra Kumar Gutta			compatible = "qcom,kryo485";
4260378f1aSVenkata Narendra Kumar Gutta			reg = <0x0 0x0>;
4360378f1aSVenkata Narendra Kumar Gutta			enable-method = "psci";
4460378f1aSVenkata Narendra Kumar Gutta			next-level-cache = <&L2_0>;
4560378f1aSVenkata Narendra Kumar Gutta			L2_0: l2-cache {
4660378f1aSVenkata Narendra Kumar Gutta			      compatible = "cache";
4760378f1aSVenkata Narendra Kumar Gutta			      next-level-cache = <&L3_0>;
4860378f1aSVenkata Narendra Kumar Gutta				L3_0: l3-cache {
4960378f1aSVenkata Narendra Kumar Gutta				      compatible = "cache";
5060378f1aSVenkata Narendra Kumar Gutta				};
5160378f1aSVenkata Narendra Kumar Gutta			};
5260378f1aSVenkata Narendra Kumar Gutta		};
5360378f1aSVenkata Narendra Kumar Gutta
5460378f1aSVenkata Narendra Kumar Gutta		CPU1: cpu@100 {
5560378f1aSVenkata Narendra Kumar Gutta			device_type = "cpu";
5660378f1aSVenkata Narendra Kumar Gutta			compatible = "qcom,kryo485";
5760378f1aSVenkata Narendra Kumar Gutta			reg = <0x0 0x100>;
5860378f1aSVenkata Narendra Kumar Gutta			enable-method = "psci";
5960378f1aSVenkata Narendra Kumar Gutta			next-level-cache = <&L2_100>;
6060378f1aSVenkata Narendra Kumar Gutta			L2_100: l2-cache {
6160378f1aSVenkata Narendra Kumar Gutta			      compatible = "cache";
6260378f1aSVenkata Narendra Kumar Gutta			      next-level-cache = <&L3_0>;
6360378f1aSVenkata Narendra Kumar Gutta			};
6460378f1aSVenkata Narendra Kumar Gutta		};
6560378f1aSVenkata Narendra Kumar Gutta
6660378f1aSVenkata Narendra Kumar Gutta		CPU2: cpu@200 {
6760378f1aSVenkata Narendra Kumar Gutta			device_type = "cpu";
6860378f1aSVenkata Narendra Kumar Gutta			compatible = "qcom,kryo485";
6960378f1aSVenkata Narendra Kumar Gutta			reg = <0x0 0x200>;
7060378f1aSVenkata Narendra Kumar Gutta			enable-method = "psci";
7160378f1aSVenkata Narendra Kumar Gutta			next-level-cache = <&L2_200>;
7260378f1aSVenkata Narendra Kumar Gutta			L2_200: l2-cache {
7360378f1aSVenkata Narendra Kumar Gutta			      compatible = "cache";
7460378f1aSVenkata Narendra Kumar Gutta			      next-level-cache = <&L3_0>;
7560378f1aSVenkata Narendra Kumar Gutta			};
7660378f1aSVenkata Narendra Kumar Gutta		};
7760378f1aSVenkata Narendra Kumar Gutta
7860378f1aSVenkata Narendra Kumar Gutta		CPU3: cpu@300 {
7960378f1aSVenkata Narendra Kumar Gutta			device_type = "cpu";
8060378f1aSVenkata Narendra Kumar Gutta			compatible = "qcom,kryo485";
8160378f1aSVenkata Narendra Kumar Gutta			reg = <0x0 0x300>;
8260378f1aSVenkata Narendra Kumar Gutta			enable-method = "psci";
8360378f1aSVenkata Narendra Kumar Gutta			next-level-cache = <&L2_300>;
8460378f1aSVenkata Narendra Kumar Gutta			L2_300: l2-cache {
8560378f1aSVenkata Narendra Kumar Gutta			      compatible = "cache";
8660378f1aSVenkata Narendra Kumar Gutta			      next-level-cache = <&L3_0>;
8760378f1aSVenkata Narendra Kumar Gutta			};
8860378f1aSVenkata Narendra Kumar Gutta		};
8960378f1aSVenkata Narendra Kumar Gutta
9060378f1aSVenkata Narendra Kumar Gutta		CPU4: cpu@400 {
9160378f1aSVenkata Narendra Kumar Gutta			device_type = "cpu";
9260378f1aSVenkata Narendra Kumar Gutta			compatible = "qcom,kryo485";
9360378f1aSVenkata Narendra Kumar Gutta			reg = <0x0 0x400>;
9460378f1aSVenkata Narendra Kumar Gutta			enable-method = "psci";
9560378f1aSVenkata Narendra Kumar Gutta			next-level-cache = <&L2_400>;
9660378f1aSVenkata Narendra Kumar Gutta			L2_400: l2-cache {
9760378f1aSVenkata Narendra Kumar Gutta			      compatible = "cache";
9860378f1aSVenkata Narendra Kumar Gutta			      next-level-cache = <&L3_0>;
9960378f1aSVenkata Narendra Kumar Gutta			};
10060378f1aSVenkata Narendra Kumar Gutta		};
10160378f1aSVenkata Narendra Kumar Gutta
10260378f1aSVenkata Narendra Kumar Gutta		CPU5: cpu@500 {
10360378f1aSVenkata Narendra Kumar Gutta			device_type = "cpu";
10460378f1aSVenkata Narendra Kumar Gutta			compatible = "qcom,kryo485";
10560378f1aSVenkata Narendra Kumar Gutta			reg = <0x0 0x500>;
10660378f1aSVenkata Narendra Kumar Gutta			enable-method = "psci";
10760378f1aSVenkata Narendra Kumar Gutta			next-level-cache = <&L2_500>;
10860378f1aSVenkata Narendra Kumar Gutta			L2_500: l2-cache {
10960378f1aSVenkata Narendra Kumar Gutta			      compatible = "cache";
11060378f1aSVenkata Narendra Kumar Gutta			      next-level-cache = <&L3_0>;
11160378f1aSVenkata Narendra Kumar Gutta			};
11260378f1aSVenkata Narendra Kumar Gutta
11360378f1aSVenkata Narendra Kumar Gutta		};
11460378f1aSVenkata Narendra Kumar Gutta
11560378f1aSVenkata Narendra Kumar Gutta		CPU6: cpu@600 {
11660378f1aSVenkata Narendra Kumar Gutta			device_type = "cpu";
11760378f1aSVenkata Narendra Kumar Gutta			compatible = "qcom,kryo485";
11860378f1aSVenkata Narendra Kumar Gutta			reg = <0x0 0x600>;
11960378f1aSVenkata Narendra Kumar Gutta			enable-method = "psci";
12060378f1aSVenkata Narendra Kumar Gutta			next-level-cache = <&L2_600>;
12160378f1aSVenkata Narendra Kumar Gutta			L2_600: l2-cache {
12260378f1aSVenkata Narendra Kumar Gutta			      compatible = "cache";
12360378f1aSVenkata Narendra Kumar Gutta			      next-level-cache = <&L3_0>;
12460378f1aSVenkata Narendra Kumar Gutta			};
12560378f1aSVenkata Narendra Kumar Gutta		};
12660378f1aSVenkata Narendra Kumar Gutta
12760378f1aSVenkata Narendra Kumar Gutta		CPU7: cpu@700 {
12860378f1aSVenkata Narendra Kumar Gutta			device_type = "cpu";
12960378f1aSVenkata Narendra Kumar Gutta			compatible = "qcom,kryo485";
13060378f1aSVenkata Narendra Kumar Gutta			reg = <0x0 0x700>;
13160378f1aSVenkata Narendra Kumar Gutta			enable-method = "psci";
13260378f1aSVenkata Narendra Kumar Gutta			next-level-cache = <&L2_700>;
13360378f1aSVenkata Narendra Kumar Gutta			L2_700: l2-cache {
13460378f1aSVenkata Narendra Kumar Gutta			      compatible = "cache";
13560378f1aSVenkata Narendra Kumar Gutta			      next-level-cache = <&L3_0>;
13660378f1aSVenkata Narendra Kumar Gutta			};
13760378f1aSVenkata Narendra Kumar Gutta		};
13860378f1aSVenkata Narendra Kumar Gutta	};
13960378f1aSVenkata Narendra Kumar Gutta
14060378f1aSVenkata Narendra Kumar Gutta	firmware {
14160378f1aSVenkata Narendra Kumar Gutta		scm: scm {
14260378f1aSVenkata Narendra Kumar Gutta			compatible = "qcom,scm";
14360378f1aSVenkata Narendra Kumar Gutta			#reset-cells = <1>;
14460378f1aSVenkata Narendra Kumar Gutta		};
14560378f1aSVenkata Narendra Kumar Gutta	};
14660378f1aSVenkata Narendra Kumar Gutta
14760378f1aSVenkata Narendra Kumar Gutta	tcsr_mutex: hwlock {
14860378f1aSVenkata Narendra Kumar Gutta		compatible = "qcom,tcsr-mutex";
14960378f1aSVenkata Narendra Kumar Gutta		syscon = <&tcsr_mutex_regs 0 0x1000>;
15060378f1aSVenkata Narendra Kumar Gutta		#hwlock-cells = <1>;
15160378f1aSVenkata Narendra Kumar Gutta	};
15260378f1aSVenkata Narendra Kumar Gutta
15360378f1aSVenkata Narendra Kumar Gutta	memory@80000000 {
15460378f1aSVenkata Narendra Kumar Gutta		device_type = "memory";
15560378f1aSVenkata Narendra Kumar Gutta		/* We expect the bootloader to fill in the size */
15660378f1aSVenkata Narendra Kumar Gutta		reg = <0x0 0x80000000 0x0 0x0>;
15760378f1aSVenkata Narendra Kumar Gutta	};
15860378f1aSVenkata Narendra Kumar Gutta
15960378f1aSVenkata Narendra Kumar Gutta	pmu {
16060378f1aSVenkata Narendra Kumar Gutta		compatible = "arm,armv8-pmuv3";
16160378f1aSVenkata Narendra Kumar Gutta		interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH>;
16260378f1aSVenkata Narendra Kumar Gutta	};
16360378f1aSVenkata Narendra Kumar Gutta
16460378f1aSVenkata Narendra Kumar Gutta	psci {
16560378f1aSVenkata Narendra Kumar Gutta		compatible = "arm,psci-1.0";
16660378f1aSVenkata Narendra Kumar Gutta		method = "smc";
16760378f1aSVenkata Narendra Kumar Gutta	};
16860378f1aSVenkata Narendra Kumar Gutta
16960378f1aSVenkata Narendra Kumar Gutta	reserved-memory {
17060378f1aSVenkata Narendra Kumar Gutta		#address-cells = <2>;
17160378f1aSVenkata Narendra Kumar Gutta		#size-cells = <2>;
17260378f1aSVenkata Narendra Kumar Gutta		ranges;
17360378f1aSVenkata Narendra Kumar Gutta
17460378f1aSVenkata Narendra Kumar Gutta		hyp_mem: memory@80000000 {
17560378f1aSVenkata Narendra Kumar Gutta			reg = <0x0 0x80000000 0x0 0x600000>;
17660378f1aSVenkata Narendra Kumar Gutta			no-map;
17760378f1aSVenkata Narendra Kumar Gutta		};
17860378f1aSVenkata Narendra Kumar Gutta
17960378f1aSVenkata Narendra Kumar Gutta		xbl_aop_mem: memory@80700000 {
18060378f1aSVenkata Narendra Kumar Gutta			reg = <0x0 0x80700000 0x0 0x160000>;
18160378f1aSVenkata Narendra Kumar Gutta			no-map;
18260378f1aSVenkata Narendra Kumar Gutta		};
18360378f1aSVenkata Narendra Kumar Gutta
18460378f1aSVenkata Narendra Kumar Gutta		cmd_db: memory@80860000 {
18560378f1aSVenkata Narendra Kumar Gutta			compatible = "qcom,cmd-db";
18660378f1aSVenkata Narendra Kumar Gutta			reg = <0x0 0x80860000 0x0 0x20000>;
18760378f1aSVenkata Narendra Kumar Gutta			no-map;
18860378f1aSVenkata Narendra Kumar Gutta		};
18960378f1aSVenkata Narendra Kumar Gutta
19060378f1aSVenkata Narendra Kumar Gutta		smem_mem: memory@80900000 {
19160378f1aSVenkata Narendra Kumar Gutta			reg = <0x0 0x80900000 0x0 0x200000>;
19260378f1aSVenkata Narendra Kumar Gutta			no-map;
19360378f1aSVenkata Narendra Kumar Gutta		};
19460378f1aSVenkata Narendra Kumar Gutta
19560378f1aSVenkata Narendra Kumar Gutta		removed_mem: memory@80b00000 {
19660378f1aSVenkata Narendra Kumar Gutta			reg = <0x0 0x80b00000 0x0 0x5300000>;
19760378f1aSVenkata Narendra Kumar Gutta			no-map;
19860378f1aSVenkata Narendra Kumar Gutta		};
19960378f1aSVenkata Narendra Kumar Gutta
20060378f1aSVenkata Narendra Kumar Gutta		camera_mem: memory@86200000 {
20160378f1aSVenkata Narendra Kumar Gutta			reg = <0x0 0x86200000 0x0 0x500000>;
20260378f1aSVenkata Narendra Kumar Gutta			no-map;
20360378f1aSVenkata Narendra Kumar Gutta		};
20460378f1aSVenkata Narendra Kumar Gutta
20560378f1aSVenkata Narendra Kumar Gutta		wlan_mem: memory@86700000 {
20660378f1aSVenkata Narendra Kumar Gutta			reg = <0x0 0x86700000 0x0 0x100000>;
20760378f1aSVenkata Narendra Kumar Gutta			no-map;
20860378f1aSVenkata Narendra Kumar Gutta		};
20960378f1aSVenkata Narendra Kumar Gutta
21060378f1aSVenkata Narendra Kumar Gutta		ipa_fw_mem: memory@86800000 {
21160378f1aSVenkata Narendra Kumar Gutta			reg = <0x0 0x86800000 0x0 0x10000>;
21260378f1aSVenkata Narendra Kumar Gutta			no-map;
21360378f1aSVenkata Narendra Kumar Gutta		};
21460378f1aSVenkata Narendra Kumar Gutta
21560378f1aSVenkata Narendra Kumar Gutta		ipa_gsi_mem: memory@86810000 {
21660378f1aSVenkata Narendra Kumar Gutta			reg = <0x0 0x86810000 0x0 0xa000>;
21760378f1aSVenkata Narendra Kumar Gutta			no-map;
21860378f1aSVenkata Narendra Kumar Gutta		};
21960378f1aSVenkata Narendra Kumar Gutta
22060378f1aSVenkata Narendra Kumar Gutta		gpu_mem: memory@8681a000 {
22160378f1aSVenkata Narendra Kumar Gutta			reg = <0x0 0x8681a000 0x0 0x2000>;
22260378f1aSVenkata Narendra Kumar Gutta			no-map;
22360378f1aSVenkata Narendra Kumar Gutta		};
22460378f1aSVenkata Narendra Kumar Gutta
22560378f1aSVenkata Narendra Kumar Gutta		npu_mem: memory@86900000 {
22660378f1aSVenkata Narendra Kumar Gutta			reg = <0x0 0x86900000 0x0 0x500000>;
22760378f1aSVenkata Narendra Kumar Gutta			no-map;
22860378f1aSVenkata Narendra Kumar Gutta		};
22960378f1aSVenkata Narendra Kumar Gutta
23060378f1aSVenkata Narendra Kumar Gutta		video_mem: memory@86e00000 {
23160378f1aSVenkata Narendra Kumar Gutta			reg = <0x0 0x86e00000 0x0 0x500000>;
23260378f1aSVenkata Narendra Kumar Gutta			no-map;
23360378f1aSVenkata Narendra Kumar Gutta		};
23460378f1aSVenkata Narendra Kumar Gutta
23560378f1aSVenkata Narendra Kumar Gutta		cvp_mem: memory@87300000 {
23660378f1aSVenkata Narendra Kumar Gutta			reg = <0x0 0x87300000 0x0 0x500000>;
23760378f1aSVenkata Narendra Kumar Gutta			no-map;
23860378f1aSVenkata Narendra Kumar Gutta		};
23960378f1aSVenkata Narendra Kumar Gutta
24060378f1aSVenkata Narendra Kumar Gutta		cdsp_mem: memory@87800000 {
24160378f1aSVenkata Narendra Kumar Gutta			reg = <0x0 0x87800000 0x0 0x1400000>;
24260378f1aSVenkata Narendra Kumar Gutta			no-map;
24360378f1aSVenkata Narendra Kumar Gutta		};
24460378f1aSVenkata Narendra Kumar Gutta
24560378f1aSVenkata Narendra Kumar Gutta		slpi_mem: memory@88c00000 {
24660378f1aSVenkata Narendra Kumar Gutta			reg = <0x0 0x88c00000 0x0 0x1500000>;
24760378f1aSVenkata Narendra Kumar Gutta			no-map;
24860378f1aSVenkata Narendra Kumar Gutta		};
24960378f1aSVenkata Narendra Kumar Gutta
25060378f1aSVenkata Narendra Kumar Gutta		adsp_mem: memory@8a100000 {
25160378f1aSVenkata Narendra Kumar Gutta			reg = <0x0 0x8a100000 0x0 0x1d00000>;
25260378f1aSVenkata Narendra Kumar Gutta			no-map;
25360378f1aSVenkata Narendra Kumar Gutta		};
25460378f1aSVenkata Narendra Kumar Gutta
25560378f1aSVenkata Narendra Kumar Gutta		spss_mem: memory@8be00000 {
25660378f1aSVenkata Narendra Kumar Gutta			reg = <0x0 0x8be00000 0x0 0x100000>;
25760378f1aSVenkata Narendra Kumar Gutta			no-map;
25860378f1aSVenkata Narendra Kumar Gutta		};
25960378f1aSVenkata Narendra Kumar Gutta
26060378f1aSVenkata Narendra Kumar Gutta		cdsp_secure_heap: memory@8bf00000 {
26160378f1aSVenkata Narendra Kumar Gutta			reg = <0x0 0x8bf00000 0x0 0x4600000>;
26260378f1aSVenkata Narendra Kumar Gutta			no-map;
26360378f1aSVenkata Narendra Kumar Gutta		};
26460378f1aSVenkata Narendra Kumar Gutta	};
26560378f1aSVenkata Narendra Kumar Gutta
26660378f1aSVenkata Narendra Kumar Gutta	smem: qcom,smem {
26760378f1aSVenkata Narendra Kumar Gutta		compatible = "qcom,smem";
26860378f1aSVenkata Narendra Kumar Gutta		memory-region = <&smem_mem>;
26960378f1aSVenkata Narendra Kumar Gutta		hwlocks = <&tcsr_mutex 3>;
27060378f1aSVenkata Narendra Kumar Gutta	};
27160378f1aSVenkata Narendra Kumar Gutta
27260378f1aSVenkata Narendra Kumar Gutta	soc: soc@0 {
27360378f1aSVenkata Narendra Kumar Gutta		#address-cells = <2>;
27460378f1aSVenkata Narendra Kumar Gutta		#size-cells = <2>;
27560378f1aSVenkata Narendra Kumar Gutta		ranges = <0 0 0 0 0x10 0>;
27660378f1aSVenkata Narendra Kumar Gutta		dma-ranges = <0 0 0 0 0x10 0>;
27760378f1aSVenkata Narendra Kumar Gutta		compatible = "simple-bus";
27860378f1aSVenkata Narendra Kumar Gutta
27960378f1aSVenkata Narendra Kumar Gutta		gcc: clock-controller@100000 {
28060378f1aSVenkata Narendra Kumar Gutta			compatible = "qcom,gcc-sm8250";
28160378f1aSVenkata Narendra Kumar Gutta			reg = <0x0 0x00100000 0x0 0x1f0000>;
28260378f1aSVenkata Narendra Kumar Gutta			#clock-cells = <1>;
28360378f1aSVenkata Narendra Kumar Gutta			#reset-cells = <1>;
28460378f1aSVenkata Narendra Kumar Gutta			#power-domain-cells = <1>;
28560378f1aSVenkata Narendra Kumar Gutta			clock-names = "bi_tcxo", "sleep_clk";
28660378f1aSVenkata Narendra Kumar Gutta			clocks = <&rpmhcc RPMH_CXO_CLK>, <&sleep_clk>;
28760378f1aSVenkata Narendra Kumar Gutta		};
28860378f1aSVenkata Narendra Kumar Gutta
28960378f1aSVenkata Narendra Kumar Gutta		qupv3_id_1: geniqup@ac0000 {
29060378f1aSVenkata Narendra Kumar Gutta			compatible = "qcom,geni-se-qup";
29160378f1aSVenkata Narendra Kumar Gutta			reg = <0x0 0x00ac0000 0x0 0x6000>;
29260378f1aSVenkata Narendra Kumar Gutta			clock-names = "m-ahb", "s-ahb";
293fe3dfc25SJonathan Marek			clocks = <&gcc GCC_QUPV3_WRAP_1_M_AHB_CLK>,
294fe3dfc25SJonathan Marek				 <&gcc GCC_QUPV3_WRAP_1_S_AHB_CLK>;
29560378f1aSVenkata Narendra Kumar Gutta			#address-cells = <2>;
29660378f1aSVenkata Narendra Kumar Gutta			#size-cells = <2>;
29760378f1aSVenkata Narendra Kumar Gutta			ranges;
29860378f1aSVenkata Narendra Kumar Gutta			status = "disabled";
29960378f1aSVenkata Narendra Kumar Gutta
30060378f1aSVenkata Narendra Kumar Gutta			uart2: serial@a90000 {
30160378f1aSVenkata Narendra Kumar Gutta				compatible = "qcom,geni-debug-uart";
30260378f1aSVenkata Narendra Kumar Gutta				reg = <0x0 0x00a90000 0x0 0x4000>;
30360378f1aSVenkata Narendra Kumar Gutta				clock-names = "se";
304fe3dfc25SJonathan Marek				clocks = <&gcc GCC_QUPV3_WRAP1_S4_CLK>;
30560378f1aSVenkata Narendra Kumar Gutta				interrupts = <GIC_SPI 357 IRQ_TYPE_LEVEL_HIGH>;
30660378f1aSVenkata Narendra Kumar Gutta				status = "disabled";
30760378f1aSVenkata Narendra Kumar Gutta			};
30860378f1aSVenkata Narendra Kumar Gutta		};
30960378f1aSVenkata Narendra Kumar Gutta
310b7e2fba0SBryan O'Donoghue		ufs_mem_hc: ufs@1d84000 {
311b7e2fba0SBryan O'Donoghue			compatible = "qcom,sm8250-ufshc", "qcom,ufshc",
312b7e2fba0SBryan O'Donoghue				     "jedec,ufs-2.0";
313b7e2fba0SBryan O'Donoghue			reg = <0 0x01d84000 0 0x3000>;
314b7e2fba0SBryan O'Donoghue			interrupts = <GIC_SPI 265 IRQ_TYPE_LEVEL_HIGH>;
315b7e2fba0SBryan O'Donoghue			phys = <&ufs_mem_phy_lanes>;
316b7e2fba0SBryan O'Donoghue			phy-names = "ufsphy";
317b7e2fba0SBryan O'Donoghue			lanes-per-direction = <2>;
318b7e2fba0SBryan O'Donoghue			#reset-cells = <1>;
319b7e2fba0SBryan O'Donoghue			resets = <&gcc GCC_UFS_PHY_BCR>;
320b7e2fba0SBryan O'Donoghue			reset-names = "rst";
321b7e2fba0SBryan O'Donoghue
322b7e2fba0SBryan O'Donoghue			power-domains = <&gcc UFS_PHY_GDSC>;
323b7e2fba0SBryan O'Donoghue
324b7e2fba0SBryan O'Donoghue			clock-names =
325b7e2fba0SBryan O'Donoghue				"core_clk",
326b7e2fba0SBryan O'Donoghue				"bus_aggr_clk",
327b7e2fba0SBryan O'Donoghue				"iface_clk",
328b7e2fba0SBryan O'Donoghue				"core_clk_unipro",
329b7e2fba0SBryan O'Donoghue				"ref_clk",
330b7e2fba0SBryan O'Donoghue				"tx_lane0_sync_clk",
331b7e2fba0SBryan O'Donoghue				"rx_lane0_sync_clk",
332b7e2fba0SBryan O'Donoghue				"rx_lane1_sync_clk";
333b7e2fba0SBryan O'Donoghue			clocks =
334b7e2fba0SBryan O'Donoghue				<&gcc GCC_UFS_PHY_AXI_CLK>,
335b7e2fba0SBryan O'Donoghue				<&gcc GCC_AGGRE_UFS_PHY_AXI_CLK>,
336b7e2fba0SBryan O'Donoghue				<&gcc GCC_UFS_PHY_AHB_CLK>,
337b7e2fba0SBryan O'Donoghue				<&gcc GCC_UFS_PHY_UNIPRO_CORE_CLK>,
338b7e2fba0SBryan O'Donoghue				<&rpmhcc RPMH_CXO_CLK>,
339b7e2fba0SBryan O'Donoghue				<&gcc GCC_UFS_PHY_TX_SYMBOL_0_CLK>,
340b7e2fba0SBryan O'Donoghue				<&gcc GCC_UFS_PHY_RX_SYMBOL_0_CLK>,
341b7e2fba0SBryan O'Donoghue				<&gcc GCC_UFS_PHY_RX_SYMBOL_1_CLK>;
342b7e2fba0SBryan O'Donoghue			freq-table-hz =
343b7e2fba0SBryan O'Donoghue				<37500000 300000000>,
344b7e2fba0SBryan O'Donoghue				<0 0>,
345b7e2fba0SBryan O'Donoghue				<0 0>,
346b7e2fba0SBryan O'Donoghue				<37500000 300000000>,
347b7e2fba0SBryan O'Donoghue				<0 0>,
348b7e2fba0SBryan O'Donoghue				<0 0>,
349b7e2fba0SBryan O'Donoghue				<0 0>,
350b7e2fba0SBryan O'Donoghue				<0 0>;
351b7e2fba0SBryan O'Donoghue
352b7e2fba0SBryan O'Donoghue			status = "disabled";
353b7e2fba0SBryan O'Donoghue		};
354b7e2fba0SBryan O'Donoghue
355b7e2fba0SBryan O'Donoghue		ufs_mem_phy: phy@1d87000 {
356b7e2fba0SBryan O'Donoghue			compatible = "qcom,sm8250-qmp-ufs-phy";
357b7e2fba0SBryan O'Donoghue			reg = <0 0x01d87000 0 0x1c0>;
358b7e2fba0SBryan O'Donoghue			#address-cells = <2>;
359b7e2fba0SBryan O'Donoghue			#size-cells = <2>;
360b7e2fba0SBryan O'Donoghue			ranges;
361b7e2fba0SBryan O'Donoghue			clock-names = "ref",
362b7e2fba0SBryan O'Donoghue				      "ref_aux";
363b7e2fba0SBryan O'Donoghue			clocks = <&rpmhcc RPMH_CXO_CLK>,
364b7e2fba0SBryan O'Donoghue				 <&gcc GCC_UFS_PHY_PHY_AUX_CLK>;
365b7e2fba0SBryan O'Donoghue
366b7e2fba0SBryan O'Donoghue			resets = <&ufs_mem_hc 0>;
367b7e2fba0SBryan O'Donoghue			reset-names = "ufsphy";
368b7e2fba0SBryan O'Donoghue			status = "disabled";
369b7e2fba0SBryan O'Donoghue
370b7e2fba0SBryan O'Donoghue			ufs_mem_phy_lanes: lanes@1d87400 {
371b7e2fba0SBryan O'Donoghue				reg = <0 0x01d87400 0 0x108>,
372b7e2fba0SBryan O'Donoghue				      <0 0x01d87600 0 0x1e0>,
373b7e2fba0SBryan O'Donoghue				      <0 0x01d87c00 0 0x1dc>,
374b7e2fba0SBryan O'Donoghue				      <0 0x01d87800 0 0x108>,
375b7e2fba0SBryan O'Donoghue				      <0 0x01d87a00 0 0x1e0>;
376b7e2fba0SBryan O'Donoghue				#phy-cells = <0>;
377b7e2fba0SBryan O'Donoghue			};
378b7e2fba0SBryan O'Donoghue		};
379b7e2fba0SBryan O'Donoghue
38060378f1aSVenkata Narendra Kumar Gutta		intc: interrupt-controller@17a00000 {
38160378f1aSVenkata Narendra Kumar Gutta			compatible = "arm,gic-v3";
38260378f1aSVenkata Narendra Kumar Gutta			#interrupt-cells = <3>;
38360378f1aSVenkata Narendra Kumar Gutta			interrupt-controller;
38460378f1aSVenkata Narendra Kumar Gutta			reg = <0x0 0x17a00000 0x0 0x10000>,     /* GICD */
38560378f1aSVenkata Narendra Kumar Gutta			      <0x0 0x17a60000 0x0 0x100000>;    /* GICR * 8 */
38660378f1aSVenkata Narendra Kumar Gutta			interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
38760378f1aSVenkata Narendra Kumar Gutta		};
38860378f1aSVenkata Narendra Kumar Gutta
38960378f1aSVenkata Narendra Kumar Gutta		pdc: interrupt-controller@b220000 {
39024003196SBjorn Andersson			compatible = "qcom,sm8250-pdc", "qcom,pdc";
39124003196SBjorn Andersson			reg = <0 0x0b220000 0 0x30000>, <0 0x17c000f0 0 0x60>;
39260378f1aSVenkata Narendra Kumar Gutta			qcom,pdc-ranges = <0 480 94>, <94 609 31>,
39360378f1aSVenkata Narendra Kumar Gutta					  <125 63 1>, <126 716 12>;
39460378f1aSVenkata Narendra Kumar Gutta			#interrupt-cells = <2>;
39560378f1aSVenkata Narendra Kumar Gutta			interrupt-parent = <&intc>;
39660378f1aSVenkata Narendra Kumar Gutta			interrupt-controller;
39760378f1aSVenkata Narendra Kumar Gutta		};
39860378f1aSVenkata Narendra Kumar Gutta
399bccc7dd2SJonathan Marek		spmi_bus: spmi@c440000 {
40060378f1aSVenkata Narendra Kumar Gutta			compatible = "qcom,spmi-pmic-arb";
40160378f1aSVenkata Narendra Kumar Gutta			reg = <0x0 0x0c440000 0x0 0x0001100>,
40260378f1aSVenkata Narendra Kumar Gutta			      <0x0 0x0c600000 0x0 0x2000000>,
40360378f1aSVenkata Narendra Kumar Gutta			      <0x0 0x0e600000 0x0 0x0100000>,
40460378f1aSVenkata Narendra Kumar Gutta			      <0x0 0x0e700000 0x0 0x00a0000>,
40560378f1aSVenkata Narendra Kumar Gutta			      <0x0 0x0c40a000 0x0 0x0026000>;
40660378f1aSVenkata Narendra Kumar Gutta			reg-names = "core", "chnls", "obsrvr", "intr", "cnfg";
40760378f1aSVenkata Narendra Kumar Gutta			interrupt-names = "periph_irq";
40860378f1aSVenkata Narendra Kumar Gutta			interrupts-extended = <&pdc 1 IRQ_TYPE_LEVEL_HIGH>;
40960378f1aSVenkata Narendra Kumar Gutta			qcom,ee = <0>;
41060378f1aSVenkata Narendra Kumar Gutta			qcom,channel = <0>;
41160378f1aSVenkata Narendra Kumar Gutta			#address-cells = <2>;
41260378f1aSVenkata Narendra Kumar Gutta			#size-cells = <0>;
41360378f1aSVenkata Narendra Kumar Gutta			interrupt-controller;
41460378f1aSVenkata Narendra Kumar Gutta			#interrupt-cells = <4>;
41560378f1aSVenkata Narendra Kumar Gutta		};
41660378f1aSVenkata Narendra Kumar Gutta
41760378f1aSVenkata Narendra Kumar Gutta		apps_rsc: rsc@18200000 {
41860378f1aSVenkata Narendra Kumar Gutta			label = "apps_rsc";
41960378f1aSVenkata Narendra Kumar Gutta			compatible = "qcom,rpmh-rsc";
42060378f1aSVenkata Narendra Kumar Gutta			reg = <0x0 0x18200000 0x0 0x10000>,
42160378f1aSVenkata Narendra Kumar Gutta				<0x0 0x18210000 0x0 0x10000>,
42260378f1aSVenkata Narendra Kumar Gutta				<0x0 0x18220000 0x0 0x10000>;
42360378f1aSVenkata Narendra Kumar Gutta			reg-names = "drv-0", "drv-1", "drv-2";
42460378f1aSVenkata Narendra Kumar Gutta			interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
42560378f1aSVenkata Narendra Kumar Gutta				     <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
42660378f1aSVenkata Narendra Kumar Gutta				     <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
42760378f1aSVenkata Narendra Kumar Gutta			qcom,tcs-offset = <0xd00>;
42860378f1aSVenkata Narendra Kumar Gutta			qcom,drv-id = <2>;
42960378f1aSVenkata Narendra Kumar Gutta			qcom,tcs-config = <ACTIVE_TCS  2>, <SLEEP_TCS   3>,
43060378f1aSVenkata Narendra Kumar Gutta					  <WAKE_TCS    3>, <CONTROL_TCS 1>;
43160378f1aSVenkata Narendra Kumar Gutta
43260378f1aSVenkata Narendra Kumar Gutta			rpmhcc: clock-controller {
43360378f1aSVenkata Narendra Kumar Gutta				compatible = "qcom,sm8250-rpmh-clk";
43460378f1aSVenkata Narendra Kumar Gutta				#clock-cells = <1>;
43560378f1aSVenkata Narendra Kumar Gutta				clock-names = "xo";
43660378f1aSVenkata Narendra Kumar Gutta				clocks = <&xo_board>;
43760378f1aSVenkata Narendra Kumar Gutta			};
438b6f78e27SBjorn Andersson
439b6f78e27SBjorn Andersson			rpmhpd: power-controller {
440b6f78e27SBjorn Andersson				compatible = "qcom,sm8250-rpmhpd";
441b6f78e27SBjorn Andersson				#power-domain-cells = <1>;
442b6f78e27SBjorn Andersson				operating-points-v2 = <&rpmhpd_opp_table>;
443b6f78e27SBjorn Andersson
444b6f78e27SBjorn Andersson				rpmhpd_opp_table: opp-table {
445b6f78e27SBjorn Andersson					compatible = "operating-points-v2";
446b6f78e27SBjorn Andersson
447b6f78e27SBjorn Andersson					rpmhpd_opp_ret: opp1 {
448b6f78e27SBjorn Andersson						opp-level = <RPMH_REGULATOR_LEVEL_RETENTION>;
449b6f78e27SBjorn Andersson					};
450b6f78e27SBjorn Andersson
451b6f78e27SBjorn Andersson					rpmhpd_opp_min_svs: opp2 {
452b6f78e27SBjorn Andersson						opp-level = <RPMH_REGULATOR_LEVEL_MIN_SVS>;
453b6f78e27SBjorn Andersson					};
454b6f78e27SBjorn Andersson
455b6f78e27SBjorn Andersson					rpmhpd_opp_low_svs: opp3 {
456b6f78e27SBjorn Andersson						opp-level = <RPMH_REGULATOR_LEVEL_LOW_SVS>;
457b6f78e27SBjorn Andersson					};
458b6f78e27SBjorn Andersson
459b6f78e27SBjorn Andersson					rpmhpd_opp_svs: opp4 {
460b6f78e27SBjorn Andersson						opp-level = <RPMH_REGULATOR_LEVEL_SVS>;
461b6f78e27SBjorn Andersson					};
462b6f78e27SBjorn Andersson
463b6f78e27SBjorn Andersson					rpmhpd_opp_svs_l1: opp5 {
464b6f78e27SBjorn Andersson						opp-level = <RPMH_REGULATOR_LEVEL_SVS_L1>;
465b6f78e27SBjorn Andersson					};
466b6f78e27SBjorn Andersson
467b6f78e27SBjorn Andersson					rpmhpd_opp_nom: opp6 {
468b6f78e27SBjorn Andersson						opp-level = <RPMH_REGULATOR_LEVEL_NOM>;
469b6f78e27SBjorn Andersson					};
470b6f78e27SBjorn Andersson
471b6f78e27SBjorn Andersson					rpmhpd_opp_nom_l1: opp7 {
472b6f78e27SBjorn Andersson						opp-level = <RPMH_REGULATOR_LEVEL_NOM_L1>;
473b6f78e27SBjorn Andersson					};
474b6f78e27SBjorn Andersson
475b6f78e27SBjorn Andersson					rpmhpd_opp_nom_l2: opp8 {
476b6f78e27SBjorn Andersson						opp-level = <RPMH_REGULATOR_LEVEL_NOM_L2>;
477b6f78e27SBjorn Andersson					};
478b6f78e27SBjorn Andersson
479b6f78e27SBjorn Andersson					rpmhpd_opp_turbo: opp9 {
480b6f78e27SBjorn Andersson						opp-level = <RPMH_REGULATOR_LEVEL_TURBO>;
481b6f78e27SBjorn Andersson					};
482b6f78e27SBjorn Andersson
483b6f78e27SBjorn Andersson					rpmhpd_opp_turbo_l1: opp10 {
484b6f78e27SBjorn Andersson						opp-level = <RPMH_REGULATOR_LEVEL_TURBO_L1>;
485b6f78e27SBjorn Andersson					};
486b6f78e27SBjorn Andersson				};
487b6f78e27SBjorn Andersson			};
48860378f1aSVenkata Narendra Kumar Gutta		};
48960378f1aSVenkata Narendra Kumar Gutta
49060378f1aSVenkata Narendra Kumar Gutta		tcsr_mutex_regs: syscon@1f40000 {
49160378f1aSVenkata Narendra Kumar Gutta			compatible = "syscon";
49260378f1aSVenkata Narendra Kumar Gutta			reg = <0x0 0x01f40000 0x0 0x40000>;
49360378f1aSVenkata Narendra Kumar Gutta		};
49460378f1aSVenkata Narendra Kumar Gutta
49560378f1aSVenkata Narendra Kumar Gutta		timer@17c20000 {
49660378f1aSVenkata Narendra Kumar Gutta			#address-cells = <2>;
49760378f1aSVenkata Narendra Kumar Gutta			#size-cells = <2>;
49860378f1aSVenkata Narendra Kumar Gutta			ranges;
49960378f1aSVenkata Narendra Kumar Gutta			compatible = "arm,armv7-timer-mem";
50060378f1aSVenkata Narendra Kumar Gutta			reg = <0x0 0x17c20000 0x0 0x1000>;
50160378f1aSVenkata Narendra Kumar Gutta			clock-frequency = <19200000>;
50260378f1aSVenkata Narendra Kumar Gutta
50360378f1aSVenkata Narendra Kumar Gutta			frame@17c21000 {
50460378f1aSVenkata Narendra Kumar Gutta				frame-number = <0>;
50560378f1aSVenkata Narendra Kumar Gutta				interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
50660378f1aSVenkata Narendra Kumar Gutta					     <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
50760378f1aSVenkata Narendra Kumar Gutta				reg = <0x0 0x17c21000 0x0 0x1000>,
50860378f1aSVenkata Narendra Kumar Gutta				      <0x0 0x17c22000 0x0 0x1000>;
50960378f1aSVenkata Narendra Kumar Gutta			};
51060378f1aSVenkata Narendra Kumar Gutta
51160378f1aSVenkata Narendra Kumar Gutta			frame@17c23000 {
51260378f1aSVenkata Narendra Kumar Gutta				frame-number = <1>;
51360378f1aSVenkata Narendra Kumar Gutta				interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
51460378f1aSVenkata Narendra Kumar Gutta				reg = <0x0 0x17c23000 0x0 0x1000>;
51560378f1aSVenkata Narendra Kumar Gutta				status = "disabled";
51660378f1aSVenkata Narendra Kumar Gutta			};
51760378f1aSVenkata Narendra Kumar Gutta
51860378f1aSVenkata Narendra Kumar Gutta			frame@17c25000 {
51960378f1aSVenkata Narendra Kumar Gutta				frame-number = <2>;
52060378f1aSVenkata Narendra Kumar Gutta				interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
52160378f1aSVenkata Narendra Kumar Gutta				reg = <0x0 0x17c25000 0x0 0x1000>;
52260378f1aSVenkata Narendra Kumar Gutta				status = "disabled";
52360378f1aSVenkata Narendra Kumar Gutta			};
52460378f1aSVenkata Narendra Kumar Gutta
52560378f1aSVenkata Narendra Kumar Gutta			frame@17c27000 {
52660378f1aSVenkata Narendra Kumar Gutta				frame-number = <3>;
52760378f1aSVenkata Narendra Kumar Gutta				interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
52860378f1aSVenkata Narendra Kumar Gutta				reg = <0x0 0x17c27000 0x0 0x1000>;
52960378f1aSVenkata Narendra Kumar Gutta				status = "disabled";
53060378f1aSVenkata Narendra Kumar Gutta			};
53160378f1aSVenkata Narendra Kumar Gutta
53260378f1aSVenkata Narendra Kumar Gutta			frame@17c29000 {
53360378f1aSVenkata Narendra Kumar Gutta				frame-number = <4>;
53460378f1aSVenkata Narendra Kumar Gutta				interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
53560378f1aSVenkata Narendra Kumar Gutta				reg = <0x0 0x17c29000 0x0 0x1000>;
53660378f1aSVenkata Narendra Kumar Gutta				status = "disabled";
53760378f1aSVenkata Narendra Kumar Gutta			};
53860378f1aSVenkata Narendra Kumar Gutta
53960378f1aSVenkata Narendra Kumar Gutta			frame@17c2b000 {
54060378f1aSVenkata Narendra Kumar Gutta				frame-number = <5>;
54160378f1aSVenkata Narendra Kumar Gutta				interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
54260378f1aSVenkata Narendra Kumar Gutta				reg = <0x0 0x17c2b000 0x0 0x1000>;
54360378f1aSVenkata Narendra Kumar Gutta				status = "disabled";
54460378f1aSVenkata Narendra Kumar Gutta			};
54560378f1aSVenkata Narendra Kumar Gutta
54660378f1aSVenkata Narendra Kumar Gutta			frame@17c2d000 {
54760378f1aSVenkata Narendra Kumar Gutta				frame-number = <6>;
54860378f1aSVenkata Narendra Kumar Gutta				interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
54960378f1aSVenkata Narendra Kumar Gutta				reg = <0x0 0x17c2d000 0x0 0x1000>;
55060378f1aSVenkata Narendra Kumar Gutta				status = "disabled";
55160378f1aSVenkata Narendra Kumar Gutta			};
55260378f1aSVenkata Narendra Kumar Gutta		};
55360378f1aSVenkata Narendra Kumar Gutta
55460378f1aSVenkata Narendra Kumar Gutta	};
55560378f1aSVenkata Narendra Kumar Gutta
55660378f1aSVenkata Narendra Kumar Gutta	timer {
55760378f1aSVenkata Narendra Kumar Gutta		compatible = "arm,armv8-timer";
55860378f1aSVenkata Narendra Kumar Gutta		interrupts = <GIC_PPI 13
55960378f1aSVenkata Narendra Kumar Gutta				(GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
56060378f1aSVenkata Narendra Kumar Gutta			     <GIC_PPI 14
56160378f1aSVenkata Narendra Kumar Gutta				(GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
56260378f1aSVenkata Narendra Kumar Gutta			     <GIC_PPI 11
56360378f1aSVenkata Narendra Kumar Gutta				(GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
56460378f1aSVenkata Narendra Kumar Gutta			     <GIC_PPI 12
56560378f1aSVenkata Narendra Kumar Gutta				(GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>;
56660378f1aSVenkata Narendra Kumar Gutta	};
56760378f1aSVenkata Narendra Kumar Gutta};
568