xref: /freebsd/sys/contrib/device-tree/src/arm/qcom/qcom-sdx65.dtsi (revision 01950c46b8155250f64374fb72fc11faa44bf099)
1f126890aSEmmanuel Vadot// SPDX-License-Identifier: BSD-3-Clause
2f126890aSEmmanuel Vadot/*
3f126890aSEmmanuel Vadot * SDX65 SoC device tree source
4f126890aSEmmanuel Vadot *
5f126890aSEmmanuel Vadot * Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved.
6f126890aSEmmanuel Vadot *
7f126890aSEmmanuel Vadot */
8f126890aSEmmanuel Vadot
9f126890aSEmmanuel Vadot#include <dt-bindings/clock/qcom,gcc-sdx65.h>
10f126890aSEmmanuel Vadot#include <dt-bindings/clock/qcom,rpmh.h>
11f126890aSEmmanuel Vadot#include <dt-bindings/gpio/gpio.h>
12f126890aSEmmanuel Vadot#include <dt-bindings/interrupt-controller/arm-gic.h>
13f126890aSEmmanuel Vadot#include <dt-bindings/power/qcom-rpmpd.h>
14f126890aSEmmanuel Vadot#include <dt-bindings/soc/qcom,rpmh-rsc.h>
15f126890aSEmmanuel Vadot#include <dt-bindings/interconnect/qcom,sdx65.h>
16f126890aSEmmanuel Vadot
17f126890aSEmmanuel Vadot/ {
18f126890aSEmmanuel Vadot	#address-cells = <1>;
19f126890aSEmmanuel Vadot	#size-cells = <1>;
20f126890aSEmmanuel Vadot	qcom,msm-id = <458 0x10000>, <483 0x10000>, <509 0x10000>;
21f126890aSEmmanuel Vadot	interrupt-parent = <&intc>;
22f126890aSEmmanuel Vadot
23f126890aSEmmanuel Vadot	memory {
24f126890aSEmmanuel Vadot		device_type = "memory";
25f126890aSEmmanuel Vadot		reg = <0 0>;
26f126890aSEmmanuel Vadot	};
27f126890aSEmmanuel Vadot
28f126890aSEmmanuel Vadot	clocks {
29f126890aSEmmanuel Vadot		xo_board: xo-board {
30f126890aSEmmanuel Vadot			compatible = "fixed-clock";
31f126890aSEmmanuel Vadot			clock-frequency = <76800000>;
32f126890aSEmmanuel Vadot			clock-output-names = "xo_board";
33f126890aSEmmanuel Vadot			#clock-cells = <0>;
34f126890aSEmmanuel Vadot		};
35f126890aSEmmanuel Vadot
36f126890aSEmmanuel Vadot		sleep_clk: sleep-clk {
37f126890aSEmmanuel Vadot			compatible = "fixed-clock";
38f126890aSEmmanuel Vadot			clock-frequency = <32764>;
39f126890aSEmmanuel Vadot			clock-output-names = "sleep_clk";
40f126890aSEmmanuel Vadot			#clock-cells = <0>;
41f126890aSEmmanuel Vadot		};
42f126890aSEmmanuel Vadot
43f126890aSEmmanuel Vadot		nand_clk_dummy: nand-clk-dummy {
44f126890aSEmmanuel Vadot			compatible = "fixed-clock";
45f126890aSEmmanuel Vadot			clock-frequency = <32764>;
46f126890aSEmmanuel Vadot			#clock-cells = <0>;
47f126890aSEmmanuel Vadot		};
48f126890aSEmmanuel Vadot	};
49f126890aSEmmanuel Vadot
50f126890aSEmmanuel Vadot	cpus {
51f126890aSEmmanuel Vadot		#address-cells = <1>;
52f126890aSEmmanuel Vadot		#size-cells = <0>;
53f126890aSEmmanuel Vadot
54f126890aSEmmanuel Vadot		cpu0: cpu@0 {
55f126890aSEmmanuel Vadot			device_type = "cpu";
56f126890aSEmmanuel Vadot			compatible = "arm,cortex-a7";
57f126890aSEmmanuel Vadot			reg = <0x0>;
58f126890aSEmmanuel Vadot			enable-method = "psci";
59f126890aSEmmanuel Vadot			clocks = <&apcs>;
60f126890aSEmmanuel Vadot			power-domains = <&rpmhpd SDX65_CX_AO>;
61f126890aSEmmanuel Vadot			power-domain-names = "rpmhpd";
62f126890aSEmmanuel Vadot			operating-points-v2 = <&cpu_opp_table>;
63f126890aSEmmanuel Vadot		};
64f126890aSEmmanuel Vadot	};
65f126890aSEmmanuel Vadot
66f126890aSEmmanuel Vadot	firmware {
67f126890aSEmmanuel Vadot		scm {
68f126890aSEmmanuel Vadot			compatible = "qcom,scm-sdx65", "qcom,scm";
69f126890aSEmmanuel Vadot		};
70f126890aSEmmanuel Vadot	};
71f126890aSEmmanuel Vadot
72f126890aSEmmanuel Vadot	mc_virt: interconnect-mc-virt {
73f126890aSEmmanuel Vadot		compatible = "qcom,sdx65-mc-virt";
74f126890aSEmmanuel Vadot		#interconnect-cells = <1>;
75f126890aSEmmanuel Vadot		qcom,bcm-voters = <&apps_bcm_voter>;
76f126890aSEmmanuel Vadot	};
77f126890aSEmmanuel Vadot
78f126890aSEmmanuel Vadot	cpu_opp_table: opp-table-cpu {
79f126890aSEmmanuel Vadot		compatible = "operating-points-v2";
80f126890aSEmmanuel Vadot		opp-shared;
81f126890aSEmmanuel Vadot
82f126890aSEmmanuel Vadot		opp-345600000 {
83f126890aSEmmanuel Vadot			opp-hz = /bits/ 64 <345600000>;
84f126890aSEmmanuel Vadot			required-opps = <&rpmhpd_opp_low_svs>;
85f126890aSEmmanuel Vadot		};
86f126890aSEmmanuel Vadot
87f126890aSEmmanuel Vadot		opp-576000000 {
88f126890aSEmmanuel Vadot			opp-hz = /bits/ 64 <576000000>;
89f126890aSEmmanuel Vadot			required-opps = <&rpmhpd_opp_svs>;
90f126890aSEmmanuel Vadot		};
91f126890aSEmmanuel Vadot
92f126890aSEmmanuel Vadot		opp-1094400000 {
93f126890aSEmmanuel Vadot			opp-hz = /bits/ 64 <1094400000>;
94f126890aSEmmanuel Vadot			required-opps = <&rpmhpd_opp_nom>;
95f126890aSEmmanuel Vadot		};
96f126890aSEmmanuel Vadot
97f126890aSEmmanuel Vadot		opp-1497600000 {
98f126890aSEmmanuel Vadot			opp-hz = /bits/ 64 <1497600000>;
99f126890aSEmmanuel Vadot			required-opps = <&rpmhpd_opp_turbo>;
100f126890aSEmmanuel Vadot		};
101f126890aSEmmanuel Vadot	};
102f126890aSEmmanuel Vadot
103f126890aSEmmanuel Vadot	psci {
104f126890aSEmmanuel Vadot		compatible = "arm,psci-1.0";
105f126890aSEmmanuel Vadot		method = "smc";
106f126890aSEmmanuel Vadot	};
107f126890aSEmmanuel Vadot
108f126890aSEmmanuel Vadot	reserved_memory: reserved-memory {
109f126890aSEmmanuel Vadot		#address-cells = <1>;
110f126890aSEmmanuel Vadot		#size-cells = <1>;
111f126890aSEmmanuel Vadot		ranges;
112f126890aSEmmanuel Vadot
113f126890aSEmmanuel Vadot		tz_heap_mem: memory@8fcad000 {
114f126890aSEmmanuel Vadot			no-map;
115f126890aSEmmanuel Vadot			reg = <0x8fcad000 0x40000>;
116f126890aSEmmanuel Vadot		};
117f126890aSEmmanuel Vadot
118f126890aSEmmanuel Vadot		secdata_mem: memory@8fcfd000 {
119f126890aSEmmanuel Vadot			no-map;
120f126890aSEmmanuel Vadot			reg = <0x8fcfd000 0x1000>;
121f126890aSEmmanuel Vadot		};
122f126890aSEmmanuel Vadot
123f126890aSEmmanuel Vadot		hyp_mem: memory@8fd00000 {
124f126890aSEmmanuel Vadot			no-map;
125f126890aSEmmanuel Vadot			reg = <0x8fd00000 0x80000>;
126f126890aSEmmanuel Vadot		};
127f126890aSEmmanuel Vadot
128f126890aSEmmanuel Vadot		access_control_mem: memory@8fd80000 {
129f126890aSEmmanuel Vadot			no-map;
130f126890aSEmmanuel Vadot			reg = <0x8fd80000 0x80000>;
131f126890aSEmmanuel Vadot		};
132f126890aSEmmanuel Vadot
133f126890aSEmmanuel Vadot		aop_mem: memory@8fe00000 {
134f126890aSEmmanuel Vadot			no-map;
135f126890aSEmmanuel Vadot			reg = <0x8fe00000 0x20000>;
136f126890aSEmmanuel Vadot		};
137f126890aSEmmanuel Vadot
138f126890aSEmmanuel Vadot		smem_mem: memory@8fe20000 {
139f126890aSEmmanuel Vadot			compatible = "qcom,smem";
140f126890aSEmmanuel Vadot			reg = <0x8fe20000 0xc0000>;
141f126890aSEmmanuel Vadot			hwlocks = <&tcsr_mutex 3>;
142f126890aSEmmanuel Vadot			no-map;
143f126890aSEmmanuel Vadot		};
144f126890aSEmmanuel Vadot
145f126890aSEmmanuel Vadot		cmd_db: reserved-memory@8fee0000 {
146f126890aSEmmanuel Vadot			compatible = "qcom,cmd-db";
147f126890aSEmmanuel Vadot			reg = <0x8fee0000 0x20000>;
148f126890aSEmmanuel Vadot			no-map;
149f126890aSEmmanuel Vadot		};
150f126890aSEmmanuel Vadot
151f126890aSEmmanuel Vadot		tz_mem: memory@8ff00000 {
152f126890aSEmmanuel Vadot			no-map;
153f126890aSEmmanuel Vadot			reg = <0x8ff00000 0x100000>;
154f126890aSEmmanuel Vadot		};
155f126890aSEmmanuel Vadot
156f126890aSEmmanuel Vadot		tz_apps_mem: memory@90000000 {
157f126890aSEmmanuel Vadot			no-map;
158f126890aSEmmanuel Vadot			reg = <0x90000000 0x500000>;
159f126890aSEmmanuel Vadot		};
160f126890aSEmmanuel Vadot
161f126890aSEmmanuel Vadot		llcc_tcm_mem: memory@15800000 {
162f126890aSEmmanuel Vadot			no-map;
163f126890aSEmmanuel Vadot			reg = <0x15800000 0x800000>;
164f126890aSEmmanuel Vadot		};
165f126890aSEmmanuel Vadot	};
166f126890aSEmmanuel Vadot
167f126890aSEmmanuel Vadot	smp2p-mpss {
168f126890aSEmmanuel Vadot		compatible = "qcom,smp2p";
169f126890aSEmmanuel Vadot		qcom,smem = <435>, <428>;
170f126890aSEmmanuel Vadot		interrupts = <GIC_SPI 113 IRQ_TYPE_EDGE_RISING>;
171f126890aSEmmanuel Vadot		mboxes = <&apcs 14>;
172f126890aSEmmanuel Vadot		qcom,local-pid = <0>;
173f126890aSEmmanuel Vadot		qcom,remote-pid = <1>;
174f126890aSEmmanuel Vadot
175f126890aSEmmanuel Vadot		modem_smp2p_out: master-kernel {
176f126890aSEmmanuel Vadot			qcom,entry-name = "master-kernel";
177f126890aSEmmanuel Vadot			#qcom,smem-state-cells = <1>;
178f126890aSEmmanuel Vadot		};
179f126890aSEmmanuel Vadot
180f126890aSEmmanuel Vadot		modem_smp2p_in: slave-kernel {
181f126890aSEmmanuel Vadot			qcom,entry-name = "slave-kernel";
182f126890aSEmmanuel Vadot			interrupt-controller;
183f126890aSEmmanuel Vadot			#interrupt-cells = <2>;
184f126890aSEmmanuel Vadot		};
185f126890aSEmmanuel Vadot
186f126890aSEmmanuel Vadot		ipa_smp2p_out: ipa-ap-to-modem {
187f126890aSEmmanuel Vadot			qcom,entry-name = "ipa";
188f126890aSEmmanuel Vadot			#qcom,smem-state-cells = <1>;
189f126890aSEmmanuel Vadot		};
190f126890aSEmmanuel Vadot
191f126890aSEmmanuel Vadot		ipa_smp2p_in: ipa-modem-to-ap {
192f126890aSEmmanuel Vadot			qcom,entry-name = "ipa";
193f126890aSEmmanuel Vadot			interrupt-controller;
194f126890aSEmmanuel Vadot			#interrupt-cells = <2>;
195f126890aSEmmanuel Vadot		};
196f126890aSEmmanuel Vadot	};
197f126890aSEmmanuel Vadot
198f126890aSEmmanuel Vadot	soc: soc {
199f126890aSEmmanuel Vadot		#address-cells = <1>;
200f126890aSEmmanuel Vadot		#size-cells = <1>;
201f126890aSEmmanuel Vadot		ranges;
202f126890aSEmmanuel Vadot		compatible = "simple-bus";
203f126890aSEmmanuel Vadot
204f126890aSEmmanuel Vadot		gcc: clock-controller@100000 {
205f126890aSEmmanuel Vadot			compatible = "qcom,gcc-sdx65";
206f126890aSEmmanuel Vadot			reg = <0x00100000 0x001f7400>;
2078d13bc63SEmmanuel Vadot			clocks = <&rpmhcc RPMH_CXO_CLK>,
2088d13bc63SEmmanuel Vadot				 <&rpmhcc RPMH_CXO_CLK_A>,
2098d13bc63SEmmanuel Vadot				 <&sleep_clk>,
2108d13bc63SEmmanuel Vadot				 <&pcie_phy>,
2118d13bc63SEmmanuel Vadot				 <0>;
2128d13bc63SEmmanuel Vadot			clock-names = "bi_tcxo",
2138d13bc63SEmmanuel Vadot				      "bi_tcxo_ao",
2148d13bc63SEmmanuel Vadot				      "sleep_clk",
2158d13bc63SEmmanuel Vadot				      "pcie_pipe_clk",
2168d13bc63SEmmanuel Vadot				      "usb3_phy_wrapper_gcc_usb30_pipe_clk";
217f126890aSEmmanuel Vadot			#power-domain-cells = <1>;
218f126890aSEmmanuel Vadot			#clock-cells = <1>;
219f126890aSEmmanuel Vadot			#reset-cells = <1>;
220f126890aSEmmanuel Vadot		};
221f126890aSEmmanuel Vadot
222f126890aSEmmanuel Vadot		blsp1_uart3: serial@831000 {
223f126890aSEmmanuel Vadot			compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
224f126890aSEmmanuel Vadot			reg = <0x00831000 0x200>;
225f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
226f126890aSEmmanuel Vadot			clocks = <&gcc GCC_BLSP1_UART3_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>;
227f126890aSEmmanuel Vadot			clock-names = "core", "iface";
228f126890aSEmmanuel Vadot			status = "disabled";
229f126890aSEmmanuel Vadot		};
230f126890aSEmmanuel Vadot
231f126890aSEmmanuel Vadot		usb_hsphy: phy@ff4000 {
232f126890aSEmmanuel Vadot			compatible = "qcom,sdx65-usb-hs-phy",
233f126890aSEmmanuel Vadot				     "qcom,usb-snps-hs-7nm-phy";
234f126890aSEmmanuel Vadot			reg = <0xff4000 0x120>;
235f126890aSEmmanuel Vadot			#phy-cells = <0>;
236f126890aSEmmanuel Vadot			clocks = <&rpmhcc RPMH_CXO_CLK>;
237f126890aSEmmanuel Vadot			clock-names = "ref";
238f126890aSEmmanuel Vadot			resets = <&gcc GCC_QUSB2PHY_BCR>;
239f126890aSEmmanuel Vadot			status = "disabled";
240f126890aSEmmanuel Vadot		};
241f126890aSEmmanuel Vadot
242f126890aSEmmanuel Vadot		usb_qmpphy: phy@ff6000 {
243f126890aSEmmanuel Vadot			compatible = "qcom,sdx65-qmp-usb3-uni-phy";
2448d13bc63SEmmanuel Vadot			reg = <0x00ff6000 0x2000>;
245f126890aSEmmanuel Vadot
246f126890aSEmmanuel Vadot			clocks = <&gcc GCC_USB3_PHY_AUX_CLK>,
2478d13bc63SEmmanuel Vadot				 <&gcc GCC_USB3_PRIM_CLKREF_EN>,
248f126890aSEmmanuel Vadot				 <&gcc GCC_USB_PHY_CFG_AHB2PHY_CLK>,
2498d13bc63SEmmanuel Vadot				 <&gcc GCC_USB3_PHY_PIPE_CLK>;
2508d13bc63SEmmanuel Vadot			clock-names = "aux",
2518d13bc63SEmmanuel Vadot				      "ref",
2528d13bc63SEmmanuel Vadot				      "cfg_ahb",
2538d13bc63SEmmanuel Vadot				      "pipe";
2548d13bc63SEmmanuel Vadot			clock-output-names = "usb3_uni_phy_pipe_clk_src";
2558d13bc63SEmmanuel Vadot			#clock-cells = <0>;
2568d13bc63SEmmanuel Vadot			#phy-cells = <0>;
257f126890aSEmmanuel Vadot
2588d13bc63SEmmanuel Vadot			resets = <&gcc GCC_USB3_PHY_BCR>,
2598d13bc63SEmmanuel Vadot				 <&gcc GCC_USB3PHY_PHY_BCR>;
2608d13bc63SEmmanuel Vadot			reset-names = "phy",
2618d13bc63SEmmanuel Vadot				      "phy_phy";
262f126890aSEmmanuel Vadot
263f126890aSEmmanuel Vadot			status = "disabled";
264f126890aSEmmanuel Vadot
265f126890aSEmmanuel Vadot		};
266f126890aSEmmanuel Vadot
267f126890aSEmmanuel Vadot		system_noc: interconnect@1620000 {
268f126890aSEmmanuel Vadot			compatible = "qcom,sdx65-system-noc";
269f126890aSEmmanuel Vadot			reg = <0x01620000 0x31200>;
270f126890aSEmmanuel Vadot			#interconnect-cells = <1>;
271f126890aSEmmanuel Vadot			qcom,bcm-voters = <&apps_bcm_voter>;
272f126890aSEmmanuel Vadot		};
273f126890aSEmmanuel Vadot
274f126890aSEmmanuel Vadot		qpic_bam: dma-controller@1b04000 {
275f126890aSEmmanuel Vadot			compatible = "qcom,bam-v1.7.0";
276f126890aSEmmanuel Vadot			reg = <0x01b04000 0x1c000>;
277f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>;
278f126890aSEmmanuel Vadot			clocks = <&rpmhcc RPMH_QPIC_CLK>;
279f126890aSEmmanuel Vadot			clock-names = "bam_clk";
280f126890aSEmmanuel Vadot			#dma-cells = <1>;
281f126890aSEmmanuel Vadot			qcom,ee = <0>;
282f126890aSEmmanuel Vadot			qcom,controlled-remotely;
283f126890aSEmmanuel Vadot			status = "disabled";
284f126890aSEmmanuel Vadot		};
285f126890aSEmmanuel Vadot
286f126890aSEmmanuel Vadot		qpic_nand: nand-controller@1b30000 {
287f126890aSEmmanuel Vadot			compatible = "qcom,sdx55-nand";
288f126890aSEmmanuel Vadot			reg = <0x01b30000 0x10000>;
289f126890aSEmmanuel Vadot			#address-cells = <1>;
290f126890aSEmmanuel Vadot			#size-cells = <0>;
291f126890aSEmmanuel Vadot			clocks = <&rpmhcc RPMH_QPIC_CLK>,
292f126890aSEmmanuel Vadot				 <&nand_clk_dummy>;
293f126890aSEmmanuel Vadot			clock-names = "core", "aon";
294f126890aSEmmanuel Vadot
295f126890aSEmmanuel Vadot			dmas = <&qpic_bam 0>,
296f126890aSEmmanuel Vadot			       <&qpic_bam 1>,
297f126890aSEmmanuel Vadot			       <&qpic_bam 2>;
298f126890aSEmmanuel Vadot			dma-names = "tx", "rx", "cmd";
299f126890aSEmmanuel Vadot			status = "disabled";
300f126890aSEmmanuel Vadot		};
301f126890aSEmmanuel Vadot
302f126890aSEmmanuel Vadot		pcie_ep: pcie-ep@1c00000 {
303f126890aSEmmanuel Vadot			compatible = "qcom,sdx65-pcie-ep", "qcom,sdx55-pcie-ep";
304f126890aSEmmanuel Vadot			reg = <0x01c00000 0x3000>,
305f126890aSEmmanuel Vadot			      <0x40000000 0xf1d>,
306f126890aSEmmanuel Vadot			      <0x40000f20 0xa8>,
307f126890aSEmmanuel Vadot			      <0x40001000 0x1000>,
308f126890aSEmmanuel Vadot			      <0x40200000 0x100000>,
309f126890aSEmmanuel Vadot			      <0x01c03000 0x3000>;
310f126890aSEmmanuel Vadot			reg-names = "parf",
311f126890aSEmmanuel Vadot				    "dbi",
312f126890aSEmmanuel Vadot				    "elbi",
313f126890aSEmmanuel Vadot				    "atu",
314f126890aSEmmanuel Vadot				    "addr_space",
315f126890aSEmmanuel Vadot				    "mmio";
316f126890aSEmmanuel Vadot
317f126890aSEmmanuel Vadot			qcom,perst-regs = <&tcsr 0xb258 0xb270>;
318f126890aSEmmanuel Vadot
319f126890aSEmmanuel Vadot			clocks = <&gcc GCC_PCIE_AUX_CLK>,
320f126890aSEmmanuel Vadot				 <&gcc GCC_PCIE_CFG_AHB_CLK>,
321f126890aSEmmanuel Vadot				 <&gcc GCC_PCIE_MSTR_AXI_CLK>,
322f126890aSEmmanuel Vadot				 <&gcc GCC_PCIE_SLV_AXI_CLK>,
323f126890aSEmmanuel Vadot				 <&gcc GCC_PCIE_SLV_Q2A_AXI_CLK>,
324f126890aSEmmanuel Vadot				 <&gcc GCC_PCIE_SLEEP_CLK>,
325f126890aSEmmanuel Vadot				 <&gcc GCC_PCIE_0_CLKREF_EN>;
326f126890aSEmmanuel Vadot			clock-names = "aux",
327f126890aSEmmanuel Vadot				      "cfg",
328f126890aSEmmanuel Vadot				      "bus_master",
329f126890aSEmmanuel Vadot				      "bus_slave",
330f126890aSEmmanuel Vadot				      "slave_q2a",
331f126890aSEmmanuel Vadot				      "sleep",
332f126890aSEmmanuel Vadot				      "ref";
333f126890aSEmmanuel Vadot
334f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>,
335f126890aSEmmanuel Vadot				     <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>;
336f126890aSEmmanuel Vadot			interrupt-names = "global", "doorbell";
337f126890aSEmmanuel Vadot
338f126890aSEmmanuel Vadot			resets = <&gcc GCC_PCIE_BCR>;
339f126890aSEmmanuel Vadot			reset-names = "core";
340f126890aSEmmanuel Vadot
341f126890aSEmmanuel Vadot			power-domains = <&gcc PCIE_GDSC>;
342f126890aSEmmanuel Vadot
343f126890aSEmmanuel Vadot			phys = <&pcie_phy>;
3448d13bc63SEmmanuel Vadot			phy-names = "pciephy";
345f126890aSEmmanuel Vadot
346f126890aSEmmanuel Vadot			max-link-speed = <3>;
347f126890aSEmmanuel Vadot			num-lanes = <2>;
348f126890aSEmmanuel Vadot
349f126890aSEmmanuel Vadot			status = "disabled";
350f126890aSEmmanuel Vadot		};
351f126890aSEmmanuel Vadot
352f126890aSEmmanuel Vadot		pcie_phy: phy@1c06000 {
353f126890aSEmmanuel Vadot			compatible = "qcom,sdx65-qmp-gen4x2-pcie-phy";
354f126890aSEmmanuel Vadot			reg = <0x01c06000 0x2000>;
355f126890aSEmmanuel Vadot
356f126890aSEmmanuel Vadot			clocks = <&gcc GCC_PCIE_AUX_PHY_CLK_SRC>,
357f126890aSEmmanuel Vadot				 <&gcc GCC_PCIE_CFG_AHB_CLK>,
358f126890aSEmmanuel Vadot				 <&gcc GCC_PCIE_0_CLKREF_EN>,
359f126890aSEmmanuel Vadot				 <&gcc GCC_PCIE_RCHNG_PHY_CLK>,
360f126890aSEmmanuel Vadot				 <&gcc GCC_PCIE_PIPE_CLK>;
361f126890aSEmmanuel Vadot			clock-names = "aux",
362f126890aSEmmanuel Vadot				      "cfg_ahb",
363f126890aSEmmanuel Vadot				      "ref",
364f126890aSEmmanuel Vadot				      "rchng",
365f126890aSEmmanuel Vadot				      "pipe";
366f126890aSEmmanuel Vadot
367f126890aSEmmanuel Vadot			resets = <&gcc GCC_PCIE_PHY_BCR>;
368f126890aSEmmanuel Vadot			reset-names = "phy";
369f126890aSEmmanuel Vadot
370f126890aSEmmanuel Vadot			assigned-clocks = <&gcc GCC_PCIE_RCHNG_PHY_CLK>;
371f126890aSEmmanuel Vadot			assigned-clock-rates = <100000000>;
372f126890aSEmmanuel Vadot
373f126890aSEmmanuel Vadot			power-domains = <&gcc PCIE_GDSC>;
374f126890aSEmmanuel Vadot
375f126890aSEmmanuel Vadot			#clock-cells = <0>;
376f126890aSEmmanuel Vadot			clock-output-names = "pcie_pipe_clk";
377f126890aSEmmanuel Vadot
378f126890aSEmmanuel Vadot			#phy-cells = <0>;
379f126890aSEmmanuel Vadot
380f126890aSEmmanuel Vadot			status = "disabled";
381f126890aSEmmanuel Vadot		};
382f126890aSEmmanuel Vadot
383f126890aSEmmanuel Vadot		tcsr_mutex: hwlock@1f40000 {
384f126890aSEmmanuel Vadot			compatible = "qcom,tcsr-mutex";
385f126890aSEmmanuel Vadot			reg = <0x01f40000 0x40000>;
386f126890aSEmmanuel Vadot			#hwlock-cells = <1>;
387f126890aSEmmanuel Vadot		};
388f126890aSEmmanuel Vadot
389f126890aSEmmanuel Vadot		tcsr: syscon@1fcb000 {
390f126890aSEmmanuel Vadot			compatible = "qcom,sdx65-tcsr", "syscon";
391f126890aSEmmanuel Vadot			reg = <0x01fc0000 0x1000>;
392f126890aSEmmanuel Vadot		};
393f126890aSEmmanuel Vadot
394f126890aSEmmanuel Vadot		ipa: ipa@3f40000 {
395f126890aSEmmanuel Vadot			compatible = "qcom,sdx65-ipa";
396f126890aSEmmanuel Vadot
397f126890aSEmmanuel Vadot			reg = <0x03f40000 0x10000>,
398f126890aSEmmanuel Vadot			      <0x03f50000 0x5000>,
399f126890aSEmmanuel Vadot			      <0x03e04000 0xfc000>;
400f126890aSEmmanuel Vadot			reg-names = "ipa-reg",
401f126890aSEmmanuel Vadot				    "ipa-shared",
402f126890aSEmmanuel Vadot				    "gsi";
403f126890aSEmmanuel Vadot
404f126890aSEmmanuel Vadot			interrupts-extended = <&intc GIC_SPI 241 IRQ_TYPE_EDGE_RISING>,
405f126890aSEmmanuel Vadot					      <&intc GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>,
406f126890aSEmmanuel Vadot					      <&ipa_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
407f126890aSEmmanuel Vadot					      <&ipa_smp2p_in 1 IRQ_TYPE_EDGE_RISING>;
408f126890aSEmmanuel Vadot			interrupt-names = "ipa",
409f126890aSEmmanuel Vadot					  "gsi",
410f126890aSEmmanuel Vadot					  "ipa-clock-query",
411f126890aSEmmanuel Vadot					  "ipa-setup-ready";
412f126890aSEmmanuel Vadot
413f126890aSEmmanuel Vadot			iommus = <&apps_smmu 0x5e0 0x0>,
414f126890aSEmmanuel Vadot				 <&apps_smmu 0x5e2 0x0>;
415f126890aSEmmanuel Vadot
416f126890aSEmmanuel Vadot			clocks = <&rpmhcc RPMH_IPA_CLK>;
417f126890aSEmmanuel Vadot			clock-names = "core";
418f126890aSEmmanuel Vadot
419f126890aSEmmanuel Vadot			interconnects = <&system_noc MASTER_IPA &mc_virt SLAVE_EBI1>,
420f126890aSEmmanuel Vadot					<&mem_noc MASTER_APPSS_PROC &system_noc SLAVE_IPA_CFG>;
421f126890aSEmmanuel Vadot			interconnect-names = "memory",
422f126890aSEmmanuel Vadot					     "config";
423f126890aSEmmanuel Vadot
424f126890aSEmmanuel Vadot			qcom,smem-states = <&ipa_smp2p_out 0>,
425f126890aSEmmanuel Vadot					   <&ipa_smp2p_out 1>;
426f126890aSEmmanuel Vadot			qcom,smem-state-names = "ipa-clock-enabled-valid",
427f126890aSEmmanuel Vadot						"ipa-clock-enabled";
428f126890aSEmmanuel Vadot
429f126890aSEmmanuel Vadot			status = "disabled";
430f126890aSEmmanuel Vadot		};
431f126890aSEmmanuel Vadot
432f126890aSEmmanuel Vadot		remoteproc_mpss: remoteproc@4080000 {
433f126890aSEmmanuel Vadot			compatible = "qcom,sdx55-mpss-pas";
434f126890aSEmmanuel Vadot			reg = <0x04080000 0x4040>;
435f126890aSEmmanuel Vadot
436f126890aSEmmanuel Vadot			interrupts-extended = <&intc GIC_SPI 250 IRQ_TYPE_EDGE_RISING>,
437f126890aSEmmanuel Vadot					      <&modem_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
438f126890aSEmmanuel Vadot					      <&modem_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
439f126890aSEmmanuel Vadot					      <&modem_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
440f126890aSEmmanuel Vadot					      <&modem_smp2p_in 3 IRQ_TYPE_EDGE_RISING>,
441f126890aSEmmanuel Vadot					      <&modem_smp2p_in 7 IRQ_TYPE_EDGE_RISING>;
442f126890aSEmmanuel Vadot			interrupt-names = "wdog", "fatal", "ready", "handover",
443f126890aSEmmanuel Vadot					  "stop-ack", "shutdown-ack";
444f126890aSEmmanuel Vadot
445f126890aSEmmanuel Vadot			clocks = <&rpmhcc RPMH_CXO_CLK>;
446f126890aSEmmanuel Vadot			clock-names = "xo";
447f126890aSEmmanuel Vadot
448f126890aSEmmanuel Vadot			power-domains = <&rpmhpd SDX65_CX>,
449f126890aSEmmanuel Vadot					<&rpmhpd SDX65_MSS>;
450f126890aSEmmanuel Vadot			power-domain-names = "cx", "mss";
451f126890aSEmmanuel Vadot
452f126890aSEmmanuel Vadot			qcom,smem-states = <&modem_smp2p_out 0>;
453f126890aSEmmanuel Vadot			qcom,smem-state-names = "stop";
454f126890aSEmmanuel Vadot
455f126890aSEmmanuel Vadot			status = "disabled";
456f126890aSEmmanuel Vadot
457f126890aSEmmanuel Vadot			glink-edge {
458f126890aSEmmanuel Vadot				interrupts = <GIC_SPI 114 IRQ_TYPE_EDGE_RISING>;
459f126890aSEmmanuel Vadot				label = "mpss";
460f126890aSEmmanuel Vadot				qcom,remote-pid = <1>;
461f126890aSEmmanuel Vadot				mboxes = <&apcs 15>;
462f126890aSEmmanuel Vadot			};
463f126890aSEmmanuel Vadot		};
464f126890aSEmmanuel Vadot
465f126890aSEmmanuel Vadot		sdhc_1: mmc@8804000 {
466f126890aSEmmanuel Vadot			compatible = "qcom,sdx65-sdhci", "qcom,sdhci-msm-v5";
467f126890aSEmmanuel Vadot			reg = <0x08804000 0x1000>;
468f126890aSEmmanuel Vadot			reg-names = "hc";
469f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 210 IRQ_TYPE_LEVEL_HIGH>,
470f126890aSEmmanuel Vadot				     <GIC_SPI 227 IRQ_TYPE_LEVEL_HIGH>;
471f126890aSEmmanuel Vadot			interrupt-names = "hc_irq", "pwr_irq";
47284943d6fSEmmanuel Vadot			clocks = <&gcc GCC_SDCC1_AHB_CLK>,
47384943d6fSEmmanuel Vadot				 <&gcc GCC_SDCC1_APPS_CLK>;
47484943d6fSEmmanuel Vadot			clock-names = "iface", "core";
475f126890aSEmmanuel Vadot			status = "disabled";
476f126890aSEmmanuel Vadot		};
477f126890aSEmmanuel Vadot
478f126890aSEmmanuel Vadot		mem_noc: interconnect@9680000 {
479f126890aSEmmanuel Vadot			compatible = "qcom,sdx65-mem-noc";
480f126890aSEmmanuel Vadot			reg = <0x09680000 0x27200>;
481f126890aSEmmanuel Vadot			#interconnect-cells = <1>;
482f126890aSEmmanuel Vadot			qcom,bcm-voters = <&apps_bcm_voter>;
483f126890aSEmmanuel Vadot		};
484f126890aSEmmanuel Vadot
485f126890aSEmmanuel Vadot		usb: usb@a6f8800 {
486f126890aSEmmanuel Vadot			compatible = "qcom,sdx65-dwc3", "qcom,dwc3";
487f126890aSEmmanuel Vadot			reg = <0x0a6f8800 0x400>;
488f126890aSEmmanuel Vadot			#address-cells = <1>;
489f126890aSEmmanuel Vadot			#size-cells = <1>;
490f126890aSEmmanuel Vadot			ranges;
491f126890aSEmmanuel Vadot
492f126890aSEmmanuel Vadot			clocks = <&gcc GCC_USB30_SLV_AHB_CLK>,
493f126890aSEmmanuel Vadot				 <&gcc GCC_USB30_MASTER_CLK>,
494f126890aSEmmanuel Vadot				 <&gcc GCC_USB30_MSTR_AXI_CLK>,
495*01950c46SEmmanuel Vadot				 <&gcc GCC_USB30_SLEEP_CLK>,
496*01950c46SEmmanuel Vadot				 <&gcc GCC_USB30_MOCK_UTMI_CLK>;
497*01950c46SEmmanuel Vadot			clock-names = "cfg_noc", "core", "iface", "sleep",
498*01950c46SEmmanuel Vadot				      "mock_utmi";
499f126890aSEmmanuel Vadot
500f126890aSEmmanuel Vadot			assigned-clocks = <&gcc GCC_USB30_MOCK_UTMI_CLK>,
501f126890aSEmmanuel Vadot					  <&gcc GCC_USB30_MASTER_CLK>;
502f126890aSEmmanuel Vadot			assigned-clock-rates = <19200000>, <200000000>;
503f126890aSEmmanuel Vadot
504*01950c46SEmmanuel Vadot			interrupts-extended = <&intc GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>,
505*01950c46SEmmanuel Vadot					      <&intc GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>,
506*01950c46SEmmanuel Vadot					      <&pdc 19 IRQ_TYPE_EDGE_BOTH>,
507f126890aSEmmanuel Vadot					      <&pdc 18 IRQ_TYPE_EDGE_BOTH>,
508*01950c46SEmmanuel Vadot					      <&pdc 76 IRQ_TYPE_LEVEL_HIGH>;
509*01950c46SEmmanuel Vadot			interrupt-names = "pwr_event",
510*01950c46SEmmanuel Vadot					  "hs_phy_irq",
511*01950c46SEmmanuel Vadot					  "dp_hs_phy_irq",
512f126890aSEmmanuel Vadot					  "dm_hs_phy_irq",
513*01950c46SEmmanuel Vadot					  "ss_phy_irq";
514f126890aSEmmanuel Vadot
515f126890aSEmmanuel Vadot			power-domains = <&gcc USB30_GDSC>;
516f126890aSEmmanuel Vadot
517f126890aSEmmanuel Vadot			resets = <&gcc GCC_USB30_BCR>;
518f126890aSEmmanuel Vadot
519f126890aSEmmanuel Vadot			status = "disabled";
520f126890aSEmmanuel Vadot
521f126890aSEmmanuel Vadot			usb_dwc3: usb@a600000 {
522f126890aSEmmanuel Vadot				compatible = "snps,dwc3";
523f126890aSEmmanuel Vadot				reg = <0x0a600000 0xcd00>;
524f126890aSEmmanuel Vadot				interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>;
525f126890aSEmmanuel Vadot				iommus = <&apps_smmu 0x1a0 0x0>;
526f126890aSEmmanuel Vadot				snps,dis_u2_susphy_quirk;
527f126890aSEmmanuel Vadot				snps,dis_enblslpm_quirk;
5288d13bc63SEmmanuel Vadot				phys = <&usb_hsphy>, <&usb_qmpphy>;
529f126890aSEmmanuel Vadot				phy-names = "usb2-phy", "usb3-phy";
530f126890aSEmmanuel Vadot			};
531f126890aSEmmanuel Vadot		};
532f126890aSEmmanuel Vadot
533f126890aSEmmanuel Vadot		restart@c264000 {
534f126890aSEmmanuel Vadot			compatible = "qcom,pshold";
535f126890aSEmmanuel Vadot			reg = <0x0c264000 0x1000>;
536f126890aSEmmanuel Vadot		};
537f126890aSEmmanuel Vadot
5388d13bc63SEmmanuel Vadot		spmi_bus: spmi@c440000 {
539f126890aSEmmanuel Vadot			compatible = "qcom,spmi-pmic-arb";
540f126890aSEmmanuel Vadot			reg = <0xc440000 0xd00>,
541f126890aSEmmanuel Vadot				<0xc600000 0x2000000>,
542f126890aSEmmanuel Vadot				<0xe600000 0x100000>,
543f126890aSEmmanuel Vadot				<0xe700000 0xa0000>,
544f126890aSEmmanuel Vadot				<0xc40a000 0x26000>;
545f126890aSEmmanuel Vadot			reg-names = "core", "chnls", "obsrvr", "intr", "cnfg";
546f126890aSEmmanuel Vadot			interrupts-extended = <&pdc 1 IRQ_TYPE_LEVEL_HIGH>;
547f126890aSEmmanuel Vadot			interrupt-names = "periph_irq";
548f126890aSEmmanuel Vadot			interrupt-controller;
549f126890aSEmmanuel Vadot			#interrupt-cells = <4>;
550f126890aSEmmanuel Vadot			#address-cells = <2>;
551f126890aSEmmanuel Vadot			#size-cells = <0>;
552f126890aSEmmanuel Vadot			qcom,channel = <0>;
553f126890aSEmmanuel Vadot			qcom,ee = <0>;
554f126890aSEmmanuel Vadot		};
555f126890aSEmmanuel Vadot
556f126890aSEmmanuel Vadot		tlmm: pinctrl@f100000 {
557f126890aSEmmanuel Vadot			compatible = "qcom,sdx65-tlmm";
558f126890aSEmmanuel Vadot			reg = <0xf100000 0x300000>;
559f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 212 IRQ_TYPE_LEVEL_HIGH>;
560f126890aSEmmanuel Vadot			gpio-controller;
561f126890aSEmmanuel Vadot			#gpio-cells = <2>;
562f126890aSEmmanuel Vadot			gpio-ranges = <&tlmm 0 0 109>;
563f126890aSEmmanuel Vadot			interrupt-controller;
564f126890aSEmmanuel Vadot			interrupt-parent = <&intc>;
565f126890aSEmmanuel Vadot			#interrupt-cells = <2>;
566f126890aSEmmanuel Vadot		};
567f126890aSEmmanuel Vadot
568f126890aSEmmanuel Vadot		pdc: interrupt-controller@b210000 {
569f126890aSEmmanuel Vadot			compatible = "qcom,sdx65-pdc", "qcom,pdc";
570f126890aSEmmanuel Vadot			reg = <0xb210000 0x10000>;
571f126890aSEmmanuel Vadot			qcom,pdc-ranges = <0 147 52>, <52 266 32>;
572f126890aSEmmanuel Vadot			#interrupt-cells = <2>;
573f126890aSEmmanuel Vadot			interrupt-parent = <&intc>;
574f126890aSEmmanuel Vadot			interrupt-controller;
575f126890aSEmmanuel Vadot		};
576f126890aSEmmanuel Vadot
577f126890aSEmmanuel Vadot		sram@1468f000 {
578f126890aSEmmanuel Vadot			compatible = "qcom,sdx65-imem", "syscon", "simple-mfd";
579f126890aSEmmanuel Vadot			reg = <0x1468f000 0x1000>;
580f126890aSEmmanuel Vadot			ranges = <0x0 0x1468f000 0x1000>;
581f126890aSEmmanuel Vadot			#address-cells = <1>;
582f126890aSEmmanuel Vadot			#size-cells = <1>;
583f126890aSEmmanuel Vadot
584f126890aSEmmanuel Vadot			pil-reloc@94c {
585f126890aSEmmanuel Vadot				compatible = "qcom,pil-reloc-info";
586f126890aSEmmanuel Vadot				reg = <0x94c 0xc8>;
587f126890aSEmmanuel Vadot			};
588f126890aSEmmanuel Vadot		};
589f126890aSEmmanuel Vadot
590f126890aSEmmanuel Vadot		apps_smmu: iommu@15000000 {
591f126890aSEmmanuel Vadot			compatible = "qcom,sdx65-smmu-500", "qcom,smmu-500", "arm,mmu-500";
592f126890aSEmmanuel Vadot			reg = <0x15000000 0x40000>;
593f126890aSEmmanuel Vadot			#iommu-cells = <2>;
594f126890aSEmmanuel Vadot			#global-interrupts = <1>;
595f126890aSEmmanuel Vadot			interrupts =	<GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>,
596f126890aSEmmanuel Vadot					<GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>,
597f126890aSEmmanuel Vadot					<GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>,
598f126890aSEmmanuel Vadot					<GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>,
599f126890aSEmmanuel Vadot					<GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>,
600f126890aSEmmanuel Vadot					<GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>,
601f126890aSEmmanuel Vadot					<GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>,
602f126890aSEmmanuel Vadot					<GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>,
603f126890aSEmmanuel Vadot					<GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>,
604f126890aSEmmanuel Vadot					<GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>,
605f126890aSEmmanuel Vadot					<GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>,
606f126890aSEmmanuel Vadot					<GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>,
607f126890aSEmmanuel Vadot					<GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>,
608f126890aSEmmanuel Vadot					<GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>,
609f126890aSEmmanuel Vadot					<GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>,
610f126890aSEmmanuel Vadot					<GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>,
611f126890aSEmmanuel Vadot					<GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>,
612f126890aSEmmanuel Vadot					<GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>,
613f126890aSEmmanuel Vadot					<GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>,
614f126890aSEmmanuel Vadot					<GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>,
615f126890aSEmmanuel Vadot					<GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>,
616f126890aSEmmanuel Vadot					<GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>,
617f126890aSEmmanuel Vadot					<GIC_SPI 298 IRQ_TYPE_LEVEL_HIGH>,
618f126890aSEmmanuel Vadot					<GIC_SPI 299 IRQ_TYPE_LEVEL_HIGH>,
619f126890aSEmmanuel Vadot					<GIC_SPI 300 IRQ_TYPE_LEVEL_HIGH>,
620f126890aSEmmanuel Vadot					<GIC_SPI 301 IRQ_TYPE_LEVEL_HIGH>,
621f126890aSEmmanuel Vadot					<GIC_SPI 302 IRQ_TYPE_LEVEL_HIGH>,
622f126890aSEmmanuel Vadot					<GIC_SPI 303 IRQ_TYPE_LEVEL_HIGH>,
623f126890aSEmmanuel Vadot					<GIC_SPI 304 IRQ_TYPE_LEVEL_HIGH>,
624f126890aSEmmanuel Vadot					<GIC_SPI 305 IRQ_TYPE_LEVEL_HIGH>,
625f126890aSEmmanuel Vadot					<GIC_SPI 306 IRQ_TYPE_LEVEL_HIGH>,
626f126890aSEmmanuel Vadot					<GIC_SPI 307 IRQ_TYPE_LEVEL_HIGH>,
627f126890aSEmmanuel Vadot					<GIC_SPI 308 IRQ_TYPE_LEVEL_HIGH>;
628f126890aSEmmanuel Vadot		};
629f126890aSEmmanuel Vadot
630f126890aSEmmanuel Vadot		intc: interrupt-controller@17800000 {
631f126890aSEmmanuel Vadot			compatible = "qcom,msm-qgic2";
632f126890aSEmmanuel Vadot			interrupt-controller;
633f126890aSEmmanuel Vadot			interrupt-parent = <&intc>;
634f126890aSEmmanuel Vadot			#interrupt-cells = <3>;
635f126890aSEmmanuel Vadot			reg = <0x17800000 0x1000>,
636f126890aSEmmanuel Vadot			      <0x17802000 0x1000>;
637f126890aSEmmanuel Vadot		};
638f126890aSEmmanuel Vadot
639f126890aSEmmanuel Vadot		a7pll: clock@17808000 {
640f126890aSEmmanuel Vadot			compatible = "qcom,sdx55-a7pll";
641f126890aSEmmanuel Vadot			reg = <0x17808000 0x1000>;
642f126890aSEmmanuel Vadot			clocks = <&rpmhcc RPMH_CXO_CLK>;
643f126890aSEmmanuel Vadot			clock-names = "bi_tcxo";
644f126890aSEmmanuel Vadot			#clock-cells = <0>;
645f126890aSEmmanuel Vadot		};
646f126890aSEmmanuel Vadot
647f126890aSEmmanuel Vadot		apcs: mailbox@17810000 {
648f126890aSEmmanuel Vadot			compatible = "qcom,sdx55-apcs-gcc", "syscon";
649f126890aSEmmanuel Vadot			reg = <0x17810000 0x2000>;
650f126890aSEmmanuel Vadot			#mbox-cells = <1>;
651f126890aSEmmanuel Vadot			clocks = <&rpmhcc RPMH_CXO_CLK>, <&a7pll>, <&gcc GPLL0>;
652f126890aSEmmanuel Vadot			clock-names = "ref", "pll", "aux";
653f126890aSEmmanuel Vadot			#clock-cells = <0>;
654f126890aSEmmanuel Vadot		};
655f126890aSEmmanuel Vadot
656f126890aSEmmanuel Vadot		watchdog@17817000 {
657f126890aSEmmanuel Vadot			compatible = "qcom,apss-wdt-sdx65", "qcom,kpss-wdt";
658f126890aSEmmanuel Vadot			reg = <0x17817000 0x1000>;
659f126890aSEmmanuel Vadot			clocks = <&sleep_clk>;
660f126890aSEmmanuel Vadot		};
661f126890aSEmmanuel Vadot
662f126890aSEmmanuel Vadot		timer@17820000 {
663f126890aSEmmanuel Vadot			#address-cells = <1>;
664f126890aSEmmanuel Vadot			#size-cells = <1>;
665f126890aSEmmanuel Vadot			ranges;
666f126890aSEmmanuel Vadot			compatible = "arm,armv7-timer-mem";
667f126890aSEmmanuel Vadot			reg = <0x17820000 0x1000>;
668f126890aSEmmanuel Vadot			clock-frequency = <19200000>;
669f126890aSEmmanuel Vadot
670f126890aSEmmanuel Vadot			frame@17821000 {
671f126890aSEmmanuel Vadot				frame-number = <0>;
672*01950c46SEmmanuel Vadot				interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>,
673*01950c46SEmmanuel Vadot					     <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
674f126890aSEmmanuel Vadot				reg = <0x17821000 0x1000>,
675f126890aSEmmanuel Vadot				      <0x17822000 0x1000>;
676f126890aSEmmanuel Vadot			};
677f126890aSEmmanuel Vadot
678f126890aSEmmanuel Vadot			frame@17823000 {
679f126890aSEmmanuel Vadot				frame-number = <1>;
680*01950c46SEmmanuel Vadot				interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
681f126890aSEmmanuel Vadot				reg = <0x17823000 0x1000>;
682f126890aSEmmanuel Vadot				status = "disabled";
683f126890aSEmmanuel Vadot			};
684f126890aSEmmanuel Vadot
685f126890aSEmmanuel Vadot			frame@17824000 {
686f126890aSEmmanuel Vadot				frame-number = <2>;
687*01950c46SEmmanuel Vadot				interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
688f126890aSEmmanuel Vadot				reg = <0x17824000 0x1000>;
689f126890aSEmmanuel Vadot				status = "disabled";
690f126890aSEmmanuel Vadot			};
691f126890aSEmmanuel Vadot
692f126890aSEmmanuel Vadot			frame@17825000 {
693f126890aSEmmanuel Vadot				frame-number = <3>;
694*01950c46SEmmanuel Vadot				interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
695f126890aSEmmanuel Vadot				reg = <0x17825000 0x1000>;
696f126890aSEmmanuel Vadot				status = "disabled";
697f126890aSEmmanuel Vadot			};
698f126890aSEmmanuel Vadot
699f126890aSEmmanuel Vadot			frame@17826000 {
700f126890aSEmmanuel Vadot				frame-number = <4>;
701*01950c46SEmmanuel Vadot				interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
702f126890aSEmmanuel Vadot				reg = <0x17826000 0x1000>;
703f126890aSEmmanuel Vadot				status = "disabled";
704f126890aSEmmanuel Vadot			};
705f126890aSEmmanuel Vadot
706f126890aSEmmanuel Vadot			frame@17827000 {
707f126890aSEmmanuel Vadot				frame-number = <5>;
708*01950c46SEmmanuel Vadot				interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
709f126890aSEmmanuel Vadot				reg = <0x17827000 0x1000>;
710f126890aSEmmanuel Vadot				status = "disabled";
711f126890aSEmmanuel Vadot			};
712f126890aSEmmanuel Vadot
713f126890aSEmmanuel Vadot			frame@17828000 {
714f126890aSEmmanuel Vadot				frame-number = <6>;
715*01950c46SEmmanuel Vadot				interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
716f126890aSEmmanuel Vadot				reg = <0x17828000 0x1000>;
717f126890aSEmmanuel Vadot				status = "disabled";
718f126890aSEmmanuel Vadot			};
719f126890aSEmmanuel Vadot
720f126890aSEmmanuel Vadot			frame@17829000 {
721f126890aSEmmanuel Vadot				frame-number = <7>;
722*01950c46SEmmanuel Vadot				interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
723f126890aSEmmanuel Vadot				reg = <0x17829000 0x1000>;
724f126890aSEmmanuel Vadot				status = "disabled";
725f126890aSEmmanuel Vadot			};
726f126890aSEmmanuel Vadot		};
727f126890aSEmmanuel Vadot
728f126890aSEmmanuel Vadot		apps_rsc: rsc@17830000 {
729f126890aSEmmanuel Vadot			label = "apps_rsc";
730f126890aSEmmanuel Vadot			compatible = "qcom,rpmh-rsc";
731f126890aSEmmanuel Vadot			reg = <0x17830000 0x10000>,
732f126890aSEmmanuel Vadot			    <0x17840000 0x10000>;
733f126890aSEmmanuel Vadot			reg-names = "drv-0", "drv-1";
734f126890aSEmmanuel Vadot			interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>,
735f126890aSEmmanuel Vadot				   <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
736f126890aSEmmanuel Vadot			qcom,tcs-offset = <0xd00>;
737f126890aSEmmanuel Vadot			qcom,drv-id = <1>;
738f126890aSEmmanuel Vadot			qcom,tcs-config = <ACTIVE_TCS  2>,
739f126890aSEmmanuel Vadot				<SLEEP_TCS   2>,
740f126890aSEmmanuel Vadot				<WAKE_TCS    2>,
741f126890aSEmmanuel Vadot				<CONTROL_TCS 1>;
742f126890aSEmmanuel Vadot
743f126890aSEmmanuel Vadot			rpmhcc: clock-controller {
744f126890aSEmmanuel Vadot				compatible = "qcom,sdx65-rpmh-clk";
745f126890aSEmmanuel Vadot				#clock-cells = <1>;
746f126890aSEmmanuel Vadot				clock-names = "xo";
747f126890aSEmmanuel Vadot				clocks = <&xo_board>;
748f126890aSEmmanuel Vadot			};
749f126890aSEmmanuel Vadot
750f126890aSEmmanuel Vadot			rpmhpd: power-controller {
751f126890aSEmmanuel Vadot				compatible = "qcom,sdx65-rpmhpd";
752f126890aSEmmanuel Vadot				#power-domain-cells = <1>;
753f126890aSEmmanuel Vadot				operating-points-v2 = <&rpmhpd_opp_table>;
754f126890aSEmmanuel Vadot
755f126890aSEmmanuel Vadot				rpmhpd_opp_table: opp-table {
756f126890aSEmmanuel Vadot					compatible = "operating-points-v2";
757f126890aSEmmanuel Vadot
758f126890aSEmmanuel Vadot					rpmhpd_opp_ret: opp1 {
759f126890aSEmmanuel Vadot						opp-level = <RPMH_REGULATOR_LEVEL_RETENTION>;
760f126890aSEmmanuel Vadot					};
761f126890aSEmmanuel Vadot
762f126890aSEmmanuel Vadot					rpmhpd_opp_min_svs: opp2 {
763f126890aSEmmanuel Vadot						opp-level = <RPMH_REGULATOR_LEVEL_MIN_SVS>;
764f126890aSEmmanuel Vadot					};
765f126890aSEmmanuel Vadot
766f126890aSEmmanuel Vadot					rpmhpd_opp_low_svs: opp3 {
767f126890aSEmmanuel Vadot						opp-level = <RPMH_REGULATOR_LEVEL_LOW_SVS>;
768f126890aSEmmanuel Vadot					};
769f126890aSEmmanuel Vadot
770f126890aSEmmanuel Vadot					rpmhpd_opp_svs: opp4 {
771f126890aSEmmanuel Vadot						opp-level = <RPMH_REGULATOR_LEVEL_SVS>;
772f126890aSEmmanuel Vadot					};
773f126890aSEmmanuel Vadot
774f126890aSEmmanuel Vadot					rpmhpd_opp_svs_l1: opp5 {
775f126890aSEmmanuel Vadot						opp-level = <RPMH_REGULATOR_LEVEL_SVS_L1>;
776f126890aSEmmanuel Vadot					};
777f126890aSEmmanuel Vadot
778f126890aSEmmanuel Vadot					rpmhpd_opp_nom: opp6 {
779f126890aSEmmanuel Vadot						opp-level = <RPMH_REGULATOR_LEVEL_NOM>;
780f126890aSEmmanuel Vadot					};
781f126890aSEmmanuel Vadot
782f126890aSEmmanuel Vadot					rpmhpd_opp_nom_l1: opp7 {
783f126890aSEmmanuel Vadot						opp-level = <RPMH_REGULATOR_LEVEL_NOM_L1>;
784f126890aSEmmanuel Vadot					};
785f126890aSEmmanuel Vadot
786f126890aSEmmanuel Vadot					rpmhpd_opp_nom_l2: opp8 {
787f126890aSEmmanuel Vadot						opp-level = <RPMH_REGULATOR_LEVEL_NOM_L2>;
788f126890aSEmmanuel Vadot					};
789f126890aSEmmanuel Vadot
790f126890aSEmmanuel Vadot					rpmhpd_opp_turbo: opp9 {
791f126890aSEmmanuel Vadot						opp-level = <RPMH_REGULATOR_LEVEL_TURBO>;
792f126890aSEmmanuel Vadot					};
793f126890aSEmmanuel Vadot
794f126890aSEmmanuel Vadot					rpmhpd_opp_turbo_l1: opp10 {
795f126890aSEmmanuel Vadot						opp-level = <RPMH_REGULATOR_LEVEL_TURBO_L1>;
796f126890aSEmmanuel Vadot					};
797f126890aSEmmanuel Vadot				};
798f126890aSEmmanuel Vadot			};
799f126890aSEmmanuel Vadot
800f126890aSEmmanuel Vadot			apps_bcm_voter: bcm-voter {
801f126890aSEmmanuel Vadot				compatible = "qcom,bcm-voter";
802f126890aSEmmanuel Vadot			};
803f126890aSEmmanuel Vadot
804f126890aSEmmanuel Vadot		};
805f126890aSEmmanuel Vadot	};
806f126890aSEmmanuel Vadot
807f126890aSEmmanuel Vadot	timer {
808f126890aSEmmanuel Vadot		compatible = "arm,armv7-timer";
809*01950c46SEmmanuel Vadot		interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
810*01950c46SEmmanuel Vadot			     <GIC_PPI 12 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
811*01950c46SEmmanuel Vadot			     <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
812*01950c46SEmmanuel Vadot			     <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
813f126890aSEmmanuel Vadot		clock-frequency = <19200000>;
814f126890aSEmmanuel Vadot	};
815f126890aSEmmanuel Vadot};
816