xref: /openbmc/linux/arch/arm64/boot/dts/qcom/qcs404.dtsi (revision 67779ca2)
1b4d82f4dSVinod Koul// SPDX-License-Identifier: GPL-2.0
2b4d82f4dSVinod Koul// Copyright (c) 2018, Linaro Limited
3b4d82f4dSVinod Koul
4b4d82f4dSVinod Koul#include <dt-bindings/interrupt-controller/arm-gic.h>
5b4d82f4dSVinod Koul#include <dt-bindings/clock/qcom,gcc-qcs404.h>
60b0c3390SBjorn Andersson#include <dt-bindings/clock/qcom,turingcc-qcs404.h>
7bf75731dSBjorn Andersson#include <dt-bindings/clock/qcom,rpmcc.h>
8b4d82f4dSVinod Koul
9b4d82f4dSVinod Koul/ {
10b4d82f4dSVinod Koul	interrupt-parent = <&intc>;
11b4d82f4dSVinod Koul
12b4d82f4dSVinod Koul	#address-cells = <2>;
13b4d82f4dSVinod Koul	#size-cells = <2>;
14b4d82f4dSVinod Koul
15b4d82f4dSVinod Koul	chosen { };
16b4d82f4dSVinod Koul
17b4d82f4dSVinod Koul	clocks {
18b4d82f4dSVinod Koul		xo_board: xo-board {
19b4d82f4dSVinod Koul			compatible = "fixed-clock";
20b4d82f4dSVinod Koul			#clock-cells = <0>;
21b4d82f4dSVinod Koul			clock-frequency = <19200000>;
22b4d82f4dSVinod Koul		};
23b4d82f4dSVinod Koul	};
24b4d82f4dSVinod Koul
25b4d82f4dSVinod Koul	cpus {
26b4d82f4dSVinod Koul		#address-cells = <1>;
27b4d82f4dSVinod Koul		#size-cells = <0>;
28b4d82f4dSVinod Koul
29b4d82f4dSVinod Koul		CPU0: cpu@100 {
30b4d82f4dSVinod Koul			device_type = "cpu";
31b4d82f4dSVinod Koul			compatible = "arm,cortex-a53";
32b4d82f4dSVinod Koul			reg = <0x100>;
33b4d82f4dSVinod Koul			enable-method = "psci";
3445ea8f32SNiklas Cassel			cpu-idle-states = <&CPU_SLEEP_0>;
35b4d82f4dSVinod Koul			next-level-cache = <&L2_0>;
36b4d82f4dSVinod Koul		};
37b4d82f4dSVinod Koul
38b4d82f4dSVinod Koul		CPU1: cpu@101 {
39b4d82f4dSVinod Koul			device_type = "cpu";
40b4d82f4dSVinod Koul			compatible = "arm,cortex-a53";
41b4d82f4dSVinod Koul			reg = <0x101>;
42b4d82f4dSVinod Koul			enable-method = "psci";
4345ea8f32SNiklas Cassel			cpu-idle-states = <&CPU_SLEEP_0>;
44b4d82f4dSVinod Koul			next-level-cache = <&L2_0>;
45b4d82f4dSVinod Koul		};
46b4d82f4dSVinod Koul
47b4d82f4dSVinod Koul		CPU2: cpu@102 {
48b4d82f4dSVinod Koul			device_type = "cpu";
49b4d82f4dSVinod Koul			compatible = "arm,cortex-a53";
50b4d82f4dSVinod Koul			reg = <0x102>;
51b4d82f4dSVinod Koul			enable-method = "psci";
5245ea8f32SNiklas Cassel			cpu-idle-states = <&CPU_SLEEP_0>;
53b4d82f4dSVinod Koul			next-level-cache = <&L2_0>;
54b4d82f4dSVinod Koul		};
55b4d82f4dSVinod Koul
56b4d82f4dSVinod Koul		CPU3: cpu@103 {
57b4d82f4dSVinod Koul			device_type = "cpu";
58b4d82f4dSVinod Koul			compatible = "arm,cortex-a53";
59b4d82f4dSVinod Koul			reg = <0x103>;
60b4d82f4dSVinod Koul			enable-method = "psci";
6145ea8f32SNiklas Cassel			cpu-idle-states = <&CPU_SLEEP_0>;
62b4d82f4dSVinod Koul			next-level-cache = <&L2_0>;
63b4d82f4dSVinod Koul		};
64b4d82f4dSVinod Koul
65b4d82f4dSVinod Koul		L2_0: l2-cache {
66b4d82f4dSVinod Koul			compatible = "cache";
67b4d82f4dSVinod Koul			cache-level = <2>;
68b4d82f4dSVinod Koul		};
6945ea8f32SNiklas Cassel
7045ea8f32SNiklas Cassel		idle-states {
7145ea8f32SNiklas Cassel			entry-method = "psci";
7245ea8f32SNiklas Cassel
7345ea8f32SNiklas Cassel			CPU_SLEEP_0: cpu-sleep-0 {
7445ea8f32SNiklas Cassel				compatible = "arm,idle-state";
7545ea8f32SNiklas Cassel				idle-state-name = "standalone-power-collapse";
7645ea8f32SNiklas Cassel				arm,psci-suspend-param = <0x40000003>;
7745ea8f32SNiklas Cassel				entry-latency-us = <125>;
7845ea8f32SNiklas Cassel				exit-latency-us = <180>;
7945ea8f32SNiklas Cassel				min-residency-us = <595>;
8045ea8f32SNiklas Cassel				local-timer-stop;
8145ea8f32SNiklas Cassel			};
8245ea8f32SNiklas Cassel		};
83b4d82f4dSVinod Koul	};
84b4d82f4dSVinod Koul
85e7fd184fSBjorn Andersson	firmware {
86e7fd184fSBjorn Andersson		scm: scm {
87e7fd184fSBjorn Andersson			compatible = "qcom,scm-qcs404", "qcom,scm";
88e7fd184fSBjorn Andersson			#reset-cells = <1>;
89e7fd184fSBjorn Andersson		};
90e7fd184fSBjorn Andersson	};
91e7fd184fSBjorn Andersson
92b4d82f4dSVinod Koul	memory@80000000 {
93b4d82f4dSVinod Koul		device_type = "memory";
94b4d82f4dSVinod Koul		/* We expect the bootloader to fill in the size */
95b4d82f4dSVinod Koul		reg = <0 0x80000000 0 0>;
96b4d82f4dSVinod Koul	};
97b4d82f4dSVinod Koul
98b4d82f4dSVinod Koul	psci {
99b4d82f4dSVinod Koul		compatible = "arm,psci-1.0";
100b4d82f4dSVinod Koul		method = "smc";
101b4d82f4dSVinod Koul	};
102b4d82f4dSVinod Koul
103d59117abSBjorn Andersson	reserved-memory {
104d59117abSBjorn Andersson		#address-cells = <2>;
105d59117abSBjorn Andersson		#size-cells = <2>;
106d59117abSBjorn Andersson		ranges;
107d59117abSBjorn Andersson
108d59117abSBjorn Andersson		memory@85600000 {
109d59117abSBjorn Andersson			reg = <0 0x85600000 0 0x90000>;
110d59117abSBjorn Andersson			no-map;
111d59117abSBjorn Andersson		};
112d59117abSBjorn Andersson
113d59117abSBjorn Andersson		smem_region: memory@85f00000 {
114d59117abSBjorn Andersson			reg = <0 0x85f00000 0 0x200000>;
115d59117abSBjorn Andersson			no-map;
116d59117abSBjorn Andersson		};
117d59117abSBjorn Andersson
118d59117abSBjorn Andersson		memory@86100000 {
119d59117abSBjorn Andersson			reg = <0 0x86100000 0 0x300000>;
120d59117abSBjorn Andersson			no-map;
121d59117abSBjorn Andersson		};
122d59117abSBjorn Andersson
123d59117abSBjorn Andersson		wlan_fw_mem: memory@86400000 {
124d59117abSBjorn Andersson			reg = <0 0x86400000 0 0x1c00000>;
125d59117abSBjorn Andersson			no-map;
126d59117abSBjorn Andersson		};
127d59117abSBjorn Andersson
128d59117abSBjorn Andersson		adsp_fw_mem: memory@88000000 {
129d59117abSBjorn Andersson			reg = <0 0x88000000 0 0x1a00000>;
130d59117abSBjorn Andersson			no-map;
131d59117abSBjorn Andersson		};
132d59117abSBjorn Andersson
133d59117abSBjorn Andersson		cdsp_fw_mem: memory@89a00000 {
134d59117abSBjorn Andersson			reg = <0 0x89a00000 0 0x600000>;
135d59117abSBjorn Andersson			no-map;
136d59117abSBjorn Andersson		};
137d59117abSBjorn Andersson
138d59117abSBjorn Andersson		wlan_msa_mem: memory@8a000000 {
139d59117abSBjorn Andersson			reg = <0 0x8a000000 0 0x100000>;
140d59117abSBjorn Andersson			no-map;
141d59117abSBjorn Andersson		};
142d59117abSBjorn Andersson	};
143d59117abSBjorn Andersson
1447fc7089dSBjorn Andersson	rpm-glink {
1457fc7089dSBjorn Andersson		compatible = "qcom,glink-rpm";
1467fc7089dSBjorn Andersson
1477fc7089dSBjorn Andersson		interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>;
1487fc7089dSBjorn Andersson		qcom,rpm-msg-ram = <&rpm_msg_ram>;
1497fc7089dSBjorn Andersson		mboxes = <&apcs_glb 0>;
1507fc7089dSBjorn Andersson
1517fc7089dSBjorn Andersson		rpm_requests: glink-channel {
1527fc7089dSBjorn Andersson			compatible = "qcom,rpm-qcs404";
1537fc7089dSBjorn Andersson			qcom,glink-channels = "rpm_requests";
154bf75731dSBjorn Andersson
155bf75731dSBjorn Andersson			rpmcc: clock-controller {
156bf75731dSBjorn Andersson				compatible = "qcom,rpmcc-qcs404";
157bf75731dSBjorn Andersson				#clock-cells = <1>;
158bf75731dSBjorn Andersson			};
1597fc7089dSBjorn Andersson		};
1607fc7089dSBjorn Andersson	};
1617fc7089dSBjorn Andersson
1627fc7089dSBjorn Andersson	smem {
1637fc7089dSBjorn Andersson		compatible = "qcom,smem";
1647fc7089dSBjorn Andersson
1657fc7089dSBjorn Andersson		memory-region = <&smem_region>;
1667fc7089dSBjorn Andersson		qcom,rpm-msg-ram = <&rpm_msg_ram>;
1677fc7089dSBjorn Andersson
1687fc7089dSBjorn Andersson		hwlocks = <&tcsr_mutex 3>;
1697fc7089dSBjorn Andersson	};
1707fc7089dSBjorn Andersson
1717fc7089dSBjorn Andersson	tcsr_mutex: hwlock {
1727fc7089dSBjorn Andersson		compatible = "qcom,tcsr-mutex";
1737fc7089dSBjorn Andersson		syscon = <&tcsr_mutex_regs 0 0x1000>;
1747fc7089dSBjorn Andersson		#hwlock-cells = <1>;
1757fc7089dSBjorn Andersson	};
1767fc7089dSBjorn Andersson
177b4d82f4dSVinod Koul	soc: soc@0 {
178b4d82f4dSVinod Koul		#address-cells = <1>;
179b4d82f4dSVinod Koul		#size-cells = <1>;
180b4d82f4dSVinod Koul		ranges = <0 0 0 0xffffffff>;
181b4d82f4dSVinod Koul		compatible = "simple-bus";
182b4d82f4dSVinod Koul
1830b0c3390SBjorn Andersson		turingcc: clock-controller@800000 {
1840b0c3390SBjorn Andersson			compatible = "qcom,qcs404-turingcc";
1850b0c3390SBjorn Andersson			reg = <0x00800000 0x30000>;
1860b0c3390SBjorn Andersson			clocks = <&gcc GCC_CDSP_CFG_AHB_CLK>;
1870b0c3390SBjorn Andersson
1880b0c3390SBjorn Andersson			#clock-cells = <1>;
1890b0c3390SBjorn Andersson			#reset-cells = <1>;
1900b0c3390SBjorn Andersson
1910b0c3390SBjorn Andersson			status = "disabled";
1920b0c3390SBjorn Andersson		};
1930b0c3390SBjorn Andersson
1947fc7089dSBjorn Andersson		rpm_msg_ram: memory@60000 {
1957fc7089dSBjorn Andersson			compatible = "qcom,rpm-msg-ram";
1967fc7089dSBjorn Andersson			reg = <0x00060000 0x6000>;
1977fc7089dSBjorn Andersson		};
1987fc7089dSBjorn Andersson
199df96c65cSVinod Koul		rng: rng@e3000 {
200df96c65cSVinod Koul			compatible = "qcom,prng-ee";
201df96c65cSVinod Koul			reg = <0x000e3000 0x1000>;
202df96c65cSVinod Koul			clocks = <&gcc GCC_PRNG_AHB_CLK>;
203df96c65cSVinod Koul			clock-names = "core";
204df96c65cSVinod Koul		};
205df96c65cSVinod Koul
206f4dd04a8SBjorn Andersson		remoteproc_cdsp: remoteproc@b00000 {
207f4dd04a8SBjorn Andersson			compatible = "qcom,qcs404-cdsp-pas";
208f4dd04a8SBjorn Andersson			reg = <0x00b00000 0x4040>;
209f4dd04a8SBjorn Andersson
210f4dd04a8SBjorn Andersson			interrupts-extended = <&intc GIC_SPI 229 IRQ_TYPE_EDGE_RISING>,
211f4dd04a8SBjorn Andersson					      <&cdsp_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
212f4dd04a8SBjorn Andersson					      <&cdsp_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
213f4dd04a8SBjorn Andersson					      <&cdsp_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
214f4dd04a8SBjorn Andersson					      <&cdsp_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
215f4dd04a8SBjorn Andersson			interrupt-names = "wdog", "fatal", "ready",
216f4dd04a8SBjorn Andersson					  "handover", "stop-ack";
217f4dd04a8SBjorn Andersson
218f4dd04a8SBjorn Andersson			clocks = <&xo_board>,
219f4dd04a8SBjorn Andersson				 <&gcc GCC_CDSP_CFG_AHB_CLK>,
220f4dd04a8SBjorn Andersson				 <&gcc GCC_CDSP_TBU_CLK>,
221f4dd04a8SBjorn Andersson				 <&gcc GCC_BIMC_CDSP_CLK>,
222f4dd04a8SBjorn Andersson				 <&turingcc TURING_WRAPPER_AON_CLK>,
223f4dd04a8SBjorn Andersson				 <&turingcc TURING_Q6SS_AHBS_AON_CLK>,
224f4dd04a8SBjorn Andersson				 <&turingcc TURING_Q6SS_AHBM_AON_CLK>,
225f4dd04a8SBjorn Andersson				 <&turingcc TURING_Q6SS_Q6_AXIM_CLK>;
226f4dd04a8SBjorn Andersson			clock-names = "xo",
227f4dd04a8SBjorn Andersson				      "sway",
228f4dd04a8SBjorn Andersson				      "tbu",
229f4dd04a8SBjorn Andersson				      "bimc",
230f4dd04a8SBjorn Andersson				      "ahb_aon",
231f4dd04a8SBjorn Andersson				      "q6ss_slave",
232f4dd04a8SBjorn Andersson				      "q6ss_master",
233f4dd04a8SBjorn Andersson				      "q6_axim";
234f4dd04a8SBjorn Andersson
235f4dd04a8SBjorn Andersson			resets = <&gcc GCC_CDSP_RESTART>;
236f4dd04a8SBjorn Andersson			reset-names = "restart";
237f4dd04a8SBjorn Andersson
238f4dd04a8SBjorn Andersson			qcom,halt-regs = <&tcsr 0x19004>;
239f4dd04a8SBjorn Andersson
240f4dd04a8SBjorn Andersson			memory-region = <&cdsp_fw_mem>;
241f4dd04a8SBjorn Andersson
242f4dd04a8SBjorn Andersson			qcom,smem-states = <&cdsp_smp2p_out 0>;
243f4dd04a8SBjorn Andersson			qcom,smem-state-names = "stop";
244f4dd04a8SBjorn Andersson
245f4dd04a8SBjorn Andersson			status = "disabled";
246f4dd04a8SBjorn Andersson
247f4dd04a8SBjorn Andersson			glink-edge {
248f4dd04a8SBjorn Andersson				interrupts = <GIC_SPI 141 IRQ_TYPE_EDGE_RISING>;
249f4dd04a8SBjorn Andersson
250f4dd04a8SBjorn Andersson				qcom,remote-pid = <5>;
251f4dd04a8SBjorn Andersson				mboxes = <&apcs_glb 12>;
252f4dd04a8SBjorn Andersson
253f4dd04a8SBjorn Andersson				label = "cdsp";
254f4dd04a8SBjorn Andersson			};
255f4dd04a8SBjorn Andersson		};
256f4dd04a8SBjorn Andersson
25775f6e6d9SBjorn Andersson		tlmm: pinctrl@1000000 {
25875f6e6d9SBjorn Andersson			compatible = "qcom,qcs404-pinctrl";
25975f6e6d9SBjorn Andersson			reg = <0x01000000 0x200000>,
26075f6e6d9SBjorn Andersson			      <0x01300000 0x200000>,
26175f6e6d9SBjorn Andersson			      <0x07b00000 0x200000>;
26275f6e6d9SBjorn Andersson			reg-names = "south", "north", "east";
26375f6e6d9SBjorn Andersson			interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;
26475f6e6d9SBjorn Andersson			gpio-ranges = <&tlmm 0 0 120>;
26575f6e6d9SBjorn Andersson			gpio-controller;
26675f6e6d9SBjorn Andersson			#gpio-cells = <2>;
26775f6e6d9SBjorn Andersson			interrupt-controller;
26875f6e6d9SBjorn Andersson			#interrupt-cells = <2>;
2695bb9ab94SBjorn Andersson
270734e6d02SBjorn Andersson			blsp1_i2c0_default: blsp1-i2c0-default {
271734e6d02SBjorn Andersson				pins = "gpio32", "gpio33";
272734e6d02SBjorn Andersson				function = "blsp_i2c0";
273734e6d02SBjorn Andersson			};
274734e6d02SBjorn Andersson
275734e6d02SBjorn Andersson			blsp1_i2c1_default: blsp1-i2c1-default {
276734e6d02SBjorn Andersson				pins = "gpio24", "gpio25";
277734e6d02SBjorn Andersson				function = "blsp_i2c1";
278734e6d02SBjorn Andersson			};
279734e6d02SBjorn Andersson
280734e6d02SBjorn Andersson			blsp1_i2c2_default: blsp1-i2c2-default {
281734e6d02SBjorn Andersson				sda {
282734e6d02SBjorn Andersson					pins = "gpio19";
283734e6d02SBjorn Andersson					function = "blsp_i2c_sda_a2";
284734e6d02SBjorn Andersson				};
285734e6d02SBjorn Andersson
286734e6d02SBjorn Andersson				scl {
287734e6d02SBjorn Andersson					pins = "gpio20";
288734e6d02SBjorn Andersson					function = "blsp_i2c_scl_a2";
289734e6d02SBjorn Andersson				};
290734e6d02SBjorn Andersson			};
291734e6d02SBjorn Andersson
292734e6d02SBjorn Andersson			blsp1_i2c3_default: blsp1-i2c3-default {
293734e6d02SBjorn Andersson				pins = "gpio84", "gpio85";
294734e6d02SBjorn Andersson				function = "blsp_i2c3";
295734e6d02SBjorn Andersson			};
296734e6d02SBjorn Andersson
297734e6d02SBjorn Andersson			blsp1_i2c4_default: blsp1-i2c4-default {
298734e6d02SBjorn Andersson				pins = "gpio117", "gpio118";
299734e6d02SBjorn Andersson				function = "blsp_i2c4";
300734e6d02SBjorn Andersson			};
301734e6d02SBjorn Andersson
302bf9aa8a4SBjorn Andersson			blsp1_uart0_default: blsp1-uart0-default {
303bf9aa8a4SBjorn Andersson				pins = "gpio30", "gpio31", "gpio32", "gpio33";
304bf9aa8a4SBjorn Andersson				function = "blsp_uart0";
305bf9aa8a4SBjorn Andersson			};
306bf9aa8a4SBjorn Andersson
307bf9aa8a4SBjorn Andersson			blsp1_uart1_default: blsp1-uart1-default {
308bf9aa8a4SBjorn Andersson				pins = "gpio22", "gpio23";
309bf9aa8a4SBjorn Andersson				function = "blsp_uart1";
310bf9aa8a4SBjorn Andersson			};
311bf9aa8a4SBjorn Andersson
3125bb9ab94SBjorn Andersson			blsp1_uart2_default: blsp1-uart2-default {
3135bb9ab94SBjorn Andersson				rx {
3145bb9ab94SBjorn Andersson					pins = "gpio18";
3155bb9ab94SBjorn Andersson					function = "blsp_uart_rx_a2";
3165bb9ab94SBjorn Andersson				};
3175bb9ab94SBjorn Andersson
3185bb9ab94SBjorn Andersson				tx {
3195bb9ab94SBjorn Andersson					pins = "gpio17";
3205bb9ab94SBjorn Andersson					function = "blsp_uart_tx_a2";
3215bb9ab94SBjorn Andersson				};
3225bb9ab94SBjorn Andersson			};
323bf9aa8a4SBjorn Andersson
324bf9aa8a4SBjorn Andersson			blsp1_uart3_default: blsp1-uart3-default {
325bf9aa8a4SBjorn Andersson				pins = "gpio82", "gpio83", "gpio84", "gpio85";
326bf9aa8a4SBjorn Andersson				function = "blsp_uart3";
327bf9aa8a4SBjorn Andersson			};
328bf9aa8a4SBjorn Andersson
329734e6d02SBjorn Andersson			blsp2_i2c0_default: blsp2-i2c0-default {
330734e6d02SBjorn Andersson				pins = "gpio28", "gpio29";
331734e6d02SBjorn Andersson				function = "blsp_i2c5";
332734e6d02SBjorn Andersson			};
333734e6d02SBjorn Andersson
334734e6d02SBjorn Andersson			blsp1_spi0_default: blsp1-spi0-default {
335734e6d02SBjorn Andersson				pins = "gpio30", "gpio31", "gpio32", "gpio33";
336734e6d02SBjorn Andersson				function = "blsp_spi0";
337734e6d02SBjorn Andersson			};
338734e6d02SBjorn Andersson
339734e6d02SBjorn Andersson			blsp1_spi1_default: blsp1-spi1-default {
340734e6d02SBjorn Andersson				pins = "gpio22", "gpio23", "gpio24", "gpio25";
341734e6d02SBjorn Andersson				function = "blsp_spi1";
342734e6d02SBjorn Andersson			};
343734e6d02SBjorn Andersson
344734e6d02SBjorn Andersson			blsp1_spi2_default: blsp1-spi2-default {
345734e6d02SBjorn Andersson				pins = "gpio17", "gpio18", "gpio19", "gpio20";
346734e6d02SBjorn Andersson				function = "blsp_spi2";
347734e6d02SBjorn Andersson			};
348734e6d02SBjorn Andersson
349734e6d02SBjorn Andersson			blsp1_spi3_default: blsp1-spi3-default {
350734e6d02SBjorn Andersson				pins = "gpio82", "gpio83", "gpio84", "gpio85";
351734e6d02SBjorn Andersson				function = "blsp_spi3";
352734e6d02SBjorn Andersson			};
353734e6d02SBjorn Andersson
354734e6d02SBjorn Andersson			blsp1_spi4_default: blsp1-spi4-default {
355734e6d02SBjorn Andersson				pins = "gpio37", "gpio38", "gpio117", "gpio118";
356734e6d02SBjorn Andersson				function = "blsp_spi4";
357734e6d02SBjorn Andersson			};
358734e6d02SBjorn Andersson
359734e6d02SBjorn Andersson			blsp2_spi0_default: blsp2-spi0-default {
360734e6d02SBjorn Andersson				pins = "gpio26", "gpio27", "gpio28", "gpio29";
361734e6d02SBjorn Andersson				function = "blsp_spi5";
362734e6d02SBjorn Andersson			};
363734e6d02SBjorn Andersson
364bf9aa8a4SBjorn Andersson			blsp2_uart0_default: blsp2-uart0-default {
365bf9aa8a4SBjorn Andersson				pins = "gpio26", "gpio27", "gpio28", "gpio29";
366bf9aa8a4SBjorn Andersson				function = "blsp_uart5";
367bf9aa8a4SBjorn Andersson			};
36875f6e6d9SBjorn Andersson		};
36975f6e6d9SBjorn Andersson
370b4d82f4dSVinod Koul		gcc: clock-controller@1800000 {
371b4d82f4dSVinod Koul			compatible = "qcom,gcc-qcs404";
372b4d82f4dSVinod Koul			reg = <0x01800000 0x80000>;
373b4d82f4dSVinod Koul			#clock-cells = <1>;
374b4d82f4dSVinod Koul
375b4d82f4dSVinod Koul			assigned-clocks = <&gcc GCC_APSS_AHB_CLK_SRC>;
376b4d82f4dSVinod Koul			assigned-clock-rates = <19200000>;
377b4d82f4dSVinod Koul		};
378b4d82f4dSVinod Koul
3797fc7089dSBjorn Andersson		tcsr_mutex_regs: syscon@1905000 {
3807fc7089dSBjorn Andersson			compatible = "syscon";
3817fc7089dSBjorn Andersson			reg = <0x01905000 0x20000>;
3827fc7089dSBjorn Andersson		};
3837fc7089dSBjorn Andersson
384560ad5e7SBjorn Andersson		tcsr: syscon@1937000 {
385560ad5e7SBjorn Andersson			compatible = "syscon";
386560ad5e7SBjorn Andersson			reg = <0x01937000 0x25000>;
387560ad5e7SBjorn Andersson		};
388560ad5e7SBjorn Andersson
3891a94b65bSVinod Koul		spmi_bus: spmi@200f000 {
3901a94b65bSVinod Koul			compatible = "qcom,spmi-pmic-arb";
3911a94b65bSVinod Koul			reg = <0x0200f000 0x001000>,
3921a94b65bSVinod Koul			      <0x02400000 0x800000>,
3931a94b65bSVinod Koul			      <0x02c00000 0x800000>,
3941a94b65bSVinod Koul			      <0x03800000 0x200000>,
3951a94b65bSVinod Koul			      <0x0200a000 0x002100>;
3961a94b65bSVinod Koul			reg-names = "core", "chnls", "obsrvr", "intr", "cnfg";
3971a94b65bSVinod Koul			interrupt-names = "periph_irq";
3981a94b65bSVinod Koul			interrupts = <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>;
3991a94b65bSVinod Koul			qcom,ee = <0>;
4001a94b65bSVinod Koul			qcom,channel = <0>;
4011a94b65bSVinod Koul			#address-cells = <2>;
4021a94b65bSVinod Koul			#size-cells = <0>;
4031a94b65bSVinod Koul			interrupt-controller;
4041a94b65bSVinod Koul			#interrupt-cells = <4>;
4051a94b65bSVinod Koul		};
4061a94b65bSVinod Koul
40767779ca2SBjorn Andersson		remoteproc_wcss: remoteproc@7400000 {
40867779ca2SBjorn Andersson			compatible = "qcom,qcs404-wcss-pas";
40967779ca2SBjorn Andersson			reg = <0x07400000 0x4040>;
41067779ca2SBjorn Andersson
41167779ca2SBjorn Andersson			interrupts-extended = <&intc GIC_SPI 153 IRQ_TYPE_EDGE_RISING>,
41267779ca2SBjorn Andersson					      <&wcss_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
41367779ca2SBjorn Andersson					      <&wcss_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
41467779ca2SBjorn Andersson					      <&wcss_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
41567779ca2SBjorn Andersson					      <&wcss_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
41667779ca2SBjorn Andersson			interrupt-names = "wdog", "fatal", "ready",
41767779ca2SBjorn Andersson					  "handover", "stop-ack";
41867779ca2SBjorn Andersson
41967779ca2SBjorn Andersson			clocks = <&xo_board>;
42067779ca2SBjorn Andersson			clock-names = "xo";
42167779ca2SBjorn Andersson
42267779ca2SBjorn Andersson			memory-region = <&wlan_fw_mem>;
42367779ca2SBjorn Andersson
42467779ca2SBjorn Andersson			qcom,smem-states = <&wcss_smp2p_out 0>;
42567779ca2SBjorn Andersson			qcom,smem-state-names = "stop";
42667779ca2SBjorn Andersson
42767779ca2SBjorn Andersson			status = "disabled";
42867779ca2SBjorn Andersson
42967779ca2SBjorn Andersson			glink-edge {
43067779ca2SBjorn Andersson				interrupts = <GIC_SPI 156 IRQ_TYPE_EDGE_RISING>;
43167779ca2SBjorn Andersson
43267779ca2SBjorn Andersson				qcom,remote-pid = <1>;
43367779ca2SBjorn Andersson				mboxes = <&apcs_glb 16>;
43467779ca2SBjorn Andersson
43567779ca2SBjorn Andersson				label = "wcss";
43667779ca2SBjorn Andersson			};
43767779ca2SBjorn Andersson		};
43867779ca2SBjorn Andersson
4397241ab94SBjorn Andersson		sdcc1: sdcc@7804000 {
4407241ab94SBjorn Andersson			compatible = "qcom,sdhci-msm-v5";
4417241ab94SBjorn Andersson			reg = <0x07804000 0x1000>, <0x7805000 0x1000>;
4427241ab94SBjorn Andersson			reg-names = "hc_mem", "cmdq_mem";
4437241ab94SBjorn Andersson
4447241ab94SBjorn Andersson			interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>,
4457241ab94SBjorn Andersson				     <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>;
4467241ab94SBjorn Andersson			interrupt-names = "hc_irq", "pwr_irq";
4477241ab94SBjorn Andersson
4487241ab94SBjorn Andersson			clocks = <&gcc GCC_SDCC1_APPS_CLK>,
4497241ab94SBjorn Andersson				 <&gcc GCC_SDCC1_AHB_CLK>,
4507241ab94SBjorn Andersson				 <&xo_board>;
4517241ab94SBjorn Andersson			clock-names = "core", "iface", "xo";
4527241ab94SBjorn Andersson
4537241ab94SBjorn Andersson			status = "disabled";
4547241ab94SBjorn Andersson		};
4557241ab94SBjorn Andersson
456e77c5206SVinod Koul		blsp1_dma: dma@7884000 {
457e77c5206SVinod Koul			compatible = "qcom,bam-v1.7.0";
458e77c5206SVinod Koul			reg = <0x07884000 0x25000>;
459e77c5206SVinod Koul			interrupts = <GIC_SPI 238 IRQ_TYPE_LEVEL_HIGH>;
460e77c5206SVinod Koul			clocks = <&gcc GCC_BLSP1_AHB_CLK>;
461e77c5206SVinod Koul			clock-names = "bam_clk";
462e77c5206SVinod Koul			#dma-cells = <1>;
463e77c5206SVinod Koul			qcom,ee = <0>;
464e77c5206SVinod Koul			status = "okay";
465e77c5206SVinod Koul		};
466e77c5206SVinod Koul
467bf9aa8a4SBjorn Andersson		blsp1_uart0: serial@78af000 {
468bf9aa8a4SBjorn Andersson			compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
469bf9aa8a4SBjorn Andersson			reg = <0x078af000 0x200>;
470bf9aa8a4SBjorn Andersson			interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
471bf9aa8a4SBjorn Andersson			clocks = <&gcc GCC_BLSP1_UART0_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>;
472bf9aa8a4SBjorn Andersson			clock-names = "core", "iface";
473bf9aa8a4SBjorn Andersson			dmas = <&blsp1_dma 1>, <&blsp1_dma 0>;
474bf9aa8a4SBjorn Andersson			dma-names = "rx", "tx";
475bf9aa8a4SBjorn Andersson			pinctrl-names = "default";
476bf9aa8a4SBjorn Andersson			pinctrl-0 = <&blsp1_uart0_default>;
477bf9aa8a4SBjorn Andersson			status = "disabled";
478bf9aa8a4SBjorn Andersson		};
479bf9aa8a4SBjorn Andersson
480bf9aa8a4SBjorn Andersson		blsp1_uart1: serial@78b0000 {
481bf9aa8a4SBjorn Andersson			compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
482bf9aa8a4SBjorn Andersson			reg = <0x078b0000 0x200>;
483bf9aa8a4SBjorn Andersson			interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
484bf9aa8a4SBjorn Andersson			clocks = <&gcc GCC_BLSP1_UART1_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>;
485bf9aa8a4SBjorn Andersson			clock-names = "core", "iface";
486bf9aa8a4SBjorn Andersson			dmas = <&blsp1_dma 3>, <&blsp1_dma 2>;
487bf9aa8a4SBjorn Andersson			dma-names = "rx", "tx";
488bf9aa8a4SBjorn Andersson			pinctrl-names = "default";
489bf9aa8a4SBjorn Andersson			pinctrl-0 = <&blsp1_uart1_default>;
490bf9aa8a4SBjorn Andersson			status = "disabled";
491bf9aa8a4SBjorn Andersson		};
492bf9aa8a4SBjorn Andersson
493b4d82f4dSVinod Koul		blsp1_uart2: serial@78b1000 {
494b4d82f4dSVinod Koul			compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
495b4d82f4dSVinod Koul			reg = <0x078b1000 0x200>;
496b4d82f4dSVinod Koul			interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>;
497b4d82f4dSVinod Koul			clocks = <&gcc GCC_BLSP1_UART2_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>;
498b4d82f4dSVinod Koul			clock-names = "core", "iface";
499aec2a765SVinod Koul			dmas = <&blsp1_dma 5>, <&blsp1_dma 4>;
500aec2a765SVinod Koul			dma-names = "rx", "tx";
5015bb9ab94SBjorn Andersson			pinctrl-names = "default";
5025bb9ab94SBjorn Andersson			pinctrl-0 = <&blsp1_uart2_default>;
503b4d82f4dSVinod Koul			status = "okay";
504b4d82f4dSVinod Koul		};
505b4d82f4dSVinod Koul
5064dfa70eaSVinod Koul		ethernet: ethernet@7a80000 {
5074dfa70eaSVinod Koul			compatible = "qcom,qcs404-ethqos";
5084dfa70eaSVinod Koul			reg = <0x07a80000 0x10000>,
5094dfa70eaSVinod Koul				<0x07a96000 0x100>;
5104dfa70eaSVinod Koul			reg-names = "stmmaceth", "rgmii";
5114dfa70eaSVinod Koul			clock-names = "stmmaceth", "pclk", "ptp_ref", "rgmii";
5124dfa70eaSVinod Koul			clocks = <&gcc GCC_ETH_AXI_CLK>,
5134dfa70eaSVinod Koul				<&gcc GCC_ETH_SLAVE_AHB_CLK>,
5144dfa70eaSVinod Koul				<&gcc GCC_ETH_PTP_CLK>,
5154dfa70eaSVinod Koul				<&gcc GCC_ETH_RGMII_CLK>;
5164dfa70eaSVinod Koul			interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>,
5174dfa70eaSVinod Koul					<GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
5184dfa70eaSVinod Koul			interrupt-names = "macirq", "eth_lpi";
5194dfa70eaSVinod Koul
5204dfa70eaSVinod Koul			snps,tso;
5214dfa70eaSVinod Koul			rx-fifo-depth = <4096>;
5224dfa70eaSVinod Koul			tx-fifo-depth = <4096>;
5234dfa70eaSVinod Koul
5244dfa70eaSVinod Koul			status = "disabled";
5254dfa70eaSVinod Koul		};
5264dfa70eaSVinod Koul
5274bbbca1eSGovind Singh		wifi: wifi@a000000 {
5284bbbca1eSGovind Singh			compatible = "qcom,wcn3990-wifi";
5294bbbca1eSGovind Singh			reg = <0xa000000 0x800000>;
5304bbbca1eSGovind Singh			reg-names = "membase";
5314bbbca1eSGovind Singh			memory-region = <&wlan_msa_mem>;
5324bbbca1eSGovind Singh			interrupts = <GIC_SPI 277 IRQ_TYPE_LEVEL_HIGH>,
5334bbbca1eSGovind Singh				     <GIC_SPI 278 IRQ_TYPE_LEVEL_HIGH>,
5344bbbca1eSGovind Singh				     <GIC_SPI 279 IRQ_TYPE_LEVEL_HIGH>,
5354bbbca1eSGovind Singh				     <GIC_SPI 280 IRQ_TYPE_LEVEL_HIGH>,
5364bbbca1eSGovind Singh				     <GIC_SPI 281 IRQ_TYPE_LEVEL_HIGH>,
5374bbbca1eSGovind Singh				     <GIC_SPI 282 IRQ_TYPE_LEVEL_HIGH>,
5384bbbca1eSGovind Singh				     <GIC_SPI 283 IRQ_TYPE_LEVEL_HIGH>,
5394bbbca1eSGovind Singh				     <GIC_SPI 284 IRQ_TYPE_LEVEL_HIGH>,
5404bbbca1eSGovind Singh				     <GIC_SPI 285 IRQ_TYPE_LEVEL_HIGH>,
5414bbbca1eSGovind Singh				     <GIC_SPI 286 IRQ_TYPE_LEVEL_HIGH>,
5424bbbca1eSGovind Singh				     <GIC_SPI 287 IRQ_TYPE_LEVEL_HIGH>,
5434bbbca1eSGovind Singh				     <GIC_SPI 288 IRQ_TYPE_LEVEL_HIGH>;
5444bbbca1eSGovind Singh			status = "disabled";
5454bbbca1eSGovind Singh		};
5464bbbca1eSGovind Singh
547bf9aa8a4SBjorn Andersson		blsp1_uart3: serial@78b2000 {
548bf9aa8a4SBjorn Andersson			compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
549bf9aa8a4SBjorn Andersson			reg = <0x078b2000 0x200>;
550bf9aa8a4SBjorn Andersson			interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>;
551bf9aa8a4SBjorn Andersson			clocks = <&gcc GCC_BLSP1_UART3_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>;
552bf9aa8a4SBjorn Andersson			clock-names = "core", "iface";
553bf9aa8a4SBjorn Andersson			dmas = <&blsp1_dma 7>, <&blsp1_dma 6>;
554bf9aa8a4SBjorn Andersson			dma-names = "rx", "tx";
555bf9aa8a4SBjorn Andersson			pinctrl-names = "default";
556bf9aa8a4SBjorn Andersson			pinctrl-0 = <&blsp1_uart3_default>;
557bf9aa8a4SBjorn Andersson			status = "disabled";
558bf9aa8a4SBjorn Andersson		};
559bf9aa8a4SBjorn Andersson
560734e6d02SBjorn Andersson		blsp1_i2c0: i2c@78b5000 {
561734e6d02SBjorn Andersson			compatible = "qcom,i2c-qup-v2.2.1";
562734e6d02SBjorn Andersson			reg = <0x078b5000 0x600>;
563734e6d02SBjorn Andersson			interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
564734e6d02SBjorn Andersson			clocks = <&gcc GCC_BLSP1_AHB_CLK>,
565734e6d02SBjorn Andersson				 <&gcc GCC_BLSP1_QUP0_I2C_APPS_CLK>;
566734e6d02SBjorn Andersson			clock-names = "iface", "core";
567734e6d02SBjorn Andersson			pinctrl-names = "default";
568734e6d02SBjorn Andersson			pinctrl-0 = <&blsp1_i2c0_default>;
569734e6d02SBjorn Andersson			#address-cells = <1>;
570734e6d02SBjorn Andersson			#size-cells = <0>;
571734e6d02SBjorn Andersson			status = "disabled";
572734e6d02SBjorn Andersson		};
573734e6d02SBjorn Andersson
574734e6d02SBjorn Andersson		blsp1_spi0: spi@78b5000 {
575734e6d02SBjorn Andersson			compatible = "qcom,spi-qup-v2.2.1";
576734e6d02SBjorn Andersson			reg = <0x078b5000 0x600>;
577734e6d02SBjorn Andersson			interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
578734e6d02SBjorn Andersson			clocks = <&gcc GCC_BLSP1_AHB_CLK>,
579734e6d02SBjorn Andersson				 <&gcc GCC_BLSP1_QUP0_SPI_APPS_CLK>;
580734e6d02SBjorn Andersson			clock-names = "iface", "core";
581734e6d02SBjorn Andersson			pinctrl-names = "default";
582734e6d02SBjorn Andersson			pinctrl-0 = <&blsp1_spi0_default>;
583734e6d02SBjorn Andersson			#address-cells = <1>;
584734e6d02SBjorn Andersson			#size-cells = <0>;
585734e6d02SBjorn Andersson			status = "disabled";
586734e6d02SBjorn Andersson		};
587734e6d02SBjorn Andersson
588734e6d02SBjorn Andersson		blsp1_i2c1: i2c@78b6000 {
589734e6d02SBjorn Andersson			compatible = "qcom,i2c-qup-v2.2.1";
590734e6d02SBjorn Andersson			reg = <0x078b6000 0x600>;
591734e6d02SBjorn Andersson			interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
592734e6d02SBjorn Andersson			clocks = <&gcc GCC_BLSP1_AHB_CLK>,
593734e6d02SBjorn Andersson				 <&gcc GCC_BLSP1_QUP1_I2C_APPS_CLK>;
594734e6d02SBjorn Andersson			clock-names = "iface", "core";
595734e6d02SBjorn Andersson			pinctrl-names = "default";
596734e6d02SBjorn Andersson			pinctrl-0 = <&blsp1_i2c1_default>;
597734e6d02SBjorn Andersson			#address-cells = <1>;
598734e6d02SBjorn Andersson			#size-cells = <0>;
599734e6d02SBjorn Andersson			status = "disabled";
600734e6d02SBjorn Andersson		};
601734e6d02SBjorn Andersson
602734e6d02SBjorn Andersson		blsp1_spi1: spi@78b6000 {
603734e6d02SBjorn Andersson			compatible = "qcom,spi-qup-v2.2.1";
604734e6d02SBjorn Andersson			reg = <0x078b6000 0x600>;
605734e6d02SBjorn Andersson			interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
606734e6d02SBjorn Andersson			clocks = <&gcc GCC_BLSP1_AHB_CLK>,
607734e6d02SBjorn Andersson				 <&gcc GCC_BLSP1_QUP1_SPI_APPS_CLK>;
608734e6d02SBjorn Andersson			clock-names = "iface", "core";
609734e6d02SBjorn Andersson			pinctrl-names = "default";
610734e6d02SBjorn Andersson			pinctrl-0 = <&blsp1_spi1_default>;
611734e6d02SBjorn Andersson			#address-cells = <1>;
612734e6d02SBjorn Andersson			#size-cells = <0>;
613734e6d02SBjorn Andersson			status = "disabled";
614734e6d02SBjorn Andersson		};
615734e6d02SBjorn Andersson
616734e6d02SBjorn Andersson		blsp1_i2c2: i2c@78b7000 {
617734e6d02SBjorn Andersson			compatible = "qcom,i2c-qup-v2.2.1";
618734e6d02SBjorn Andersson			reg = <0x078b7000 0x600>;
619734e6d02SBjorn Andersson			interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
620734e6d02SBjorn Andersson			clocks = <&gcc GCC_BLSP1_AHB_CLK>,
621734e6d02SBjorn Andersson				 <&gcc GCC_BLSP1_QUP2_I2C_APPS_CLK>;
622734e6d02SBjorn Andersson			clock-names = "iface", "core";
623734e6d02SBjorn Andersson			pinctrl-names = "default";
624734e6d02SBjorn Andersson			pinctrl-0 = <&blsp1_i2c2_default>;
625734e6d02SBjorn Andersson			#address-cells = <1>;
626734e6d02SBjorn Andersson			#size-cells = <0>;
627734e6d02SBjorn Andersson			status = "disabled";
628734e6d02SBjorn Andersson		};
629734e6d02SBjorn Andersson
630734e6d02SBjorn Andersson		blsp1_spi2: spi@78b7000 {
631734e6d02SBjorn Andersson			compatible = "qcom,spi-qup-v2.2.1";
632734e6d02SBjorn Andersson			reg = <0x078b7000 0x600>;
633734e6d02SBjorn Andersson			interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
634734e6d02SBjorn Andersson			clocks = <&gcc GCC_BLSP1_AHB_CLK>,
635734e6d02SBjorn Andersson				 <&gcc GCC_BLSP1_QUP2_SPI_APPS_CLK>;
636734e6d02SBjorn Andersson			clock-names = "iface", "core";
637734e6d02SBjorn Andersson			pinctrl-names = "default";
638734e6d02SBjorn Andersson			pinctrl-0 = <&blsp1_spi2_default>;
639734e6d02SBjorn Andersson			#address-cells = <1>;
640734e6d02SBjorn Andersson			#size-cells = <0>;
641734e6d02SBjorn Andersson			status = "disabled";
642734e6d02SBjorn Andersson		};
643734e6d02SBjorn Andersson
644734e6d02SBjorn Andersson		blsp1_i2c3: i2c@78b8000 {
645734e6d02SBjorn Andersson			compatible = "qcom,i2c-qup-v2.2.1";
646734e6d02SBjorn Andersson			reg = <0x078b8000 0x600>;
647734e6d02SBjorn Andersson			interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
648734e6d02SBjorn Andersson			clocks = <&gcc GCC_BLSP1_AHB_CLK>,
649734e6d02SBjorn Andersson				 <&gcc GCC_BLSP1_QUP3_I2C_APPS_CLK>;
650734e6d02SBjorn Andersson			clock-names = "iface", "core";
651734e6d02SBjorn Andersson			pinctrl-names = "default";
652734e6d02SBjorn Andersson			pinctrl-0 = <&blsp1_i2c3_default>;
653734e6d02SBjorn Andersson			#address-cells = <1>;
654734e6d02SBjorn Andersson			#size-cells = <0>;
655734e6d02SBjorn Andersson			status = "disabled";
656734e6d02SBjorn Andersson		};
657734e6d02SBjorn Andersson
658734e6d02SBjorn Andersson		blsp1_spi3: spi@78b8000 {
659734e6d02SBjorn Andersson			compatible = "qcom,spi-qup-v2.2.1";
660734e6d02SBjorn Andersson			reg = <0x078b8000 0x600>;
661734e6d02SBjorn Andersson			interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
662734e6d02SBjorn Andersson			clocks = <&gcc GCC_BLSP1_AHB_CLK>,
663734e6d02SBjorn Andersson				 <&gcc GCC_BLSP1_QUP3_SPI_APPS_CLK>;
664734e6d02SBjorn Andersson			clock-names = "iface", "core";
665734e6d02SBjorn Andersson			pinctrl-names = "default";
666734e6d02SBjorn Andersson			pinctrl-0 = <&blsp1_spi3_default>;
667734e6d02SBjorn Andersson			#address-cells = <1>;
668734e6d02SBjorn Andersson			#size-cells = <0>;
669734e6d02SBjorn Andersson			status = "disabled";
670734e6d02SBjorn Andersson		};
671734e6d02SBjorn Andersson
672734e6d02SBjorn Andersson		blsp1_i2c4: i2c@78b9000 {
673734e6d02SBjorn Andersson			compatible = "qcom,i2c-qup-v2.2.1";
674734e6d02SBjorn Andersson			reg = <0x078b9000 0x600>;
675734e6d02SBjorn Andersson			interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
676734e6d02SBjorn Andersson			clocks = <&gcc GCC_BLSP1_AHB_CLK>,
677734e6d02SBjorn Andersson				 <&gcc GCC_BLSP1_QUP4_I2C_APPS_CLK>;
678734e6d02SBjorn Andersson			clock-names = "iface", "core";
679734e6d02SBjorn Andersson			pinctrl-names = "default";
680734e6d02SBjorn Andersson			pinctrl-0 = <&blsp1_i2c4_default>;
681734e6d02SBjorn Andersson			#address-cells = <1>;
682734e6d02SBjorn Andersson			#size-cells = <0>;
683734e6d02SBjorn Andersson			status = "disabled";
684734e6d02SBjorn Andersson		};
685734e6d02SBjorn Andersson
686734e6d02SBjorn Andersson		blsp1_spi4: spi@78b9000 {
687734e6d02SBjorn Andersson			compatible = "qcom,spi-qup-v2.2.1";
688734e6d02SBjorn Andersson			reg = <0x078b9000 0x600>;
689734e6d02SBjorn Andersson			interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
690734e6d02SBjorn Andersson			clocks = <&gcc GCC_BLSP1_AHB_CLK>,
691734e6d02SBjorn Andersson				 <&gcc GCC_BLSP1_QUP4_SPI_APPS_CLK>;
692734e6d02SBjorn Andersson			clock-names = "iface", "core";
693734e6d02SBjorn Andersson			pinctrl-names = "default";
694734e6d02SBjorn Andersson			pinctrl-0 = <&blsp1_spi4_default>;
695734e6d02SBjorn Andersson			#address-cells = <1>;
696734e6d02SBjorn Andersson			#size-cells = <0>;
697734e6d02SBjorn Andersson			status = "disabled";
698734e6d02SBjorn Andersson		};
699734e6d02SBjorn Andersson
700bf9aa8a4SBjorn Andersson		blsp2_dma: dma@7ac4000 {
701bf9aa8a4SBjorn Andersson			compatible = "qcom,bam-v1.7.0";
702bf9aa8a4SBjorn Andersson			reg = <0x07ac4000 0x17000>;
703bf9aa8a4SBjorn Andersson			interrupts = <GIC_SPI 239 IRQ_TYPE_LEVEL_HIGH>;
704bf9aa8a4SBjorn Andersson			clocks = <&gcc GCC_BLSP2_AHB_CLK>;
705bf9aa8a4SBjorn Andersson			clock-names = "bam_clk";
706bf9aa8a4SBjorn Andersson			#dma-cells = <1>;
707bf9aa8a4SBjorn Andersson			qcom,ee = <0>;
708bf9aa8a4SBjorn Andersson			status = "disabled";
709bf9aa8a4SBjorn Andersson		};
710bf9aa8a4SBjorn Andersson
711bf9aa8a4SBjorn Andersson		blsp2_uart0: serial@7aef000 {
712bf9aa8a4SBjorn Andersson			compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
713bf9aa8a4SBjorn Andersson			reg = <0x07aef000 0x200>;
714bf9aa8a4SBjorn Andersson			interrupts = <GIC_SPI 297 IRQ_TYPE_LEVEL_HIGH>;
715bf9aa8a4SBjorn Andersson			clocks = <&gcc GCC_BLSP2_UART0_APPS_CLK>, <&gcc GCC_BLSP2_AHB_CLK>;
716bf9aa8a4SBjorn Andersson			clock-names = "core", "iface";
717bf9aa8a4SBjorn Andersson			dmas = <&blsp2_dma 1>, <&blsp2_dma 0>;
718bf9aa8a4SBjorn Andersson			dma-names = "rx", "tx";
719bf9aa8a4SBjorn Andersson			pinctrl-names = "default";
720bf9aa8a4SBjorn Andersson			pinctrl-0 = <&blsp2_uart0_default>;
721bf9aa8a4SBjorn Andersson			status = "disabled";
722bf9aa8a4SBjorn Andersson		};
723bf9aa8a4SBjorn Andersson
724734e6d02SBjorn Andersson		blsp2_i2c0: i2c@7af5000 {
725734e6d02SBjorn Andersson			compatible = "qcom,i2c-qup-v2.2.1";
726734e6d02SBjorn Andersson			reg = <0x07af5000 0x600>;
727734e6d02SBjorn Andersson			interrupts = <GIC_SPI 299 IRQ_TYPE_LEVEL_HIGH>;
728734e6d02SBjorn Andersson			clocks = <&gcc GCC_BLSP2_AHB_CLK>,
729734e6d02SBjorn Andersson				 <&gcc GCC_BLSP2_QUP0_I2C_APPS_CLK>;
730734e6d02SBjorn Andersson			clock-names = "iface", "core";
731734e6d02SBjorn Andersson			pinctrl-names = "default";
732734e6d02SBjorn Andersson			pinctrl-0 = <&blsp2_i2c0_default>;
733734e6d02SBjorn Andersson			#address-cells = <1>;
734734e6d02SBjorn Andersson			#size-cells = <0>;
735734e6d02SBjorn Andersson			status = "disabled";
736734e6d02SBjorn Andersson		};
737734e6d02SBjorn Andersson
738734e6d02SBjorn Andersson		blsp2_spi0: spi@7af5000 {
739734e6d02SBjorn Andersson			compatible = "qcom,spi-qup-v2.2.1";
740734e6d02SBjorn Andersson			reg = <0x07af5000 0x600>;
741734e6d02SBjorn Andersson			interrupts = <GIC_SPI 299 IRQ_TYPE_LEVEL_HIGH>;
742734e6d02SBjorn Andersson			clocks = <&gcc GCC_BLSP2_AHB_CLK>,
743734e6d02SBjorn Andersson				 <&gcc GCC_BLSP2_QUP0_SPI_APPS_CLK>;
744734e6d02SBjorn Andersson			clock-names = "iface", "core";
745734e6d02SBjorn Andersson			pinctrl-names = "default";
746734e6d02SBjorn Andersson			pinctrl-0 = <&blsp2_spi0_default>;
747734e6d02SBjorn Andersson			#address-cells = <1>;
748734e6d02SBjorn Andersson			#size-cells = <0>;
749734e6d02SBjorn Andersson			status = "disabled";
750734e6d02SBjorn Andersson		};
751734e6d02SBjorn Andersson
752b4d82f4dSVinod Koul		intc: interrupt-controller@b000000 {
753b4d82f4dSVinod Koul			compatible = "qcom,msm-qgic2";
754b4d82f4dSVinod Koul			interrupt-controller;
755b4d82f4dSVinod Koul			#interrupt-cells = <3>;
756b4d82f4dSVinod Koul			reg = <0x0b000000 0x1000>,
757b4d82f4dSVinod Koul			      <0x0b002000 0x1000>;
758b4d82f4dSVinod Koul		};
759b4d82f4dSVinod Koul
7607fc7089dSBjorn Andersson		apcs_glb: mailbox@b011000 {
7617fc7089dSBjorn Andersson			compatible = "qcom,qcs404-apcs-apps-global", "syscon";
7627fc7089dSBjorn Andersson			reg = <0x0b011000 0x1000>;
7637fc7089dSBjorn Andersson			#mbox-cells = <1>;
7647fc7089dSBjorn Andersson		};
7657fc7089dSBjorn Andersson
766b4d82f4dSVinod Koul		timer@b120000 {
767b4d82f4dSVinod Koul			#address-cells = <1>;
768b4d82f4dSVinod Koul			#size-cells = <1>;
769b4d82f4dSVinod Koul			ranges;
770b4d82f4dSVinod Koul			compatible = "arm,armv7-timer-mem";
771b4d82f4dSVinod Koul			reg = <0x0b120000 0x1000>;
772b4d82f4dSVinod Koul			clock-frequency = <19200000>;
773b4d82f4dSVinod Koul
774b4d82f4dSVinod Koul			frame@b121000 {
775b4d82f4dSVinod Koul				frame-number = <0>;
776b4d82f4dSVinod Koul				interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
777b4d82f4dSVinod Koul					     <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
778b4d82f4dSVinod Koul				reg = <0x0b121000 0x1000>,
779b4d82f4dSVinod Koul				      <0x0b122000 0x1000>;
780b4d82f4dSVinod Koul			};
781b4d82f4dSVinod Koul
782b4d82f4dSVinod Koul			frame@b123000 {
783b4d82f4dSVinod Koul				frame-number = <1>;
784b4d82f4dSVinod Koul				interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
785b4d82f4dSVinod Koul				reg = <0x0b123000 0x1000>;
786b4d82f4dSVinod Koul				status = "disabled";
787b4d82f4dSVinod Koul			};
788b4d82f4dSVinod Koul
789b4d82f4dSVinod Koul			frame@b124000 {
790b4d82f4dSVinod Koul				frame-number = <2>;
791b4d82f4dSVinod Koul				interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
792b4d82f4dSVinod Koul				reg = <0x0b124000 0x1000>;
793b4d82f4dSVinod Koul				status = "disabled";
794b4d82f4dSVinod Koul			};
795b4d82f4dSVinod Koul
796b4d82f4dSVinod Koul			frame@b125000 {
797b4d82f4dSVinod Koul				frame-number = <3>;
798b4d82f4dSVinod Koul				interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
799b4d82f4dSVinod Koul				reg = <0x0b125000 0x1000>;
800b4d82f4dSVinod Koul				status = "disabled";
801b4d82f4dSVinod Koul			};
802b4d82f4dSVinod Koul
803b4d82f4dSVinod Koul			frame@b126000 {
804b4d82f4dSVinod Koul				frame-number = <4>;
805b4d82f4dSVinod Koul				interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
806b4d82f4dSVinod Koul				reg = <0x0b126000 0x1000>;
807b4d82f4dSVinod Koul				status = "disabled";
808b4d82f4dSVinod Koul			};
809b4d82f4dSVinod Koul
810b4d82f4dSVinod Koul			frame@b127000 {
811b4d82f4dSVinod Koul				frame-number = <5>;
812b4d82f4dSVinod Koul				interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
813b4d82f4dSVinod Koul				reg = <0xb127000 0x1000>;
814b4d82f4dSVinod Koul				status = "disabled";
815b4d82f4dSVinod Koul			};
816b4d82f4dSVinod Koul
817b4d82f4dSVinod Koul			frame@b128000 {
818b4d82f4dSVinod Koul				frame-number = <6>;
819b4d82f4dSVinod Koul				interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
820b4d82f4dSVinod Koul				reg = <0x0b128000 0x1000>;
821b4d82f4dSVinod Koul				status = "disabled";
822b4d82f4dSVinod Koul			};
823b4d82f4dSVinod Koul		};
82467779ca2SBjorn Andersson
82567779ca2SBjorn Andersson		remoteproc_adsp: remoteproc@c700000 {
82667779ca2SBjorn Andersson			compatible = "qcom,qcs404-adsp-pas";
82767779ca2SBjorn Andersson			reg = <0x0c700000 0x4040>;
82867779ca2SBjorn Andersson
82967779ca2SBjorn Andersson			interrupts-extended = <&intc GIC_SPI 293 IRQ_TYPE_EDGE_RISING>,
83067779ca2SBjorn Andersson					      <&adsp_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
83167779ca2SBjorn Andersson					      <&adsp_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
83267779ca2SBjorn Andersson					      <&adsp_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
83367779ca2SBjorn Andersson					      <&adsp_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
83467779ca2SBjorn Andersson			interrupt-names = "wdog", "fatal", "ready",
83567779ca2SBjorn Andersson					  "handover", "stop-ack";
83667779ca2SBjorn Andersson
83767779ca2SBjorn Andersson			clocks = <&xo_board>;
83867779ca2SBjorn Andersson			clock-names = "xo";
83967779ca2SBjorn Andersson
84067779ca2SBjorn Andersson			memory-region = <&adsp_fw_mem>;
84167779ca2SBjorn Andersson
84267779ca2SBjorn Andersson			qcom,smem-states = <&adsp_smp2p_out 0>;
84367779ca2SBjorn Andersson			qcom,smem-state-names = "stop";
84467779ca2SBjorn Andersson
84567779ca2SBjorn Andersson			status = "disabled";
84667779ca2SBjorn Andersson
84767779ca2SBjorn Andersson			glink-edge {
84867779ca2SBjorn Andersson				interrupts = <GIC_SPI 289 IRQ_TYPE_EDGE_RISING>;
84967779ca2SBjorn Andersson
85067779ca2SBjorn Andersson				qcom,remote-pid = <2>;
85167779ca2SBjorn Andersson				mboxes = <&apcs_glb 8>;
85267779ca2SBjorn Andersson
85367779ca2SBjorn Andersson				label = "adsp";
85467779ca2SBjorn Andersson			};
85567779ca2SBjorn Andersson		};
856b4d82f4dSVinod Koul	};
857b4d82f4dSVinod Koul
858b4d82f4dSVinod Koul	timer {
859b4d82f4dSVinod Koul		compatible = "arm,armv8-timer";
860b4d82f4dSVinod Koul		interrupts = <GIC_PPI 2 0xff08>,
861b4d82f4dSVinod Koul			     <GIC_PPI 3 0xff08>,
862b4d82f4dSVinod Koul			     <GIC_PPI 4 0xff08>,
863b4d82f4dSVinod Koul			     <GIC_PPI 1 0xff08>;
864b4d82f4dSVinod Koul	};
865afdfb0b3SVinod Koul
866afdfb0b3SVinod Koul	smp2p-adsp {
867afdfb0b3SVinod Koul		compatible = "qcom,smp2p";
868afdfb0b3SVinod Koul		qcom,smem = <443>, <429>;
869afdfb0b3SVinod Koul		interrupts = <GIC_SPI 291 IRQ_TYPE_EDGE_RISING>;
870afdfb0b3SVinod Koul		mboxes = <&apcs_glb 10>;
871afdfb0b3SVinod Koul		qcom,local-pid = <0>;
872afdfb0b3SVinod Koul		qcom,remote-pid = <2>;
873afdfb0b3SVinod Koul
874afdfb0b3SVinod Koul		adsp_smp2p_out: master-kernel {
875afdfb0b3SVinod Koul			qcom,entry-name = "master-kernel";
876afdfb0b3SVinod Koul			#qcom,smem-state-cells = <1>;
877afdfb0b3SVinod Koul		};
878afdfb0b3SVinod Koul
879afdfb0b3SVinod Koul		adsp_smp2p_in: slave-kernel {
880afdfb0b3SVinod Koul			qcom,entry-name = "slave-kernel";
881afdfb0b3SVinod Koul			interrupt-controller;
882afdfb0b3SVinod Koul			#interrupt-cells = <2>;
883afdfb0b3SVinod Koul		};
884afdfb0b3SVinod Koul	};
885afdfb0b3SVinod Koul
886afdfb0b3SVinod Koul	smp2p-cdsp {
887afdfb0b3SVinod Koul		compatible = "qcom,smp2p";
888afdfb0b3SVinod Koul		qcom,smem = <94>, <432>;
889afdfb0b3SVinod Koul		interrupts = <GIC_SPI 143 IRQ_TYPE_EDGE_RISING>;
890afdfb0b3SVinod Koul		mboxes = <&apcs_glb 14>;
891afdfb0b3SVinod Koul		qcom,local-pid = <0>;
892afdfb0b3SVinod Koul		qcom,remote-pid = <5>;
893afdfb0b3SVinod Koul
894afdfb0b3SVinod Koul		cdsp_smp2p_out: master-kernel {
895afdfb0b3SVinod Koul			qcom,entry-name = "master-kernel";
896afdfb0b3SVinod Koul			#qcom,smem-state-cells = <1>;
897afdfb0b3SVinod Koul		};
898afdfb0b3SVinod Koul
899afdfb0b3SVinod Koul		cdsp_smp2p_in: slave-kernel {
900afdfb0b3SVinod Koul			qcom,entry-name = "slave-kernel";
901afdfb0b3SVinod Koul			interrupt-controller;
902afdfb0b3SVinod Koul			#interrupt-cells = <2>;
903afdfb0b3SVinod Koul		};
904afdfb0b3SVinod Koul	};
905afdfb0b3SVinod Koul
906afdfb0b3SVinod Koul	smp2p-wcss {
907afdfb0b3SVinod Koul		compatible = "qcom,smp2p";
908afdfb0b3SVinod Koul		qcom,smem = <435>, <428>;
909afdfb0b3SVinod Koul		interrupts = <GIC_SPI 158 IRQ_TYPE_EDGE_RISING>;
910afdfb0b3SVinod Koul		mboxes = <&apcs_glb 18>;
911afdfb0b3SVinod Koul		qcom,local-pid = <0>;
912afdfb0b3SVinod Koul		qcom,remote-pid = <1>;
913afdfb0b3SVinod Koul
914afdfb0b3SVinod Koul		wcss_smp2p_out: master-kernel {
915afdfb0b3SVinod Koul			qcom,entry-name = "master-kernel";
916afdfb0b3SVinod Koul			#qcom,smem-state-cells = <1>;
917afdfb0b3SVinod Koul		};
918afdfb0b3SVinod Koul
919afdfb0b3SVinod Koul		wcss_smp2p_in: slave-kernel {
920afdfb0b3SVinod Koul			qcom,entry-name = "slave-kernel";
921afdfb0b3SVinod Koul			interrupt-controller;
922afdfb0b3SVinod Koul			#interrupt-cells = <2>;
923afdfb0b3SVinod Koul		};
924afdfb0b3SVinod Koul	};
925b4d82f4dSVinod Koul};
926