14807c71cSJoonwoo Park// SPDX-License-Identifier: GPL-2.0
24807c71cSJoonwoo Park/* Copyright (c) 2016, The Linux Foundation. All rights reserved. */
34807c71cSJoonwoo Park
44807c71cSJoonwoo Park#include <dt-bindings/interrupt-controller/arm-gic.h>
54807c71cSJoonwoo Park#include <dt-bindings/clock/qcom,gcc-msm8998.h>
61fb28636SMarc Gonzalez#include <dt-bindings/clock/qcom,rpmcc.h>
723bd4f78SJeffrey Hugo#include <dt-bindings/gpio/gpio.h>
84807c71cSJoonwoo Park
94807c71cSJoonwoo Park/ {
104807c71cSJoonwoo Park	interrupt-parent = <&intc>;
114807c71cSJoonwoo Park
124807c71cSJoonwoo Park	qcom,msm-id = <292 0x0>;
134807c71cSJoonwoo Park
144807c71cSJoonwoo Park	#address-cells = <2>;
154807c71cSJoonwoo Park	#size-cells = <2>;
164807c71cSJoonwoo Park
174807c71cSJoonwoo Park	chosen { };
184807c71cSJoonwoo Park
194807c71cSJoonwoo Park	memory {
204807c71cSJoonwoo Park		device_type = "memory";
214807c71cSJoonwoo Park		/* We expect the bootloader to fill in the reg */
224807c71cSJoonwoo Park		reg = <0 0 0 0>;
234807c71cSJoonwoo Park	};
244807c71cSJoonwoo Park
25c7833949SBjorn Andersson	reserved-memory {
26c7833949SBjorn Andersson		#address-cells = <2>;
27c7833949SBjorn Andersson		#size-cells = <2>;
28c7833949SBjorn Andersson		ranges;
29c7833949SBjorn Andersson
30c7833949SBjorn Andersson		memory@85800000 {
31c7833949SBjorn Andersson			reg = <0x0 0x85800000 0x0 0x800000>;
32c7833949SBjorn Andersson			no-map;
33c7833949SBjorn Andersson		};
34c7833949SBjorn Andersson
35c7833949SBjorn Andersson		smem_mem: smem-mem@86000000 {
36c7833949SBjorn Andersson			reg = <0x0 0x86000000 0x0 0x200000>;
37c7833949SBjorn Andersson			no-map;
38c7833949SBjorn Andersson		};
39c7833949SBjorn Andersson
40c7833949SBjorn Andersson		memory@86200000 {
416e533309SMarc Gonzalez			reg = <0x0 0x86200000 0x0 0x2d00000>;
42c7833949SBjorn Andersson			no-map;
43c7833949SBjorn Andersson		};
44c7833949SBjorn Andersson
45c7833949SBjorn Andersson		rmtfs {
46c7833949SBjorn Andersson			compatible = "qcom,rmtfs-mem";
47c7833949SBjorn Andersson
48c7833949SBjorn Andersson			size = <0x0 0x200000>;
49c7833949SBjorn Andersson			alloc-ranges = <0x0 0xa0000000 0x0 0x2000000>;
50c7833949SBjorn Andersson			no-map;
51c7833949SBjorn Andersson
52c7833949SBjorn Andersson			qcom,client-id = <1>;
53c7833949SBjorn Andersson			qcom,vmid = <15>;
54c7833949SBjorn Andersson		};
55c7833949SBjorn Andersson	};
56c7833949SBjorn Andersson
574807c71cSJoonwoo Park	clocks {
58818046ebSAndy Gross		xo: xo-board {
594807c71cSJoonwoo Park			compatible = "fixed-clock";
604807c71cSJoonwoo Park			#clock-cells = <0>;
614807c71cSJoonwoo Park			clock-frequency = <19200000>;
62818046ebSAndy Gross			clock-output-names = "xo_board";
634807c71cSJoonwoo Park		};
644807c71cSJoonwoo Park
654807c71cSJoonwoo Park		sleep_clk {
664807c71cSJoonwoo Park			compatible = "fixed-clock";
674807c71cSJoonwoo Park			#clock-cells = <0>;
684807c71cSJoonwoo Park			clock-frequency = <32764>;
694807c71cSJoonwoo Park		};
704807c71cSJoonwoo Park	};
714807c71cSJoonwoo Park
724807c71cSJoonwoo Park	cpus {
734807c71cSJoonwoo Park		#address-cells = <2>;
744807c71cSJoonwoo Park		#size-cells = <0>;
754807c71cSJoonwoo Park
764807c71cSJoonwoo Park		CPU0: cpu@0 {
774807c71cSJoonwoo Park			device_type = "cpu";
784807c71cSJoonwoo Park			compatible = "arm,armv8";
794807c71cSJoonwoo Park			reg = <0x0 0x0>;
804807c71cSJoonwoo Park			enable-method = "psci";
814807c71cSJoonwoo Park			efficiency = <1024>;
824807c71cSJoonwoo Park			next-level-cache = <&L2_0>;
834807c71cSJoonwoo Park			L2_0: l2-cache {
844807c71cSJoonwoo Park				compatible = "arm,arch-cache";
854807c71cSJoonwoo Park				cache-level = <2>;
864807c71cSJoonwoo Park			};
874807c71cSJoonwoo Park			L1_I_0: l1-icache {
884807c71cSJoonwoo Park				compatible = "arm,arch-cache";
894807c71cSJoonwoo Park			};
904807c71cSJoonwoo Park			L1_D_0: l1-dcache {
914807c71cSJoonwoo Park				compatible = "arm,arch-cache";
924807c71cSJoonwoo Park			};
934807c71cSJoonwoo Park		};
944807c71cSJoonwoo Park
954807c71cSJoonwoo Park		CPU1: cpu@1 {
964807c71cSJoonwoo Park			device_type = "cpu";
974807c71cSJoonwoo Park			compatible = "arm,armv8";
984807c71cSJoonwoo Park			reg = <0x0 0x1>;
994807c71cSJoonwoo Park			enable-method = "psci";
1004807c71cSJoonwoo Park			efficiency = <1024>;
1014807c71cSJoonwoo Park			next-level-cache = <&L2_0>;
1024807c71cSJoonwoo Park			L1_I_1: l1-icache {
1034807c71cSJoonwoo Park				compatible = "arm,arch-cache";
1044807c71cSJoonwoo Park			};
1054807c71cSJoonwoo Park			L1_D_1: l1-dcache {
1064807c71cSJoonwoo Park				compatible = "arm,arch-cache";
1074807c71cSJoonwoo Park			};
1084807c71cSJoonwoo Park		};
1094807c71cSJoonwoo Park
1104807c71cSJoonwoo Park		CPU2: cpu@2 {
1114807c71cSJoonwoo Park			device_type = "cpu";
1124807c71cSJoonwoo Park			compatible = "arm,armv8";
1134807c71cSJoonwoo Park			reg = <0x0 0x2>;
1144807c71cSJoonwoo Park			enable-method = "psci";
1154807c71cSJoonwoo Park			efficiency = <1024>;
1164807c71cSJoonwoo Park			next-level-cache = <&L2_0>;
1174807c71cSJoonwoo Park			L1_I_2: l1-icache {
1184807c71cSJoonwoo Park				compatible = "arm,arch-cache";
1194807c71cSJoonwoo Park			};
1204807c71cSJoonwoo Park			L1_D_2: l1-dcache {
1214807c71cSJoonwoo Park				compatible = "arm,arch-cache";
1224807c71cSJoonwoo Park			};
1234807c71cSJoonwoo Park		};
1244807c71cSJoonwoo Park
1254807c71cSJoonwoo Park		CPU3: cpu@3 {
1264807c71cSJoonwoo Park			device_type = "cpu";
1274807c71cSJoonwoo Park			compatible = "arm,armv8";
1284807c71cSJoonwoo Park			reg = <0x0 0x3>;
1294807c71cSJoonwoo Park			enable-method = "psci";
1304807c71cSJoonwoo Park			efficiency = <1024>;
1314807c71cSJoonwoo Park			next-level-cache = <&L2_0>;
1324807c71cSJoonwoo Park			L1_I_3: l1-icache {
1334807c71cSJoonwoo Park				compatible = "arm,arch-cache";
1344807c71cSJoonwoo Park			};
1354807c71cSJoonwoo Park			L1_D_3: l1-dcache {
1364807c71cSJoonwoo Park				compatible = "arm,arch-cache";
1374807c71cSJoonwoo Park			};
1384807c71cSJoonwoo Park		};
1394807c71cSJoonwoo Park
1404807c71cSJoonwoo Park		CPU4: cpu@100 {
1414807c71cSJoonwoo Park			device_type = "cpu";
1424807c71cSJoonwoo Park			compatible = "arm,armv8";
1434807c71cSJoonwoo Park			reg = <0x0 0x100>;
1444807c71cSJoonwoo Park			enable-method = "psci";
1454807c71cSJoonwoo Park			efficiency = <1536>;
1464807c71cSJoonwoo Park			next-level-cache = <&L2_1>;
1474807c71cSJoonwoo Park			L2_1: l2-cache {
1484807c71cSJoonwoo Park				compatible = "arm,arch-cache";
1494807c71cSJoonwoo Park				cache-level = <2>;
1504807c71cSJoonwoo Park			};
1514807c71cSJoonwoo Park			L1_I_100: l1-icache {
1524807c71cSJoonwoo Park				compatible = "arm,arch-cache";
1534807c71cSJoonwoo Park			};
1544807c71cSJoonwoo Park			L1_D_100: l1-dcache {
1554807c71cSJoonwoo Park				compatible = "arm,arch-cache";
1564807c71cSJoonwoo Park			};
1574807c71cSJoonwoo Park		};
1584807c71cSJoonwoo Park
1594807c71cSJoonwoo Park		CPU5: cpu@101 {
1604807c71cSJoonwoo Park			device_type = "cpu";
1614807c71cSJoonwoo Park			compatible = "arm,armv8";
1624807c71cSJoonwoo Park			reg = <0x0 0x101>;
1634807c71cSJoonwoo Park			enable-method = "psci";
1644807c71cSJoonwoo Park			efficiency = <1536>;
1654807c71cSJoonwoo Park			next-level-cache = <&L2_1>;
1664807c71cSJoonwoo Park			L1_I_101: l1-icache {
1674807c71cSJoonwoo Park				compatible = "arm,arch-cache";
1684807c71cSJoonwoo Park			};
1694807c71cSJoonwoo Park			L1_D_101: l1-dcache {
1704807c71cSJoonwoo Park				compatible = "arm,arch-cache";
1714807c71cSJoonwoo Park			};
1724807c71cSJoonwoo Park		};
1734807c71cSJoonwoo Park
1744807c71cSJoonwoo Park		CPU6: cpu@102 {
1754807c71cSJoonwoo Park			device_type = "cpu";
1764807c71cSJoonwoo Park			compatible = "arm,armv8";
1774807c71cSJoonwoo Park			reg = <0x0 0x102>;
1784807c71cSJoonwoo Park			enable-method = "psci";
1794807c71cSJoonwoo Park			efficiency = <1536>;
1804807c71cSJoonwoo Park			next-level-cache = <&L2_1>;
1814807c71cSJoonwoo Park			L1_I_102: l1-icache {
1824807c71cSJoonwoo Park				compatible = "arm,arch-cache";
1834807c71cSJoonwoo Park			};
1844807c71cSJoonwoo Park			L1_D_102: l1-dcache {
1854807c71cSJoonwoo Park				compatible = "arm,arch-cache";
1864807c71cSJoonwoo Park			};
1874807c71cSJoonwoo Park		};
1884807c71cSJoonwoo Park
1894807c71cSJoonwoo Park		CPU7: cpu@103 {
1904807c71cSJoonwoo Park			device_type = "cpu";
1914807c71cSJoonwoo Park			compatible = "arm,armv8";
1924807c71cSJoonwoo Park			reg = <0x0 0x103>;
1934807c71cSJoonwoo Park			enable-method = "psci";
1944807c71cSJoonwoo Park			efficiency = <1536>;
1954807c71cSJoonwoo Park			next-level-cache = <&L2_1>;
1964807c71cSJoonwoo Park			L1_I_103: l1-icache {
1974807c71cSJoonwoo Park				compatible = "arm,arch-cache";
1984807c71cSJoonwoo Park			};
1994807c71cSJoonwoo Park			L1_D_103: l1-dcache {
2004807c71cSJoonwoo Park				compatible = "arm,arch-cache";
2014807c71cSJoonwoo Park			};
2024807c71cSJoonwoo Park		};
2034807c71cSJoonwoo Park
2044807c71cSJoonwoo Park		cpu-map {
2054807c71cSJoonwoo Park			cluster0 {
2064807c71cSJoonwoo Park				core0 {
2074807c71cSJoonwoo Park					cpu = <&CPU0>;
2084807c71cSJoonwoo Park				};
2094807c71cSJoonwoo Park
2104807c71cSJoonwoo Park				core1 {
2114807c71cSJoonwoo Park					cpu = <&CPU1>;
2124807c71cSJoonwoo Park				};
2134807c71cSJoonwoo Park
2144807c71cSJoonwoo Park				core2 {
2154807c71cSJoonwoo Park					cpu = <&CPU2>;
2164807c71cSJoonwoo Park				};
2174807c71cSJoonwoo Park
2184807c71cSJoonwoo Park				core3 {
2194807c71cSJoonwoo Park					cpu = <&CPU3>;
2204807c71cSJoonwoo Park				};
2214807c71cSJoonwoo Park			};
2224807c71cSJoonwoo Park
2234807c71cSJoonwoo Park			cluster1 {
2244807c71cSJoonwoo Park				core0 {
2254807c71cSJoonwoo Park					cpu = <&CPU4>;
2264807c71cSJoonwoo Park				};
2274807c71cSJoonwoo Park
2284807c71cSJoonwoo Park				core1 {
2294807c71cSJoonwoo Park					cpu = <&CPU5>;
2304807c71cSJoonwoo Park				};
2314807c71cSJoonwoo Park
2324807c71cSJoonwoo Park				core2 {
2334807c71cSJoonwoo Park					cpu = <&CPU6>;
2344807c71cSJoonwoo Park				};
2354807c71cSJoonwoo Park
2364807c71cSJoonwoo Park				core3 {
2374807c71cSJoonwoo Park					cpu = <&CPU7>;
2384807c71cSJoonwoo Park				};
2394807c71cSJoonwoo Park			};
2404807c71cSJoonwoo Park		};
2414807c71cSJoonwoo Park	};
2424807c71cSJoonwoo Park
243d850156aSBjorn Andersson	firmware {
244d850156aSBjorn Andersson		scm {
24570827d9fSBjorn Andersson			compatible = "qcom,scm-msm8998", "qcom,scm";
246d850156aSBjorn Andersson		};
247d850156aSBjorn Andersson	};
248d850156aSBjorn Andersson
249c7833949SBjorn Andersson	tcsr_mutex: hwlock {
250c7833949SBjorn Andersson		compatible = "qcom,tcsr-mutex";
251c7833949SBjorn Andersson		syscon = <&tcsr_mutex_regs 0 0x1000>;
252c7833949SBjorn Andersson		#hwlock-cells = <1>;
253c7833949SBjorn Andersson	};
254c7833949SBjorn Andersson
2554807c71cSJoonwoo Park	psci {
2564807c71cSJoonwoo Park		compatible = "arm,psci-1.0";
2574807c71cSJoonwoo Park		method = "smc";
2584807c71cSJoonwoo Park	};
2594807c71cSJoonwoo Park
26031c1f0e3SBjorn Andersson	rpm-glink {
26131c1f0e3SBjorn Andersson		compatible = "qcom,glink-rpm";
26231c1f0e3SBjorn Andersson
26331c1f0e3SBjorn Andersson		interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>;
26431c1f0e3SBjorn Andersson		qcom,rpm-msg-ram = <&rpm_msg_ram>;
26531c1f0e3SBjorn Andersson		mboxes = <&apcs_glb 0>;
26631c1f0e3SBjorn Andersson
26731c1f0e3SBjorn Andersson		rpm_requests: rpm-requests {
26831c1f0e3SBjorn Andersson			compatible = "qcom,rpm-msm8998";
26931c1f0e3SBjorn Andersson			qcom,glink-channels = "rpm_requests";
2701fb28636SMarc Gonzalez
2711fb28636SMarc Gonzalez			rpmcc: clock-controller {
2721fb28636SMarc Gonzalez				compatible = "qcom,rpmcc-msm8998", "qcom,rpmcc";
2731fb28636SMarc Gonzalez				#clock-cells = <1>;
2741fb28636SMarc Gonzalez			};
27531c1f0e3SBjorn Andersson		};
27631c1f0e3SBjorn Andersson	};
27731c1f0e3SBjorn Andersson
278c7833949SBjorn Andersson	smem {
279c7833949SBjorn Andersson		compatible = "qcom,smem";
280c7833949SBjorn Andersson		memory-region = <&smem_mem>;
281c7833949SBjorn Andersson		hwlocks = <&tcsr_mutex 3>;
282c7833949SBjorn Andersson	};
283c7833949SBjorn Andersson
284e8d006fdSBjorn Andersson	smp2p-lpass {
285e8d006fdSBjorn Andersson		compatible = "qcom,smp2p";
286e8d006fdSBjorn Andersson		qcom,smem = <443>, <429>;
287e8d006fdSBjorn Andersson
288e8d006fdSBjorn Andersson		interrupts = <GIC_SPI 158 IRQ_TYPE_EDGE_RISING>;
289e8d006fdSBjorn Andersson
290e8d006fdSBjorn Andersson		mboxes = <&apcs_glb 10>;
291e8d006fdSBjorn Andersson
292e8d006fdSBjorn Andersson		qcom,local-pid = <0>;
293e8d006fdSBjorn Andersson		qcom,remote-pid = <2>;
294e8d006fdSBjorn Andersson
295e8d006fdSBjorn Andersson		adsp_smp2p_out: master-kernel {
296e8d006fdSBjorn Andersson			qcom,entry-name = "master-kernel";
297e8d006fdSBjorn Andersson			#qcom,smem-state-cells = <1>;
298e8d006fdSBjorn Andersson		};
299e8d006fdSBjorn Andersson
300e8d006fdSBjorn Andersson		adsp_smp2p_in: slave-kernel {
301e8d006fdSBjorn Andersson			qcom,entry-name = "slave-kernel";
302e8d006fdSBjorn Andersson
303e8d006fdSBjorn Andersson			interrupt-controller;
304e8d006fdSBjorn Andersson			#interrupt-cells = <2>;
305e8d006fdSBjorn Andersson		};
306e8d006fdSBjorn Andersson	};
307e8d006fdSBjorn Andersson
308e8d006fdSBjorn Andersson	smp2p-mpss {
309e8d006fdSBjorn Andersson		compatible = "qcom,smp2p";
310e8d006fdSBjorn Andersson		qcom,smem = <435>, <428>;
311e8d006fdSBjorn Andersson		interrupts = <GIC_SPI 451 IRQ_TYPE_EDGE_RISING>;
312e8d006fdSBjorn Andersson		mboxes = <&apcs_glb 14>;
313e8d006fdSBjorn Andersson		qcom,local-pid = <0>;
314e8d006fdSBjorn Andersson		qcom,remote-pid = <1>;
315e8d006fdSBjorn Andersson
316e8d006fdSBjorn Andersson		modem_smp2p_out: master-kernel {
317e8d006fdSBjorn Andersson			qcom,entry-name = "master-kernel";
318e8d006fdSBjorn Andersson			#qcom,smem-state-cells = <1>;
319e8d006fdSBjorn Andersson		};
320e8d006fdSBjorn Andersson
321e8d006fdSBjorn Andersson		modem_smp2p_in: slave-kernel {
322e8d006fdSBjorn Andersson			qcom,entry-name = "slave-kernel";
323e8d006fdSBjorn Andersson			interrupt-controller;
324e8d006fdSBjorn Andersson			#interrupt-cells = <2>;
325e8d006fdSBjorn Andersson		};
326e8d006fdSBjorn Andersson	};
327e8d006fdSBjorn Andersson
328e8d006fdSBjorn Andersson	smp2p-slpi {
329e8d006fdSBjorn Andersson		compatible = "qcom,smp2p";
330e8d006fdSBjorn Andersson		qcom,smem = <481>, <430>;
331e8d006fdSBjorn Andersson		interrupts = <GIC_SPI 178 IRQ_TYPE_EDGE_RISING>;
332e8d006fdSBjorn Andersson		mboxes = <&apcs_glb 26>;
333e8d006fdSBjorn Andersson		qcom,local-pid = <0>;
334e8d006fdSBjorn Andersson		qcom,remote-pid = <3>;
335e8d006fdSBjorn Andersson
336e8d006fdSBjorn Andersson		slpi_smp2p_out: master-kernel {
337e8d006fdSBjorn Andersson			qcom,entry-name = "master-kernel";
338e8d006fdSBjorn Andersson			#qcom,smem-state-cells = <1>;
339e8d006fdSBjorn Andersson		};
340e8d006fdSBjorn Andersson
341e8d006fdSBjorn Andersson		slpi_smp2p_in: slave-kernel {
342e8d006fdSBjorn Andersson			qcom,entry-name = "slave-kernel";
343e8d006fdSBjorn Andersson			interrupt-controller;
344e8d006fdSBjorn Andersson			#interrupt-cells = <2>;
345e8d006fdSBjorn Andersson		};
346e8d006fdSBjorn Andersson	};
347e8d006fdSBjorn Andersson
3484449b6f2SBjorn Andersson	thermal-zones {
3494449b6f2SBjorn Andersson		cpu-thermal0 {
3504449b6f2SBjorn Andersson			polling-delay-passive = <250>;
3514449b6f2SBjorn Andersson			polling-delay = <1000>;
3524449b6f2SBjorn Andersson
3534449b6f2SBjorn Andersson			thermal-sensors = <&tsens0 6>;
3544449b6f2SBjorn Andersson
3554449b6f2SBjorn Andersson			trips {
3564449b6f2SBjorn Andersson				cpu_alert0: trip0 {
3574449b6f2SBjorn Andersson					temperature = <75000>;
3584449b6f2SBjorn Andersson					hysteresis = <2000>;
3594449b6f2SBjorn Andersson					type = "passive";
3604449b6f2SBjorn Andersson				};
3614449b6f2SBjorn Andersson
3624449b6f2SBjorn Andersson				cpu_crit0: trip1 {
3634449b6f2SBjorn Andersson					temperature = <110000>;
3644449b6f2SBjorn Andersson					hysteresis = <2000>;
3654449b6f2SBjorn Andersson					type = "critical";
3664449b6f2SBjorn Andersson				};
3674449b6f2SBjorn Andersson			};
3684449b6f2SBjorn Andersson		};
3694449b6f2SBjorn Andersson
3704449b6f2SBjorn Andersson		cpu-thermal1 {
3714449b6f2SBjorn Andersson			polling-delay-passive = <250>;
3724449b6f2SBjorn Andersson			polling-delay = <1000>;
3734449b6f2SBjorn Andersson
3744449b6f2SBjorn Andersson			thermal-sensors = <&tsens0 7>;
3754449b6f2SBjorn Andersson
3764449b6f2SBjorn Andersson			trips {
3774449b6f2SBjorn Andersson				cpu_alert1: trip0 {
3784449b6f2SBjorn Andersson					temperature = <75000>;
3794449b6f2SBjorn Andersson					hysteresis = <2000>;
3804449b6f2SBjorn Andersson					type = "passive";
3814449b6f2SBjorn Andersson				};
3824449b6f2SBjorn Andersson
3834449b6f2SBjorn Andersson				cpu_crit1: trip1 {
3844449b6f2SBjorn Andersson					temperature = <110000>;
3854449b6f2SBjorn Andersson					hysteresis = <2000>;
3864449b6f2SBjorn Andersson					type = "critical";
3874449b6f2SBjorn Andersson				};
3884449b6f2SBjorn Andersson			};
3894449b6f2SBjorn Andersson		};
3904449b6f2SBjorn Andersson
3914449b6f2SBjorn Andersson		cpu-thermal2 {
3924449b6f2SBjorn Andersson			polling-delay-passive = <250>;
3934449b6f2SBjorn Andersson			polling-delay = <1000>;
3944449b6f2SBjorn Andersson
3954449b6f2SBjorn Andersson			thermal-sensors = <&tsens0 8>;
3964449b6f2SBjorn Andersson
3974449b6f2SBjorn Andersson			trips {
3984449b6f2SBjorn Andersson				cpu_alert2: trip0 {
3994449b6f2SBjorn Andersson					temperature = <75000>;
4004449b6f2SBjorn Andersson					hysteresis = <2000>;
4014449b6f2SBjorn Andersson					type = "passive";
4024449b6f2SBjorn Andersson				};
4034449b6f2SBjorn Andersson
4044449b6f2SBjorn Andersson				cpu_crit2: trip1 {
4054449b6f2SBjorn Andersson					temperature = <110000>;
4064449b6f2SBjorn Andersson					hysteresis = <2000>;
4074449b6f2SBjorn Andersson					type = "critical";
4084449b6f2SBjorn Andersson				};
4094449b6f2SBjorn Andersson			};
4104449b6f2SBjorn Andersson		};
4114449b6f2SBjorn Andersson
4124449b6f2SBjorn Andersson		cpu-thermal3 {
4134449b6f2SBjorn Andersson			polling-delay-passive = <250>;
4144449b6f2SBjorn Andersson			polling-delay = <1000>;
4154449b6f2SBjorn Andersson
4164449b6f2SBjorn Andersson			thermal-sensors = <&tsens0 9>;
4174449b6f2SBjorn Andersson
4184449b6f2SBjorn Andersson			trips {
4194449b6f2SBjorn Andersson				cpu_alert3: trip0 {
4204449b6f2SBjorn Andersson					temperature = <75000>;
4214449b6f2SBjorn Andersson					hysteresis = <2000>;
4224449b6f2SBjorn Andersson					type = "passive";
4234449b6f2SBjorn Andersson				};
4244449b6f2SBjorn Andersson
4254449b6f2SBjorn Andersson				cpu_crit3: trip1 {
4264449b6f2SBjorn Andersson					temperature = <110000>;
4274449b6f2SBjorn Andersson					hysteresis = <2000>;
4284449b6f2SBjorn Andersson					type = "critical";
4294449b6f2SBjorn Andersson				};
4304449b6f2SBjorn Andersson			};
4314449b6f2SBjorn Andersson		};
4324449b6f2SBjorn Andersson
4334449b6f2SBjorn Andersson		cpu-thermal4 {
4344449b6f2SBjorn Andersson			polling-delay-passive = <250>;
4354449b6f2SBjorn Andersson			polling-delay = <1000>;
4364449b6f2SBjorn Andersson
4374449b6f2SBjorn Andersson			thermal-sensors = <&tsens0 10>;
4384449b6f2SBjorn Andersson
4394449b6f2SBjorn Andersson			trips {
4404449b6f2SBjorn Andersson				cpu_alert4: trip0 {
4414449b6f2SBjorn Andersson					temperature = <75000>;
4424449b6f2SBjorn Andersson					hysteresis = <2000>;
4434449b6f2SBjorn Andersson					type = "passive";
4444449b6f2SBjorn Andersson				};
4454449b6f2SBjorn Andersson
4464449b6f2SBjorn Andersson				cpu_crit4: trip1 {
4474449b6f2SBjorn Andersson					temperature = <110000>;
4484449b6f2SBjorn Andersson					hysteresis = <2000>;
4494449b6f2SBjorn Andersson					type = "critical";
4504449b6f2SBjorn Andersson				};
4514449b6f2SBjorn Andersson			};
4524449b6f2SBjorn Andersson		};
4534449b6f2SBjorn Andersson
4544449b6f2SBjorn Andersson		cpu-thermal5 {
4554449b6f2SBjorn Andersson			polling-delay-passive = <250>;
4564449b6f2SBjorn Andersson			polling-delay = <1000>;
4574449b6f2SBjorn Andersson
4584449b6f2SBjorn Andersson			thermal-sensors = <&tsens0 11>;
4594449b6f2SBjorn Andersson
4604449b6f2SBjorn Andersson			trips {
4614449b6f2SBjorn Andersson				cpu_alert5: trip0 {
4624449b6f2SBjorn Andersson					temperature = <75000>;
4634449b6f2SBjorn Andersson					hysteresis = <2000>;
4644449b6f2SBjorn Andersson					type = "passive";
4654449b6f2SBjorn Andersson				};
4664449b6f2SBjorn Andersson
4674449b6f2SBjorn Andersson				cpu_crit5: trip1 {
4684449b6f2SBjorn Andersson					temperature = <110000>;
4694449b6f2SBjorn Andersson					hysteresis = <2000>;
4704449b6f2SBjorn Andersson					type = "critical";
4714449b6f2SBjorn Andersson				};
4724449b6f2SBjorn Andersson			};
4734449b6f2SBjorn Andersson		};
4744449b6f2SBjorn Andersson
4754449b6f2SBjorn Andersson		cpu-thermal6 {
4764449b6f2SBjorn Andersson			polling-delay-passive = <250>;
4774449b6f2SBjorn Andersson			polling-delay = <1000>;
4784449b6f2SBjorn Andersson
4794449b6f2SBjorn Andersson			thermal-sensors = <&tsens1 0>;
4804449b6f2SBjorn Andersson
4814449b6f2SBjorn Andersson			trips {
4824449b6f2SBjorn Andersson				cpu_alert6: trip0 {
4834449b6f2SBjorn Andersson					temperature = <75000>;
4844449b6f2SBjorn Andersson					hysteresis = <2000>;
4854449b6f2SBjorn Andersson					type = "passive";
4864449b6f2SBjorn Andersson				};
4874449b6f2SBjorn Andersson
4884449b6f2SBjorn Andersson				cpu_crit6: trip1 {
4894449b6f2SBjorn Andersson					temperature = <110000>;
4904449b6f2SBjorn Andersson					hysteresis = <2000>;
4914449b6f2SBjorn Andersson					type = "critical";
4924449b6f2SBjorn Andersson				};
4934449b6f2SBjorn Andersson			};
4944449b6f2SBjorn Andersson		};
4954449b6f2SBjorn Andersson
4964449b6f2SBjorn Andersson		cpu-thermal7 {
4974449b6f2SBjorn Andersson			polling-delay-passive = <250>;
4984449b6f2SBjorn Andersson			polling-delay = <1000>;
4994449b6f2SBjorn Andersson
5004449b6f2SBjorn Andersson			thermal-sensors = <&tsens1 1>;
5014449b6f2SBjorn Andersson
5024449b6f2SBjorn Andersson			trips {
5034449b6f2SBjorn Andersson				cpu_alert7: trip0 {
5044449b6f2SBjorn Andersson					temperature = <75000>;
5054449b6f2SBjorn Andersson					hysteresis = <2000>;
5064449b6f2SBjorn Andersson					type = "passive";
5074449b6f2SBjorn Andersson				};
5084449b6f2SBjorn Andersson
5094449b6f2SBjorn Andersson				cpu_crit7: trip1 {
5104449b6f2SBjorn Andersson					temperature = <110000>;
5114449b6f2SBjorn Andersson					hysteresis = <2000>;
5124449b6f2SBjorn Andersson					type = "critical";
5134449b6f2SBjorn Andersson				};
5144449b6f2SBjorn Andersson			};
5154449b6f2SBjorn Andersson		};
5164449b6f2SBjorn Andersson
5174449b6f2SBjorn Andersson		gpu-thermal {
5184449b6f2SBjorn Andersson			polling-delay-passive = <250>;
5194449b6f2SBjorn Andersson			polling-delay = <1000>;
5204449b6f2SBjorn Andersson
5214449b6f2SBjorn Andersson			thermal-sensors = <&tsens1 3>;
5224449b6f2SBjorn Andersson		};
5234449b6f2SBjorn Andersson	};
5244449b6f2SBjorn Andersson
5254807c71cSJoonwoo Park	timer {
5264807c71cSJoonwoo Park		compatible = "arm,armv8-timer";
5274807c71cSJoonwoo Park		interrupts = <GIC_PPI 1 IRQ_TYPE_LEVEL_LOW>,
5284807c71cSJoonwoo Park			     <GIC_PPI 2 IRQ_TYPE_LEVEL_LOW>,
5294807c71cSJoonwoo Park			     <GIC_PPI 3 IRQ_TYPE_LEVEL_LOW>,
5304807c71cSJoonwoo Park			     <GIC_PPI 0 IRQ_TYPE_LEVEL_LOW>;
5314807c71cSJoonwoo Park	};
5324807c71cSJoonwoo Park
5334807c71cSJoonwoo Park	soc: soc {
5344807c71cSJoonwoo Park		#address-cells = <1>;
5354807c71cSJoonwoo Park		#size-cells = <1>;
5364807c71cSJoonwoo Park		ranges = <0 0 0 0xffffffff>;
5374807c71cSJoonwoo Park		compatible = "simple-bus";
5384807c71cSJoonwoo Park
53931c1f0e3SBjorn Andersson		rpm_msg_ram: memory@68000 {
54031c1f0e3SBjorn Andersson			compatible = "qcom,rpm-msg-ram";
54131c1f0e3SBjorn Andersson			reg = <0x778000 0x7000>;
54231c1f0e3SBjorn Andersson		};
54331c1f0e3SBjorn Andersson
544f259e398SBjorn Andersson		qfprom: qfprom@780000 {
545f259e398SBjorn Andersson			compatible = "qcom,qfprom";
546f259e398SBjorn Andersson			reg = <0x780000 0x621c>;
547f259e398SBjorn Andersson			#address-cells = <1>;
548f259e398SBjorn Andersson			#size-cells = <1>;
549026dad8fSJeffrey Hugo
550026dad8fSJeffrey Hugo			qusb2_hstx_trim: hstx-trim@423a {
551026dad8fSJeffrey Hugo				reg = <0x423a 0x1>;
552026dad8fSJeffrey Hugo				bits = <0 4>;
553026dad8fSJeffrey Hugo			};
554f259e398SBjorn Andersson		};
555f259e398SBjorn Andersson
5564807c71cSJoonwoo Park		gcc: clock-controller@100000 {
5574807c71cSJoonwoo Park			compatible = "qcom,gcc-msm8998";
5584807c71cSJoonwoo Park			#clock-cells = <1>;
5594807c71cSJoonwoo Park			#reset-cells = <1>;
5604807c71cSJoonwoo Park			#power-domain-cells = <1>;
5614807c71cSJoonwoo Park			reg = <0x100000 0xb0000>;
5624807c71cSJoonwoo Park		};
5634807c71cSJoonwoo Park
5644807c71cSJoonwoo Park		tlmm: pinctrl@3400000 {
5654807c71cSJoonwoo Park			compatible = "qcom,msm8998-pinctrl";
5664807c71cSJoonwoo Park			reg = <0x3400000 0xc00000>;
5674807c71cSJoonwoo Park			interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;
5684807c71cSJoonwoo Park			gpio-controller;
5694807c71cSJoonwoo Park			#gpio-cells = <0x2>;
5704807c71cSJoonwoo Park			interrupt-controller;
5714807c71cSJoonwoo Park			#interrupt-cells = <0x2>;
5724807c71cSJoonwoo Park		};
5734807c71cSJoonwoo Park
5744807c71cSJoonwoo Park		spmi_bus: spmi@800f000 {
5754807c71cSJoonwoo Park			compatible = "qcom,spmi-pmic-arb";
5764807c71cSJoonwoo Park			reg =	<0x800f000 0x1000>,
5774807c71cSJoonwoo Park				<0x8400000 0x1000000>,
5784807c71cSJoonwoo Park				<0x9400000 0x1000000>,
5794807c71cSJoonwoo Park				<0xa400000 0x220000>,
5804807c71cSJoonwoo Park				<0x800a000 0x3000>;
5814807c71cSJoonwoo Park			reg-names = "core", "chnls", "obsrvr", "intr", "cnfg";
5824807c71cSJoonwoo Park			interrupt-names = "periph_irq";
5834807c71cSJoonwoo Park			interrupts = <GIC_SPI 326 IRQ_TYPE_LEVEL_HIGH>;
5844807c71cSJoonwoo Park			qcom,ee = <0>;
5854807c71cSJoonwoo Park			qcom,channel = <0>;
5864807c71cSJoonwoo Park			#address-cells = <2>;
5874807c71cSJoonwoo Park			#size-cells = <0>;
5884807c71cSJoonwoo Park			interrupt-controller;
5894807c71cSJoonwoo Park			#interrupt-cells = <4>;
5904807c71cSJoonwoo Park			cell-index = <0>;
5914807c71cSJoonwoo Park		};
5924807c71cSJoonwoo Park
5934449b6f2SBjorn Andersson		tsens0: thermal@10aa000 {
5944449b6f2SBjorn Andersson			compatible = "qcom,msm8998-tsens", "qcom,tsens-v2";
5954449b6f2SBjorn Andersson			reg = <0x10aa000 0x2000>;
5964449b6f2SBjorn Andersson
5974449b6f2SBjorn Andersson			#qcom,sensors = <12>;
5984449b6f2SBjorn Andersson			#thermal-sensor-cells = <1>;
5994449b6f2SBjorn Andersson		};
6004449b6f2SBjorn Andersson
6014449b6f2SBjorn Andersson		tsens1: thermal@10ad000 {
6024449b6f2SBjorn Andersson			compatible = "qcom,msm8998-tsens", "qcom,tsens-v2";
6034449b6f2SBjorn Andersson			reg = <0x10ad000 0x2000>;
6044449b6f2SBjorn Andersson
6054449b6f2SBjorn Andersson			#qcom,sensors = <8>;
6064449b6f2SBjorn Andersson			#thermal-sensor-cells = <1>;
6074449b6f2SBjorn Andersson		};
6084449b6f2SBjorn Andersson
609c7833949SBjorn Andersson		tcsr_mutex_regs: syscon@1f40000 {
610c7833949SBjorn Andersson			compatible = "syscon";
611c7833949SBjorn Andersson			reg = <0x1f40000 0x20000>;
612c7833949SBjorn Andersson		};
613c7833949SBjorn Andersson
61431c1f0e3SBjorn Andersson		apcs_glb: mailbox@9820000 {
61531c1f0e3SBjorn Andersson			compatible = "qcom,msm8998-apcs-hmss-global";
61631c1f0e3SBjorn Andersson			reg = <0x17911000 0x1000>;
61731c1f0e3SBjorn Andersson
61831c1f0e3SBjorn Andersson			#mbox-cells = <1>;
61931c1f0e3SBjorn Andersson		};
62031c1f0e3SBjorn Andersson
621026dad8fSJeffrey Hugo		usb3: usb@a8f8800 {
622026dad8fSJeffrey Hugo			compatible = "qcom,msm8998-dwc3", "qcom,dwc3";
623026dad8fSJeffrey Hugo			reg = <0x0a8f8800 0x400>;
624026dad8fSJeffrey Hugo			status = "disabled";
625026dad8fSJeffrey Hugo			#address-cells = <1>;
626026dad8fSJeffrey Hugo			#size-cells = <1>;
627026dad8fSJeffrey Hugo			ranges;
628026dad8fSJeffrey Hugo
629026dad8fSJeffrey Hugo			clocks = <&gcc GCC_CFG_NOC_USB3_AXI_CLK>,
630026dad8fSJeffrey Hugo				 <&gcc GCC_USB30_MASTER_CLK>,
631026dad8fSJeffrey Hugo				 <&gcc GCC_AGGRE1_USB3_AXI_CLK>,
632026dad8fSJeffrey Hugo				 <&gcc GCC_USB30_MOCK_UTMI_CLK>,
633026dad8fSJeffrey Hugo				 <&gcc GCC_USB30_SLEEP_CLK>;
634026dad8fSJeffrey Hugo			clock-names = "cfg_noc", "core", "iface", "mock_utmi",
635026dad8fSJeffrey Hugo				      "sleep";
636026dad8fSJeffrey Hugo
637026dad8fSJeffrey Hugo			assigned-clocks = <&gcc GCC_USB30_MOCK_UTMI_CLK>,
638026dad8fSJeffrey Hugo					  <&gcc GCC_USB30_MASTER_CLK>;
639026dad8fSJeffrey Hugo			assigned-clock-rates = <19200000>, <120000000>;
640026dad8fSJeffrey Hugo
641026dad8fSJeffrey Hugo			interrupts = <GIC_SPI 347 IRQ_TYPE_LEVEL_HIGH>,
642026dad8fSJeffrey Hugo				     <GIC_SPI 243 IRQ_TYPE_LEVEL_HIGH>;
643026dad8fSJeffrey Hugo			interrupt-names = "hs_phy_irq", "ss_phy_irq";
644026dad8fSJeffrey Hugo
645026dad8fSJeffrey Hugo			power-domains = <&gcc USB_30_GDSC>;
646026dad8fSJeffrey Hugo
647026dad8fSJeffrey Hugo			resets = <&gcc GCC_USB_30_BCR>;
648026dad8fSJeffrey Hugo
649026dad8fSJeffrey Hugo			usb3_dwc3: dwc3@a800000 {
650026dad8fSJeffrey Hugo				compatible = "snps,dwc3";
651026dad8fSJeffrey Hugo				reg = <0x0a800000 0xcd00>;
652026dad8fSJeffrey Hugo				interrupts = <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>;
653026dad8fSJeffrey Hugo				snps,dis_u2_susphy_quirk;
654026dad8fSJeffrey Hugo				snps,dis_enblslpm_quirk;
655026dad8fSJeffrey Hugo				phys = <&qusb2phy>, <&usb1_ssphy>;
656026dad8fSJeffrey Hugo				phy-names = "usb2-phy", "usb3-phy";
657026dad8fSJeffrey Hugo				snps,has-lpm-erratum;
658026dad8fSJeffrey Hugo				snps,hird-threshold = /bits/ 8 <0x10>;
659026dad8fSJeffrey Hugo			};
660026dad8fSJeffrey Hugo		};
661026dad8fSJeffrey Hugo
662026dad8fSJeffrey Hugo		usb3phy: phy@c010000 {
663026dad8fSJeffrey Hugo			compatible = "qcom,msm8998-qmp-usb3-phy";
664026dad8fSJeffrey Hugo			reg = <0x0c010000 0x18c>;
665026dad8fSJeffrey Hugo			status = "disabled";
666026dad8fSJeffrey Hugo			#clock-cells = <1>;
667026dad8fSJeffrey Hugo			#address-cells = <1>;
668026dad8fSJeffrey Hugo			#size-cells = <1>;
669026dad8fSJeffrey Hugo			ranges;
670026dad8fSJeffrey Hugo
671026dad8fSJeffrey Hugo			clocks = <&gcc GCC_USB3_PHY_AUX_CLK>,
672026dad8fSJeffrey Hugo				 <&gcc GCC_USB_PHY_CFG_AHB2PHY_CLK>,
673026dad8fSJeffrey Hugo				 <&gcc GCC_USB3_CLKREF_CLK>;
674026dad8fSJeffrey Hugo			clock-names = "aux", "cfg_ahb", "ref";
675026dad8fSJeffrey Hugo
676026dad8fSJeffrey Hugo			resets = <&gcc GCC_USB3_PHY_BCR>,
677026dad8fSJeffrey Hugo				 <&gcc GCC_USB3PHY_PHY_BCR>;
678026dad8fSJeffrey Hugo			reset-names = "phy", "common";
679026dad8fSJeffrey Hugo
680026dad8fSJeffrey Hugo			usb1_ssphy: lane@c010200 {
681026dad8fSJeffrey Hugo				reg = <0xc010200 0x128>,
682026dad8fSJeffrey Hugo				      <0xc010400 0x200>,
683026dad8fSJeffrey Hugo				      <0xc010c00 0x20c>,
684026dad8fSJeffrey Hugo				      <0xc010600 0x128>,
685026dad8fSJeffrey Hugo				      <0xc010800 0x200>;
686026dad8fSJeffrey Hugo				#phy-cells = <0>;
687026dad8fSJeffrey Hugo				clocks = <&gcc GCC_USB3_PHY_PIPE_CLK>;
688026dad8fSJeffrey Hugo				clock-names = "pipe0";
689026dad8fSJeffrey Hugo				clock-output-names = "usb3_phy_pipe_clk_src";
690026dad8fSJeffrey Hugo			};
691026dad8fSJeffrey Hugo		};
692026dad8fSJeffrey Hugo
693026dad8fSJeffrey Hugo		qusb2phy: phy@c012000 {
694026dad8fSJeffrey Hugo			compatible = "qcom,msm8998-qusb2-phy";
695026dad8fSJeffrey Hugo			reg = <0x0c012000 0x2a8>;
696026dad8fSJeffrey Hugo			status = "disabled";
697026dad8fSJeffrey Hugo			#phy-cells = <0>;
698026dad8fSJeffrey Hugo
699026dad8fSJeffrey Hugo			clocks = <&gcc GCC_USB_PHY_CFG_AHB2PHY_CLK>,
700026dad8fSJeffrey Hugo				 <&gcc GCC_RX1_USB2_CLKREF_CLK>;
701026dad8fSJeffrey Hugo			clock-names = "cfg_ahb", "ref";
702026dad8fSJeffrey Hugo
703026dad8fSJeffrey Hugo			resets = <&gcc GCC_QUSB2PHY_PRIM_BCR>;
704026dad8fSJeffrey Hugo
705026dad8fSJeffrey Hugo			nvmem-cells = <&qusb2_hstx_trim>;
706026dad8fSJeffrey Hugo		};
707026dad8fSJeffrey Hugo
7081cfce828SJeffrey Hugo		sdhc2: sdhci@c0a4900 {
7091cfce828SJeffrey Hugo			compatible = "qcom,sdhci-msm-v4";
7101cfce828SJeffrey Hugo			reg = <0xc0a4900 0x314>, <0xc0a4000 0x800>;
7111cfce828SJeffrey Hugo			reg-names = "hc_mem", "core_mem";
7121cfce828SJeffrey Hugo
7131cfce828SJeffrey Hugo			interrupts = <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>,
7141cfce828SJeffrey Hugo				     <GIC_SPI 221 IRQ_TYPE_LEVEL_HIGH>;
7151cfce828SJeffrey Hugo			interrupt-names = "hc_irq", "pwr_irq";
7161cfce828SJeffrey Hugo
7171cfce828SJeffrey Hugo			clock-names = "iface", "core", "xo";
7181cfce828SJeffrey Hugo			clocks = <&gcc GCC_SDCC2_AHB_CLK>,
7191cfce828SJeffrey Hugo				 <&gcc GCC_SDCC2_APPS_CLK>,
7201cfce828SJeffrey Hugo				 <&xo>;
7211cfce828SJeffrey Hugo			bus-width = <4>;
7221cfce828SJeffrey Hugo			status = "disabled";
7231cfce828SJeffrey Hugo		};
7241cfce828SJeffrey Hugo
7251e71d0c2SJeffrey Hugo		blsp1_i2c1: i2c@c175000 {
7261e71d0c2SJeffrey Hugo			compatible = "qcom,i2c-qup-v2.2.1";
7271e71d0c2SJeffrey Hugo			reg = <0x0c175000 0x600>;
7281e71d0c2SJeffrey Hugo			interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
7291e71d0c2SJeffrey Hugo
7301e71d0c2SJeffrey Hugo			clocks = <&gcc GCC_BLSP1_QUP1_I2C_APPS_CLK>,
7311e71d0c2SJeffrey Hugo				 <&gcc GCC_BLSP1_AHB_CLK>;
7321e71d0c2SJeffrey Hugo			clock-names = "core", "iface";
7331e71d0c2SJeffrey Hugo			clock-frequency = <400000>;
7341e71d0c2SJeffrey Hugo
7351e71d0c2SJeffrey Hugo			status = "disabled";
7361e71d0c2SJeffrey Hugo			#address-cells = <1>;
7371e71d0c2SJeffrey Hugo			#size-cells = <0>;
7381e71d0c2SJeffrey Hugo		};
7391e71d0c2SJeffrey Hugo
7401e71d0c2SJeffrey Hugo		blsp1_i2c2: i2c@c176000 {
7411e71d0c2SJeffrey Hugo			compatible = "qcom,i2c-qup-v2.2.1";
7421e71d0c2SJeffrey Hugo			reg = <0x0c176000 0x600>;
7431e71d0c2SJeffrey Hugo			interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
7441e71d0c2SJeffrey Hugo
7451e71d0c2SJeffrey Hugo			clocks = <&gcc GCC_BLSP1_QUP2_I2C_APPS_CLK>,
7461e71d0c2SJeffrey Hugo				 <&gcc GCC_BLSP1_AHB_CLK>;
7471e71d0c2SJeffrey Hugo			clock-names = "core", "iface";
7481e71d0c2SJeffrey Hugo			clock-frequency = <400000>;
7491e71d0c2SJeffrey Hugo
7501e71d0c2SJeffrey Hugo			status = "disabled";
7511e71d0c2SJeffrey Hugo			#address-cells = <1>;
7521e71d0c2SJeffrey Hugo			#size-cells = <0>;
7531e71d0c2SJeffrey Hugo		};
7541e71d0c2SJeffrey Hugo
7551e71d0c2SJeffrey Hugo		blsp1_i2c3: i2c@c177000 {
7561e71d0c2SJeffrey Hugo			compatible = "qcom,i2c-qup-v2.2.1";
7571e71d0c2SJeffrey Hugo			reg = <0x0c177000 0x600>;
7581e71d0c2SJeffrey Hugo			interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
7591e71d0c2SJeffrey Hugo
7601e71d0c2SJeffrey Hugo			clocks = <&gcc GCC_BLSP1_QUP3_I2C_APPS_CLK>,
7611e71d0c2SJeffrey Hugo				 <&gcc GCC_BLSP1_AHB_CLK>;
7621e71d0c2SJeffrey Hugo			clock-names = "core", "iface";
7631e71d0c2SJeffrey Hugo			clock-frequency = <400000>;
7641e71d0c2SJeffrey Hugo
7651e71d0c2SJeffrey Hugo			status = "disabled";
7661e71d0c2SJeffrey Hugo			#address-cells = <1>;
7671e71d0c2SJeffrey Hugo			#size-cells = <0>;
7681e71d0c2SJeffrey Hugo		};
7691e71d0c2SJeffrey Hugo
7701e71d0c2SJeffrey Hugo		blsp1_i2c4: i2c@c178000 {
7711e71d0c2SJeffrey Hugo			compatible = "qcom,i2c-qup-v2.2.1";
7721e71d0c2SJeffrey Hugo			reg = <0x0c178000 0x600>;
7731e71d0c2SJeffrey Hugo			interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
7741e71d0c2SJeffrey Hugo
7751e71d0c2SJeffrey Hugo			clocks = <&gcc GCC_BLSP1_QUP4_I2C_APPS_CLK>,
7761e71d0c2SJeffrey Hugo				 <&gcc GCC_BLSP1_AHB_CLK>;
7771e71d0c2SJeffrey Hugo			clock-names = "core", "iface";
7781e71d0c2SJeffrey Hugo			clock-frequency = <400000>;
7791e71d0c2SJeffrey Hugo
7801e71d0c2SJeffrey Hugo			status = "disabled";
7811e71d0c2SJeffrey Hugo			#address-cells = <1>;
7821e71d0c2SJeffrey Hugo			#size-cells = <0>;
7831e71d0c2SJeffrey Hugo		};
7841e71d0c2SJeffrey Hugo
7851e71d0c2SJeffrey Hugo		blsp1_i2c5: i2c@c179000 {
7861e71d0c2SJeffrey Hugo			compatible = "qcom,i2c-qup-v2.2.1";
7871e71d0c2SJeffrey Hugo			reg = <0x0c179000 0x600>;
7881e71d0c2SJeffrey Hugo			interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
7891e71d0c2SJeffrey Hugo
7901e71d0c2SJeffrey Hugo			clocks = <&gcc GCC_BLSP1_QUP5_I2C_APPS_CLK>,
7911e71d0c2SJeffrey Hugo				 <&gcc GCC_BLSP1_AHB_CLK>;
7921e71d0c2SJeffrey Hugo			clock-names = "core", "iface";
7931e71d0c2SJeffrey Hugo			clock-frequency = <400000>;
7941e71d0c2SJeffrey Hugo
7951e71d0c2SJeffrey Hugo			status = "disabled";
7961e71d0c2SJeffrey Hugo			#address-cells = <1>;
7971e71d0c2SJeffrey Hugo			#size-cells = <0>;
7981e71d0c2SJeffrey Hugo		};
7991e71d0c2SJeffrey Hugo
8001e71d0c2SJeffrey Hugo		blsp1_i2c6: i2c@c17a000 {
8011e71d0c2SJeffrey Hugo			compatible = "qcom,i2c-qup-v2.2.1";
8021e71d0c2SJeffrey Hugo			reg = <0x0c17a000 0x600>;
8031e71d0c2SJeffrey Hugo			interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
8041e71d0c2SJeffrey Hugo
8051e71d0c2SJeffrey Hugo			clocks = <&gcc GCC_BLSP1_QUP6_I2C_APPS_CLK>,
8061e71d0c2SJeffrey Hugo				 <&gcc GCC_BLSP1_AHB_CLK>;
8071e71d0c2SJeffrey Hugo			clock-names = "core", "iface";
8081e71d0c2SJeffrey Hugo			clock-frequency = <400000>;
8091e71d0c2SJeffrey Hugo
8101e71d0c2SJeffrey Hugo			status = "disabled";
8111e71d0c2SJeffrey Hugo			#address-cells = <1>;
8121e71d0c2SJeffrey Hugo			#size-cells = <0>;
8131e71d0c2SJeffrey Hugo		};
8141e71d0c2SJeffrey Hugo
8151e71d0c2SJeffrey Hugo		blsp2_i2c0: i2c@c1b5000 {
8161e71d0c2SJeffrey Hugo			compatible = "qcom,i2c-qup-v2.2.1";
8171e71d0c2SJeffrey Hugo			reg = <0x0c1b5000 0x600>;
8181e71d0c2SJeffrey Hugo			interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
8191e71d0c2SJeffrey Hugo
8201e71d0c2SJeffrey Hugo			clocks = <&gcc GCC_BLSP2_QUP1_I2C_APPS_CLK>,
8211e71d0c2SJeffrey Hugo				 <&gcc GCC_BLSP2_AHB_CLK>;
8221e71d0c2SJeffrey Hugo			clock-names = "core", "iface";
8231e71d0c2SJeffrey Hugo			clock-frequency = <400000>;
8241e71d0c2SJeffrey Hugo
8251e71d0c2SJeffrey Hugo			status = "disabled";
8261e71d0c2SJeffrey Hugo			#address-cells = <1>;
8271e71d0c2SJeffrey Hugo			#size-cells = <0>;
8281e71d0c2SJeffrey Hugo		};
8291e71d0c2SJeffrey Hugo
8301e71d0c2SJeffrey Hugo		blsp2_i2c1: i2c@c1b6000 {
8311e71d0c2SJeffrey Hugo			compatible = "qcom,i2c-qup-v2.2.1";
8321e71d0c2SJeffrey Hugo			reg = <0x0c1b6000 0x600>;
8331e71d0c2SJeffrey Hugo			interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>;
8341e71d0c2SJeffrey Hugo
8351e71d0c2SJeffrey Hugo			clocks = <&gcc GCC_BLSP2_QUP2_I2C_APPS_CLK>,
8361e71d0c2SJeffrey Hugo				 <&gcc GCC_BLSP2_AHB_CLK>;
8371e71d0c2SJeffrey Hugo			clock-names = "core", "iface";
8381e71d0c2SJeffrey Hugo			clock-frequency = <400000>;
8391e71d0c2SJeffrey Hugo
8401e71d0c2SJeffrey Hugo			status = "disabled";
8411e71d0c2SJeffrey Hugo			#address-cells = <1>;
8421e71d0c2SJeffrey Hugo			#size-cells = <0>;
8431e71d0c2SJeffrey Hugo		};
8441e71d0c2SJeffrey Hugo
8451e71d0c2SJeffrey Hugo		blsp2_i2c2: i2c@c1b7000 {
8461e71d0c2SJeffrey Hugo			compatible = "qcom,i2c-qup-v2.2.1";
8471e71d0c2SJeffrey Hugo			reg = <0x0c1b7000 0x600>;
8481e71d0c2SJeffrey Hugo			interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
8491e71d0c2SJeffrey Hugo
8501e71d0c2SJeffrey Hugo			clocks = <&gcc GCC_BLSP2_QUP3_I2C_APPS_CLK>,
8511e71d0c2SJeffrey Hugo				 <&gcc GCC_BLSP2_AHB_CLK>;
8521e71d0c2SJeffrey Hugo			clock-names = "core", "iface";
8531e71d0c2SJeffrey Hugo			clock-frequency = <400000>;
8541e71d0c2SJeffrey Hugo
8551e71d0c2SJeffrey Hugo			status = "disabled";
8561e71d0c2SJeffrey Hugo			#address-cells = <1>;
8571e71d0c2SJeffrey Hugo			#size-cells = <0>;
8581e71d0c2SJeffrey Hugo		};
8591e71d0c2SJeffrey Hugo
8601e71d0c2SJeffrey Hugo		blsp2_i2c3: i2c@c1b8000 {
8611e71d0c2SJeffrey Hugo			compatible = "qcom,i2c-qup-v2.2.1";
8621e71d0c2SJeffrey Hugo			reg = <0x0c1b8000 0x600>;
8631e71d0c2SJeffrey Hugo			interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>;
8641e71d0c2SJeffrey Hugo
8651e71d0c2SJeffrey Hugo			clocks = <&gcc GCC_BLSP2_QUP4_I2C_APPS_CLK>,
8661e71d0c2SJeffrey Hugo				 <&gcc GCC_BLSP2_AHB_CLK>;
8671e71d0c2SJeffrey Hugo			clock-names = "core", "iface";
8681e71d0c2SJeffrey Hugo			clock-frequency = <400000>;
8691e71d0c2SJeffrey Hugo
8701e71d0c2SJeffrey Hugo			status = "disabled";
8711e71d0c2SJeffrey Hugo			#address-cells = <1>;
8721e71d0c2SJeffrey Hugo			#size-cells = <0>;
8731e71d0c2SJeffrey Hugo		};
8741e71d0c2SJeffrey Hugo
8751e71d0c2SJeffrey Hugo		blsp2_i2c4: i2c@c1b9000 {
8761e71d0c2SJeffrey Hugo			compatible = "qcom,i2c-qup-v2.2.1";
8771e71d0c2SJeffrey Hugo			reg = <0x0c1b9000 0x600>;
8781e71d0c2SJeffrey Hugo			interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
8791e71d0c2SJeffrey Hugo
8801e71d0c2SJeffrey Hugo			clocks = <&gcc GCC_BLSP2_QUP5_I2C_APPS_CLK>,
8811e71d0c2SJeffrey Hugo				 <&gcc GCC_BLSP2_AHB_CLK>;
8821e71d0c2SJeffrey Hugo			clock-names = "core", "iface";
8831e71d0c2SJeffrey Hugo			clock-frequency = <400000>;
8841e71d0c2SJeffrey Hugo
8851e71d0c2SJeffrey Hugo			status = "disabled";
8861e71d0c2SJeffrey Hugo			#address-cells = <1>;
8871e71d0c2SJeffrey Hugo			#size-cells = <0>;
8881e71d0c2SJeffrey Hugo		};
8891e71d0c2SJeffrey Hugo
8901e71d0c2SJeffrey Hugo		blsp2_i2c5: i2c@c1ba000 {
8911e71d0c2SJeffrey Hugo			compatible = "qcom,i2c-qup-v2.2.1";
8921e71d0c2SJeffrey Hugo			reg = <0x0c175000 0x600>;
8931e71d0c2SJeffrey Hugo			interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
8941e71d0c2SJeffrey Hugo
8951e71d0c2SJeffrey Hugo			clocks = <&gcc GCC_BLSP2_QUP6_I2C_APPS_CLK>,
8961e71d0c2SJeffrey Hugo				 <&gcc GCC_BLSP2_AHB_CLK>;
8971e71d0c2SJeffrey Hugo			clock-names = "core", "iface";
8981e71d0c2SJeffrey Hugo			clock-frequency = <400000>;
8991e71d0c2SJeffrey Hugo
9001e71d0c2SJeffrey Hugo			status = "disabled";
9011e71d0c2SJeffrey Hugo			#address-cells = <1>;
9021e71d0c2SJeffrey Hugo			#size-cells = <0>;
9031e71d0c2SJeffrey Hugo		};
9041e71d0c2SJeffrey Hugo
9054807c71cSJoonwoo Park		blsp2_uart1: serial@c1b0000 {
9064807c71cSJoonwoo Park			compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
9074807c71cSJoonwoo Park			reg = <0xc1b0000 0x1000>;
9084807c71cSJoonwoo Park			interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
9094807c71cSJoonwoo Park			clocks = <&gcc GCC_BLSP2_UART2_APPS_CLK>,
9104807c71cSJoonwoo Park				 <&gcc GCC_BLSP2_AHB_CLK>;
9114807c71cSJoonwoo Park			clock-names = "core", "iface";
9124807c71cSJoonwoo Park			status = "disabled";
9134807c71cSJoonwoo Park		};
9144807c71cSJoonwoo Park
9154807c71cSJoonwoo Park		timer@17920000 {
9164807c71cSJoonwoo Park			#address-cells = <1>;
9174807c71cSJoonwoo Park			#size-cells = <1>;
9184807c71cSJoonwoo Park			ranges;
9194807c71cSJoonwoo Park			compatible = "arm,armv7-timer-mem";
9204807c71cSJoonwoo Park			reg = <0x17920000 0x1000>;
9214807c71cSJoonwoo Park
9224807c71cSJoonwoo Park			frame@17921000 {
9234807c71cSJoonwoo Park				frame-number = <0>;
9244807c71cSJoonwoo Park				interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
9254807c71cSJoonwoo Park					     <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
9264807c71cSJoonwoo Park				reg = <0x17921000 0x1000>,
9274807c71cSJoonwoo Park				      <0x17922000 0x1000>;
9284807c71cSJoonwoo Park			};
9294807c71cSJoonwoo Park
9304807c71cSJoonwoo Park			frame@17923000 {
9314807c71cSJoonwoo Park				frame-number = <1>;
9324807c71cSJoonwoo Park				interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
9334807c71cSJoonwoo Park				reg = <0x17923000 0x1000>;
9344807c71cSJoonwoo Park				status = "disabled";
9354807c71cSJoonwoo Park			};
9364807c71cSJoonwoo Park
9374807c71cSJoonwoo Park			frame@17924000 {
9384807c71cSJoonwoo Park				frame-number = <2>;
9394807c71cSJoonwoo Park				interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
9404807c71cSJoonwoo Park				reg = <0x17924000 0x1000>;
9414807c71cSJoonwoo Park				status = "disabled";
9424807c71cSJoonwoo Park			};
9434807c71cSJoonwoo Park
9444807c71cSJoonwoo Park			frame@17925000 {
9454807c71cSJoonwoo Park				frame-number = <3>;
9464807c71cSJoonwoo Park				interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
9474807c71cSJoonwoo Park				reg = <0x17925000 0x1000>;
9484807c71cSJoonwoo Park				status = "disabled";
9494807c71cSJoonwoo Park			};
9504807c71cSJoonwoo Park
9514807c71cSJoonwoo Park			frame@17926000 {
9524807c71cSJoonwoo Park				frame-number = <4>;
9534807c71cSJoonwoo Park				interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
9544807c71cSJoonwoo Park				reg = <0x17926000 0x1000>;
9554807c71cSJoonwoo Park				status = "disabled";
9564807c71cSJoonwoo Park			};
9574807c71cSJoonwoo Park
9584807c71cSJoonwoo Park			frame@17927000 {
9594807c71cSJoonwoo Park				frame-number = <5>;
9604807c71cSJoonwoo Park				interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
9614807c71cSJoonwoo Park				reg = <0x17927000 0x1000>;
9624807c71cSJoonwoo Park				status = "disabled";
9634807c71cSJoonwoo Park			};
9644807c71cSJoonwoo Park
9654807c71cSJoonwoo Park			frame@17928000 {
9664807c71cSJoonwoo Park				frame-number = <6>;
9674807c71cSJoonwoo Park				interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
9684807c71cSJoonwoo Park				reg = <0x17928000 0x1000>;
9694807c71cSJoonwoo Park				status = "disabled";
9704807c71cSJoonwoo Park			};
9714807c71cSJoonwoo Park		};
9724807c71cSJoonwoo Park
9734807c71cSJoonwoo Park		intc: interrupt-controller@17a00000 {
9744807c71cSJoonwoo Park			compatible = "arm,gic-v3";
9754807c71cSJoonwoo Park			reg = <0x17a00000 0x10000>,       /* GICD */
9764807c71cSJoonwoo Park			      <0x17b00000 0x100000>;      /* GICR * 8 */
9774807c71cSJoonwoo Park			#interrupt-cells = <3>;
9784807c71cSJoonwoo Park			#address-cells = <1>;
9794807c71cSJoonwoo Park			#size-cells = <1>;
9804807c71cSJoonwoo Park			ranges;
9814807c71cSJoonwoo Park			interrupt-controller;
9824807c71cSJoonwoo Park			#redistributor-regions = <1>;
9834807c71cSJoonwoo Park			redistributor-stride = <0x0 0x20000>;
9844807c71cSJoonwoo Park			interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
9854807c71cSJoonwoo Park		};
986*cd3dbe2aSMarc Gonzalez
987*cd3dbe2aSMarc Gonzalez		ufshc: ufshc@1da4000 {
988*cd3dbe2aSMarc Gonzalez			compatible = "qcom,msm8998-ufshc", "qcom,ufshc", "jedec,ufs-2.0";
989*cd3dbe2aSMarc Gonzalez			reg = <0x01da4000 0x2500>;
990*cd3dbe2aSMarc Gonzalez			interrupts = <GIC_SPI 265 IRQ_TYPE_LEVEL_HIGH>;
991*cd3dbe2aSMarc Gonzalez			phys = <&ufsphy_lanes>;
992*cd3dbe2aSMarc Gonzalez			phy-names = "ufsphy";
993*cd3dbe2aSMarc Gonzalez			lanes-per-direction = <2>;
994*cd3dbe2aSMarc Gonzalez			power-domains = <&gcc UFS_GDSC>;
995*cd3dbe2aSMarc Gonzalez
996*cd3dbe2aSMarc Gonzalez			clock-names =
997*cd3dbe2aSMarc Gonzalez				"core_clk",
998*cd3dbe2aSMarc Gonzalez				"bus_aggr_clk",
999*cd3dbe2aSMarc Gonzalez				"iface_clk",
1000*cd3dbe2aSMarc Gonzalez				"core_clk_unipro",
1001*cd3dbe2aSMarc Gonzalez				"ref_clk",
1002*cd3dbe2aSMarc Gonzalez				"tx_lane0_sync_clk",
1003*cd3dbe2aSMarc Gonzalez				"rx_lane0_sync_clk",
1004*cd3dbe2aSMarc Gonzalez				"rx_lane1_sync_clk";
1005*cd3dbe2aSMarc Gonzalez			clocks =
1006*cd3dbe2aSMarc Gonzalez				<&gcc GCC_UFS_AXI_CLK>,
1007*cd3dbe2aSMarc Gonzalez				<&gcc GCC_AGGRE1_UFS_AXI_CLK>,
1008*cd3dbe2aSMarc Gonzalez				<&gcc GCC_UFS_AHB_CLK>,
1009*cd3dbe2aSMarc Gonzalez				<&gcc GCC_UFS_UNIPRO_CORE_CLK>,
1010*cd3dbe2aSMarc Gonzalez				<&rpmcc RPM_SMD_LN_BB_CLK1>,
1011*cd3dbe2aSMarc Gonzalez				<&gcc GCC_UFS_TX_SYMBOL_0_CLK>,
1012*cd3dbe2aSMarc Gonzalez				<&gcc GCC_UFS_RX_SYMBOL_0_CLK>,
1013*cd3dbe2aSMarc Gonzalez				<&gcc GCC_UFS_RX_SYMBOL_1_CLK>;
1014*cd3dbe2aSMarc Gonzalez			freq-table-hz =
1015*cd3dbe2aSMarc Gonzalez				<50000000 200000000>,
1016*cd3dbe2aSMarc Gonzalez				<0 0>,
1017*cd3dbe2aSMarc Gonzalez				<0 0>,
1018*cd3dbe2aSMarc Gonzalez				<37500000 150000000>,
1019*cd3dbe2aSMarc Gonzalez				<0 0>,
1020*cd3dbe2aSMarc Gonzalez				<0 0>,
1021*cd3dbe2aSMarc Gonzalez				<0 0>,
1022*cd3dbe2aSMarc Gonzalez				<0 0>;
1023*cd3dbe2aSMarc Gonzalez
1024*cd3dbe2aSMarc Gonzalez			resets = <&gcc GCC_UFS_BCR>;
1025*cd3dbe2aSMarc Gonzalez			reset-names = "rst";
1026*cd3dbe2aSMarc Gonzalez		};
1027*cd3dbe2aSMarc Gonzalez
1028*cd3dbe2aSMarc Gonzalez		ufsphy: phy@1da7000 {
1029*cd3dbe2aSMarc Gonzalez			compatible = "qcom,msm8998-qmp-ufs-phy";
1030*cd3dbe2aSMarc Gonzalez			reg = <0x01da7000 0x18c>;
1031*cd3dbe2aSMarc Gonzalez			#address-cells = <1>;
1032*cd3dbe2aSMarc Gonzalez			#size-cells = <1>;
1033*cd3dbe2aSMarc Gonzalez			ranges;
1034*cd3dbe2aSMarc Gonzalez
1035*cd3dbe2aSMarc Gonzalez			clock-names =
1036*cd3dbe2aSMarc Gonzalez				"ref",
1037*cd3dbe2aSMarc Gonzalez				"ref_aux";
1038*cd3dbe2aSMarc Gonzalez			clocks =
1039*cd3dbe2aSMarc Gonzalez				<&gcc GCC_UFS_CLKREF_CLK>,
1040*cd3dbe2aSMarc Gonzalez				<&gcc GCC_UFS_PHY_AUX_CLK>;
1041*cd3dbe2aSMarc Gonzalez
1042*cd3dbe2aSMarc Gonzalez			ufsphy_lanes: lanes@1da7400 {
1043*cd3dbe2aSMarc Gonzalez				reg = <0x01da7400 0x128>,
1044*cd3dbe2aSMarc Gonzalez				      <0x01da7600 0x1fc>,
1045*cd3dbe2aSMarc Gonzalez				      <0x01da7c00 0x1dc>,
1046*cd3dbe2aSMarc Gonzalez				      <0x01da7800 0x128>,
1047*cd3dbe2aSMarc Gonzalez				      <0x01da7a00 0x1fc>;
1048*cd3dbe2aSMarc Gonzalez				#phy-cells = <0>;
1049*cd3dbe2aSMarc Gonzalez			};
1050*cd3dbe2aSMarc Gonzalez		};
10514807c71cSJoonwoo Park	};
10524807c71cSJoonwoo Park};
10536da80161SJeffrey Hugo
10546da80161SJeffrey Hugo#include "msm8998-pins.dtsi"
1055