Merge tag 'dt-5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc
[linux-2.6-microblaze.git] / arch / arm64 / boot / dts / qcom / qcs404.dtsi
1 // SPDX-License-Identifier: GPL-2.0
2 // Copyright (c) 2018, Linaro Limited
3
4 #include <dt-bindings/interrupt-controller/arm-gic.h>
5 #include <dt-bindings/clock/qcom,gcc-qcs404.h>
6 #include <dt-bindings/clock/qcom,turingcc-qcs404.h>
7 #include <dt-bindings/clock/qcom,rpmcc.h>
8 #include <dt-bindings/power/qcom-rpmpd.h>
9 #include <dt-bindings/thermal/thermal.h>
10
11 / {
12         interrupt-parent = <&intc>;
13
14         #address-cells = <2>;
15         #size-cells = <2>;
16
17         chosen { };
18
19         clocks {
20                 xo_board: xo-board {
21                         compatible = "fixed-clock";
22                         #clock-cells = <0>;
23                         clock-frequency = <19200000>;
24                 };
25
26                 sleep_clk: sleep-clk {
27                         compatible = "fixed-clock";
28                         #clock-cells = <0>;
29                         clock-frequency = <32768>;
30                 };
31         };
32
33         cpus {
34                 #address-cells = <1>;
35                 #size-cells = <0>;
36
37                 CPU0: cpu@100 {
38                         device_type = "cpu";
39                         compatible = "arm,cortex-a53";
40                         reg = <0x100>;
41                         enable-method = "psci";
42                         cpu-idle-states = <&CPU_SLEEP_0>;
43                         next-level-cache = <&L2_0>;
44                         #cooling-cells = <2>;
45                         clocks = <&apcs_glb>;
46                         operating-points-v2 = <&cpu_opp_table>;
47                         power-domains = <&cpr>;
48                         power-domain-names = "cpr";
49                 };
50
51                 CPU1: cpu@101 {
52                         device_type = "cpu";
53                         compatible = "arm,cortex-a53";
54                         reg = <0x101>;
55                         enable-method = "psci";
56                         cpu-idle-states = <&CPU_SLEEP_0>;
57                         next-level-cache = <&L2_0>;
58                         #cooling-cells = <2>;
59                         clocks = <&apcs_glb>;
60                         operating-points-v2 = <&cpu_opp_table>;
61                         power-domains = <&cpr>;
62                         power-domain-names = "cpr";
63                 };
64
65                 CPU2: cpu@102 {
66                         device_type = "cpu";
67                         compatible = "arm,cortex-a53";
68                         reg = <0x102>;
69                         enable-method = "psci";
70                         cpu-idle-states = <&CPU_SLEEP_0>;
71                         next-level-cache = <&L2_0>;
72                         #cooling-cells = <2>;
73                         clocks = <&apcs_glb>;
74                         operating-points-v2 = <&cpu_opp_table>;
75                         power-domains = <&cpr>;
76                         power-domain-names = "cpr";
77                 };
78
79                 CPU3: cpu@103 {
80                         device_type = "cpu";
81                         compatible = "arm,cortex-a53";
82                         reg = <0x103>;
83                         enable-method = "psci";
84                         cpu-idle-states = <&CPU_SLEEP_0>;
85                         next-level-cache = <&L2_0>;
86                         #cooling-cells = <2>;
87                         clocks = <&apcs_glb>;
88                         operating-points-v2 = <&cpu_opp_table>;
89                         power-domains = <&cpr>;
90                         power-domain-names = "cpr";
91                 };
92
93                 L2_0: l2-cache {
94                         compatible = "cache";
95                         cache-level = <2>;
96                 };
97
98                 idle-states {
99                         entry-method = "psci";
100
101                         CPU_SLEEP_0: cpu-sleep-0 {
102                                 compatible = "arm,idle-state";
103                                 idle-state-name = "standalone-power-collapse";
104                                 arm,psci-suspend-param = <0x40000003>;
105                                 entry-latency-us = <125>;
106                                 exit-latency-us = <180>;
107                                 min-residency-us = <595>;
108                                 local-timer-stop;
109                         };
110                 };
111         };
112
113         cpu_opp_table: cpu-opp-table {
114                 compatible = "operating-points-v2-kryo-cpu";
115                 opp-shared;
116
117                 opp-1094400000 {
118                         opp-hz = /bits/ 64 <1094400000>;
119                         required-opps = <&cpr_opp1>;
120                 };
121                 opp-1248000000 {
122                         opp-hz = /bits/ 64 <1248000000>;
123                         required-opps = <&cpr_opp2>;
124                 };
125                 opp-1401600000 {
126                         opp-hz = /bits/ 64 <1401600000>;
127                         required-opps = <&cpr_opp3>;
128                 };
129         };
130
131         cpr_opp_table: cpr-opp-table {
132                 compatible = "operating-points-v2-qcom-level";
133
134                 cpr_opp1: opp1 {
135                         opp-level = <1>;
136                         qcom,opp-fuse-level = <1>;
137                 };
138                 cpr_opp2: opp2 {
139                         opp-level = <2>;
140                         qcom,opp-fuse-level = <2>;
141                 };
142                 cpr_opp3: opp3 {
143                         opp-level = <3>;
144                         qcom,opp-fuse-level = <3>;
145                 };
146         };
147
148         firmware {
149                 scm: scm {
150                         compatible = "qcom,scm-qcs404", "qcom,scm";
151                         #reset-cells = <1>;
152                 };
153         };
154
155         memory@80000000 {
156                 device_type = "memory";
157                 /* We expect the bootloader to fill in the size */
158                 reg = <0 0x80000000 0 0>;
159         };
160
161         psci {
162                 compatible = "arm,psci-1.0";
163                 method = "smc";
164         };
165
166         reserved-memory {
167                 #address-cells = <2>;
168                 #size-cells = <2>;
169                 ranges;
170
171                 tz_apps_mem: memory@85900000 {
172                         reg = <0 0x85900000 0 0x500000>;
173                         no-map;
174                 };
175
176                 xbl_mem: memory@85e00000 {
177                         reg = <0 0x85e00000 0 0x100000>;
178                         no-map;
179                 };
180
181                 smem_region: memory@85f00000 {
182                         reg = <0 0x85f00000 0 0x200000>;
183                         no-map;
184                 };
185
186                 tz_mem: memory@86100000 {
187                         reg = <0 0x86100000 0 0x300000>;
188                         no-map;
189                 };
190
191                 wlan_fw_mem: memory@86400000 {
192                         reg = <0 0x86400000 0 0x1100000>;
193                         no-map;
194                 };
195
196                 adsp_fw_mem: memory@87500000 {
197                         reg = <0 0x87500000 0 0x1a00000>;
198                         no-map;
199                 };
200
201                 cdsp_fw_mem: memory@88f00000 {
202                         reg = <0 0x88f00000 0 0x600000>;
203                         no-map;
204                 };
205
206                 wlan_msa_mem: memory@89500000 {
207                         reg = <0 0x89500000 0 0x100000>;
208                         no-map;
209                 };
210
211                 uefi_mem: memory@9f800000 {
212                         reg = <0 0x9f800000 0 0x800000>;
213                         no-map;
214                 };
215         };
216
217         rpm-glink {
218                 compatible = "qcom,glink-rpm";
219
220                 interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>;
221                 qcom,rpm-msg-ram = <&rpm_msg_ram>;
222                 mboxes = <&apcs_glb 0>;
223
224                 rpm_requests: glink-channel {
225                         compatible = "qcom,rpm-qcs404";
226                         qcom,glink-channels = "rpm_requests";
227
228                         rpmcc: clock-controller {
229                                 compatible = "qcom,rpmcc-qcs404";
230                                 #clock-cells = <1>;
231                         };
232
233                         rpmpd: power-controller {
234                                 compatible = "qcom,qcs404-rpmpd";
235                                 #power-domain-cells = <1>;
236                                 operating-points-v2 = <&rpmpd_opp_table>;
237
238                                 rpmpd_opp_table: opp-table {
239                                         compatible = "operating-points-v2";
240
241                                         rpmpd_opp_ret: opp1 {
242                                                 opp-level = <16>;
243                                         };
244
245                                         rpmpd_opp_ret_plus: opp2 {
246                                                 opp-level = <32>;
247                                         };
248
249                                         rpmpd_opp_min_svs: opp3 {
250                                                 opp-level = <48>;
251                                         };
252
253                                         rpmpd_opp_low_svs: opp4 {
254                                                 opp-level = <64>;
255                                         };
256
257                                         rpmpd_opp_svs: opp5 {
258                                                 opp-level = <128>;
259                                         };
260
261                                         rpmpd_opp_svs_plus: opp6 {
262                                                 opp-level = <192>;
263                                         };
264
265                                         rpmpd_opp_nom: opp7 {
266                                                 opp-level = <256>;
267                                         };
268
269                                         rpmpd_opp_nom_plus: opp8 {
270                                                 opp-level = <320>;
271                                         };
272
273                                         rpmpd_opp_turbo: opp9 {
274                                                 opp-level = <384>;
275                                         };
276
277                                         rpmpd_opp_turbo_no_cpr: opp10 {
278                                                 opp-level = <416>;
279                                         };
280
281                                         rpmpd_opp_turbo_plus: opp11 {
282                                                 opp-level = <512>;
283                                         };
284                                 };
285                         };
286                 };
287         };
288
289         smem {
290                 compatible = "qcom,smem";
291
292                 memory-region = <&smem_region>;
293                 qcom,rpm-msg-ram = <&rpm_msg_ram>;
294
295                 hwlocks = <&tcsr_mutex 3>;
296         };
297
298         tcsr_mutex: hwlock {
299                 compatible = "qcom,tcsr-mutex";
300                 syscon = <&tcsr_mutex_regs 0 0x1000>;
301                 #hwlock-cells = <1>;
302         };
303
304         soc: soc@0 {
305                 #address-cells = <1>;
306                 #size-cells = <1>;
307                 ranges = <0 0 0 0xffffffff>;
308                 compatible = "simple-bus";
309
310                 turingcc: clock-controller@800000 {
311                         compatible = "qcom,qcs404-turingcc";
312                         reg = <0x00800000 0x30000>;
313                         clocks = <&gcc GCC_CDSP_CFG_AHB_CLK>;
314
315                         #clock-cells = <1>;
316                         #reset-cells = <1>;
317
318                         status = "disabled";
319                 };
320
321                 rpm_msg_ram: memory@60000 {
322                         compatible = "qcom,rpm-msg-ram";
323                         reg = <0x00060000 0x6000>;
324                 };
325
326                 usb3_phy: phy@78000 {
327                         compatible = "qcom,usb-ss-28nm-phy";
328                         reg = <0x00078000 0x400>;
329                         #phy-cells = <0>;
330                         clocks = <&rpmcc RPM_SMD_LN_BB_CLK>,
331                                  <&gcc GCC_USB_HS_PHY_CFG_AHB_CLK>,
332                                  <&gcc GCC_USB3_PHY_PIPE_CLK>;
333                         clock-names = "ref", "ahb", "pipe";
334                         resets = <&gcc GCC_USB3_PHY_BCR>,
335                                  <&gcc GCC_USB3PHY_PHY_BCR>;
336                         reset-names = "com", "phy";
337                         status = "disabled";
338                 };
339
340                 usb2_phy_prim: phy@7a000 {
341                         compatible = "qcom,usb-hs-28nm-femtophy";
342                         reg = <0x0007a000 0x200>;
343                         #phy-cells = <0>;
344                         clocks = <&rpmcc RPM_SMD_LN_BB_CLK>,
345                                  <&gcc GCC_USB_HS_PHY_CFG_AHB_CLK>,
346                                  <&gcc GCC_USB2A_PHY_SLEEP_CLK>;
347                         clock-names = "ref", "ahb", "sleep";
348                         resets = <&gcc GCC_USB_HS_PHY_CFG_AHB_BCR>,
349                                  <&gcc GCC_USB2A_PHY_BCR>;
350                         reset-names = "phy", "por";
351                         status = "disabled";
352                 };
353
354                 usb2_phy_sec: phy@7c000 {
355                         compatible = "qcom,usb-hs-28nm-femtophy";
356                         reg = <0x0007c000 0x200>;
357                         #phy-cells = <0>;
358                         clocks = <&rpmcc RPM_SMD_LN_BB_CLK>,
359                                  <&gcc GCC_USB_HS_PHY_CFG_AHB_CLK>,
360                                  <&gcc GCC_USB2A_PHY_SLEEP_CLK>;
361                         clock-names = "ref", "ahb", "sleep";
362                         resets = <&gcc GCC_QUSB2_PHY_BCR>,
363                                  <&gcc GCC_USB2_HS_PHY_ONLY_BCR>;
364                         reset-names = "phy", "por";
365                         status = "disabled";
366                 };
367
368                 qfprom: qfprom@a4000 {
369                         compatible = "qcom,qfprom";
370                         reg = <0x000a4000 0x1000>;
371                         #address-cells = <1>;
372                         #size-cells = <1>;
373                         tsens_caldata: caldata@d0 {
374                                 reg = <0x1f8 0x14>;
375                         };
376                         cpr_efuse_speedbin: speedbin@13c {
377                                 reg = <0x13c 0x4>;
378                                 bits = <2 3>;
379                         };
380                         cpr_efuse_quot_offset1: qoffset1@231 {
381                                 reg = <0x231 0x4>;
382                                 bits = <4 7>;
383                         };
384                         cpr_efuse_quot_offset2: qoffset2@232 {
385                                 reg = <0x232 0x4>;
386                                 bits = <3 7>;
387                         };
388                         cpr_efuse_quot_offset3: qoffset3@233 {
389                                 reg = <0x233 0x4>;
390                                 bits = <2 7>;
391                         };
392                         cpr_efuse_init_voltage1: ivoltage1@229 {
393                                 reg = <0x229 0x4>;
394                                 bits = <4 6>;
395                         };
396                         cpr_efuse_init_voltage2: ivoltage2@22a {
397                                 reg = <0x22a 0x4>;
398                                 bits = <2 6>;
399                         };
400                         cpr_efuse_init_voltage3: ivoltage3@22b {
401                                 reg = <0x22b 0x4>;
402                                 bits = <0 6>;
403                         };
404                         cpr_efuse_quot1: quot1@22b {
405                                 reg = <0x22b 0x4>;
406                                 bits = <6 12>;
407                         };
408                         cpr_efuse_quot2: quot2@22d {
409                                 reg = <0x22d 0x4>;
410                                 bits = <2 12>;
411                         };
412                         cpr_efuse_quot3: quot3@230 {
413                                 reg = <0x230 0x4>;
414                                 bits = <0 12>;
415                         };
416                         cpr_efuse_ring1: ring1@228 {
417                                 reg = <0x228 0x4>;
418                                 bits = <0 3>;
419                         };
420                         cpr_efuse_ring2: ring2@228 {
421                                 reg = <0x228 0x4>;
422                                 bits = <4 3>;
423                         };
424                         cpr_efuse_ring3: ring3@229 {
425                                 reg = <0x229 0x4>;
426                                 bits = <0 3>;
427                         };
428                         cpr_efuse_revision: revision@218 {
429                                 reg = <0x218 0x4>;
430                                 bits = <3 3>;
431                         };
432                 };
433
434                 rng: rng@e3000 {
435                         compatible = "qcom,prng-ee";
436                         reg = <0x000e3000 0x1000>;
437                         clocks = <&gcc GCC_PRNG_AHB_CLK>;
438                         clock-names = "core";
439                 };
440
441                 bimc: interconnect@400000 {
442                         reg = <0x00400000 0x80000>;
443                         compatible = "qcom,qcs404-bimc";
444                         #interconnect-cells = <1>;
445                         clock-names = "bus", "bus_a";
446                         clocks = <&rpmcc RPM_SMD_BIMC_CLK>,
447                                 <&rpmcc RPM_SMD_BIMC_A_CLK>;
448                 };
449
450                 tsens: thermal-sensor@4a9000 {
451                         compatible = "qcom,qcs404-tsens", "qcom,tsens-v1";
452                         reg = <0x004a9000 0x1000>, /* TM */
453                               <0x004a8000 0x1000>; /* SROT */
454                         nvmem-cells = <&tsens_caldata>;
455                         nvmem-cell-names = "calib";
456                         #qcom,sensors = <10>;
457                         interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>;
458                         interrupt-names = "uplow";
459                         #thermal-sensor-cells = <1>;
460                 };
461
462                 pcnoc: interconnect@500000 {
463                         reg = <0x00500000 0x15080>;
464                         compatible = "qcom,qcs404-pcnoc";
465                         #interconnect-cells = <1>;
466                         clock-names = "bus", "bus_a";
467                         clocks = <&rpmcc RPM_SMD_PNOC_CLK>,
468                                 <&rpmcc RPM_SMD_PNOC_A_CLK>;
469                 };
470
471                 snoc: interconnect@580000 {
472                         reg = <0x00580000 0x23080>;
473                         compatible = "qcom,qcs404-snoc";
474                         #interconnect-cells = <1>;
475                         clock-names = "bus", "bus_a";
476                         clocks = <&rpmcc RPM_SMD_SNOC_CLK>,
477                                 <&rpmcc RPM_SMD_SNOC_A_CLK>;
478                 };
479
480                 remoteproc_cdsp: remoteproc@b00000 {
481                         compatible = "qcom,qcs404-cdsp-pas";
482                         reg = <0x00b00000 0x4040>;
483
484                         interrupts-extended = <&intc GIC_SPI 229 IRQ_TYPE_EDGE_RISING>,
485                                               <&cdsp_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
486                                               <&cdsp_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
487                                               <&cdsp_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
488                                               <&cdsp_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
489                         interrupt-names = "wdog", "fatal", "ready",
490                                           "handover", "stop-ack";
491
492                         clocks = <&xo_board>,
493                                  <&gcc GCC_CDSP_CFG_AHB_CLK>,
494                                  <&gcc GCC_CDSP_TBU_CLK>,
495                                  <&gcc GCC_BIMC_CDSP_CLK>,
496                                  <&turingcc TURING_WRAPPER_AON_CLK>,
497                                  <&turingcc TURING_Q6SS_AHBS_AON_CLK>,
498                                  <&turingcc TURING_Q6SS_AHBM_AON_CLK>,
499                                  <&turingcc TURING_Q6SS_Q6_AXIM_CLK>;
500                         clock-names = "xo",
501                                       "sway",
502                                       "tbu",
503                                       "bimc",
504                                       "ahb_aon",
505                                       "q6ss_slave",
506                                       "q6ss_master",
507                                       "q6_axim";
508
509                         resets = <&gcc GCC_CDSP_RESTART>;
510                         reset-names = "restart";
511
512                         qcom,halt-regs = <&tcsr 0x19004>;
513
514                         memory-region = <&cdsp_fw_mem>;
515
516                         qcom,smem-states = <&cdsp_smp2p_out 0>;
517                         qcom,smem-state-names = "stop";
518
519                         status = "disabled";
520
521                         glink-edge {
522                                 interrupts = <GIC_SPI 141 IRQ_TYPE_EDGE_RISING>;
523
524                                 qcom,remote-pid = <5>;
525                                 mboxes = <&apcs_glb 12>;
526
527                                 label = "cdsp";
528                         };
529                 };
530
531                 usb3: usb@7678800 {
532                         compatible = "qcom,dwc3";
533                         reg = <0x07678800 0x400>;
534                         #address-cells = <1>;
535                         #size-cells = <1>;
536                         ranges;
537                         clocks = <&gcc GCC_USB30_MASTER_CLK>,
538                                  <&gcc GCC_SYS_NOC_USB3_CLK>,
539                                  <&gcc GCC_USB30_SLEEP_CLK>,
540                                  <&gcc GCC_USB30_MOCK_UTMI_CLK>;
541                         clock-names = "core", "iface", "sleep", "mock_utmi";
542                         assigned-clocks = <&gcc GCC_USB20_MOCK_UTMI_CLK>,
543                                           <&gcc GCC_USB30_MASTER_CLK>;
544                         assigned-clock-rates = <19200000>, <200000000>;
545                         status = "disabled";
546
547                         dwc3@7580000 {
548                                 compatible = "snps,dwc3";
549                                 reg = <0x07580000 0xcd00>;
550                                 interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
551                                 phys = <&usb2_phy_sec>, <&usb3_phy>;
552                                 phy-names = "usb2-phy", "usb3-phy";
553                                 snps,has-lpm-erratum;
554                                 snps,hird-threshold = /bits/ 8 <0x10>;
555                                 snps,usb3_lpm_capable;
556                                 dr_mode = "otg";
557                         };
558                 };
559
560                 usb2: usb@79b8800 {
561                         compatible = "qcom,dwc3";
562                         reg = <0x079b8800 0x400>;
563                         #address-cells = <1>;
564                         #size-cells = <1>;
565                         ranges;
566                         clocks = <&gcc GCC_USB_HS_SYSTEM_CLK>,
567                                  <&gcc GCC_PCNOC_USB2_CLK>,
568                                  <&gcc GCC_USB_HS_INACTIVITY_TIMERS_CLK>,
569                                  <&gcc GCC_USB20_MOCK_UTMI_CLK>;
570                         clock-names = "core", "iface", "sleep", "mock_utmi";
571                         assigned-clocks = <&gcc GCC_USB20_MOCK_UTMI_CLK>,
572                                           <&gcc GCC_USB_HS_SYSTEM_CLK>;
573                         assigned-clock-rates = <19200000>, <133333333>;
574                         status = "disabled";
575
576                         dwc3@78c0000 {
577                                 compatible = "snps,dwc3";
578                                 reg = <0x078c0000 0xcc00>;
579                                 interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>;
580                                 phys = <&usb2_phy_prim>;
581                                 phy-names = "usb2-phy";
582                                 snps,has-lpm-erratum;
583                                 snps,hird-threshold = /bits/ 8 <0x10>;
584                                 snps,usb3_lpm_capable;
585                                 dr_mode = "peripheral";
586                         };
587                 };
588
589                 tlmm: pinctrl@1000000 {
590                         compatible = "qcom,qcs404-pinctrl";
591                         reg = <0x01000000 0x200000>,
592                               <0x01300000 0x200000>,
593                               <0x07b00000 0x200000>;
594                         reg-names = "south", "north", "east";
595                         interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;
596                         gpio-ranges = <&tlmm 0 0 120>;
597                         gpio-controller;
598                         #gpio-cells = <2>;
599                         interrupt-controller;
600                         #interrupt-cells = <2>;
601
602                         blsp1_i2c0_default: blsp1-i2c0-default {
603                                 pins = "gpio32", "gpio33";
604                                 function = "blsp_i2c0";
605                         };
606
607                         blsp1_i2c1_default: blsp1-i2c1-default {
608                                 pins = "gpio24", "gpio25";
609                                 function = "blsp_i2c1";
610                         };
611
612                         blsp1_i2c2_default: blsp1-i2c2-default {
613                                 sda {
614                                         pins = "gpio19";
615                                         function = "blsp_i2c_sda_a2";
616                                 };
617
618                                 scl {
619                                         pins = "gpio20";
620                                         function = "blsp_i2c_scl_a2";
621                                 };
622                         };
623
624                         blsp1_i2c3_default: blsp1-i2c3-default {
625                                 pins = "gpio84", "gpio85";
626                                 function = "blsp_i2c3";
627                         };
628
629                         blsp1_i2c4_default: blsp1-i2c4-default {
630                                 pins = "gpio117", "gpio118";
631                                 function = "blsp_i2c4";
632                         };
633
634                         blsp1_uart0_default: blsp1-uart0-default {
635                                 pins = "gpio30", "gpio31", "gpio32", "gpio33";
636                                 function = "blsp_uart0";
637                         };
638
639                         blsp1_uart1_default: blsp1-uart1-default {
640                                 pins = "gpio22", "gpio23";
641                                 function = "blsp_uart1";
642                         };
643
644                         blsp1_uart2_default: blsp1-uart2-default {
645                                 rx {
646                                         pins = "gpio18";
647                                         function = "blsp_uart_rx_a2";
648                                 };
649
650                                 tx {
651                                         pins = "gpio17";
652                                         function = "blsp_uart_tx_a2";
653                                 };
654                         };
655
656                         blsp1_uart3_default: blsp1-uart3-default {
657                                 pins = "gpio82", "gpio83", "gpio84", "gpio85";
658                                 function = "blsp_uart3";
659                         };
660
661                         blsp2_i2c0_default: blsp2-i2c0-default {
662                                 pins = "gpio28", "gpio29";
663                                 function = "blsp_i2c5";
664                         };
665
666                         blsp1_spi0_default: blsp1-spi0-default {
667                                 pins = "gpio30", "gpio31", "gpio32", "gpio33";
668                                 function = "blsp_spi0";
669                         };
670
671                         blsp1_spi1_default: blsp1-spi1-default {
672                                 pins = "gpio22", "gpio23", "gpio24", "gpio25";
673                                 function = "blsp_spi1";
674                         };
675
676                         blsp1_spi2_default: blsp1-spi2-default {
677                                 pins = "gpio17", "gpio18", "gpio19", "gpio20";
678                                 function = "blsp_spi2";
679                         };
680
681                         blsp1_spi3_default: blsp1-spi3-default {
682                                 pins = "gpio82", "gpio83", "gpio84", "gpio85";
683                                 function = "blsp_spi3";
684                         };
685
686                         blsp1_spi4_default: blsp1-spi4-default {
687                                 pins = "gpio37", "gpio38", "gpio117", "gpio118";
688                                 function = "blsp_spi4";
689                         };
690
691                         blsp2_spi0_default: blsp2-spi0-default {
692                                 pins = "gpio26", "gpio27", "gpio28", "gpio29";
693                                 function = "blsp_spi5";
694                         };
695
696                         blsp2_uart0_default: blsp2-uart0-default {
697                                 pins = "gpio26", "gpio27", "gpio28", "gpio29";
698                                 function = "blsp_uart5";
699                         };
700                 };
701
702                 gcc: clock-controller@1800000 {
703                         compatible = "qcom,gcc-qcs404";
704                         reg = <0x01800000 0x80000>;
705                         #clock-cells = <1>;
706                         #reset-cells = <1>;
707
708                         assigned-clocks = <&gcc GCC_APSS_AHB_CLK_SRC>;
709                         assigned-clock-rates = <19200000>;
710                 };
711
712                 tcsr_mutex_regs: syscon@1905000 {
713                         compatible = "syscon";
714                         reg = <0x01905000 0x20000>;
715                 };
716
717                 tcsr: syscon@1937000 {
718                         compatible = "syscon";
719                         reg = <0x01937000 0x25000>;
720                 };
721
722                 spmi_bus: spmi@200f000 {
723                         compatible = "qcom,spmi-pmic-arb";
724                         reg = <0x0200f000 0x001000>,
725                               <0x02400000 0x800000>,
726                               <0x02c00000 0x800000>,
727                               <0x03800000 0x200000>,
728                               <0x0200a000 0x002100>;
729                         reg-names = "core", "chnls", "obsrvr", "intr", "cnfg";
730                         interrupt-names = "periph_irq";
731                         interrupts = <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>;
732                         qcom,ee = <0>;
733                         qcom,channel = <0>;
734                         #address-cells = <2>;
735                         #size-cells = <0>;
736                         interrupt-controller;
737                         #interrupt-cells = <4>;
738                 };
739
740                 remoteproc_wcss: remoteproc@7400000 {
741                         compatible = "qcom,qcs404-wcss-pas";
742                         reg = <0x07400000 0x4040>;
743
744                         interrupts-extended = <&intc GIC_SPI 153 IRQ_TYPE_EDGE_RISING>,
745                                               <&wcss_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
746                                               <&wcss_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
747                                               <&wcss_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
748                                               <&wcss_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
749                         interrupt-names = "wdog", "fatal", "ready",
750                                           "handover", "stop-ack";
751
752                         clocks = <&xo_board>;
753                         clock-names = "xo";
754
755                         memory-region = <&wlan_fw_mem>;
756
757                         qcom,smem-states = <&wcss_smp2p_out 0>;
758                         qcom,smem-state-names = "stop";
759
760                         status = "disabled";
761
762                         glink-edge {
763                                 interrupts = <GIC_SPI 156 IRQ_TYPE_EDGE_RISING>;
764
765                                 qcom,remote-pid = <1>;
766                                 mboxes = <&apcs_glb 16>;
767
768                                 label = "wcss";
769                         };
770                 };
771
772                 pcie_phy: phy@7786000 {
773                         compatible = "qcom,qcs404-pcie2-phy", "qcom,pcie2-phy";
774                         reg = <0x07786000 0xb8>;
775
776                         clocks = <&gcc GCC_PCIE_0_PIPE_CLK>;
777                         resets = <&gcc GCC_PCIEPHY_0_PHY_BCR>,
778                                  <&gcc 21>;
779                         reset-names = "phy", "pipe";
780
781                         clock-output-names = "pcie_0_pipe_clk";
782                         #phy-cells = <0>;
783
784                         status = "disabled";
785                 };
786
787                 sdcc1: sdcc@7804000 {
788                         compatible = "qcom,qcs404-sdhci", "qcom,sdhci-msm-v5";
789                         reg = <0x07804000 0x1000>, <0x7805000 0x1000>;
790                         reg-names = "hc", "cqhci";
791
792                         interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>,
793                                      <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>;
794                         interrupt-names = "hc_irq", "pwr_irq";
795
796                         clocks = <&gcc GCC_SDCC1_APPS_CLK>,
797                                  <&gcc GCC_SDCC1_AHB_CLK>,
798                                  <&xo_board>;
799                         clock-names = "core", "iface", "xo";
800
801                         status = "disabled";
802                 };
803
804                 blsp1_dma: dma-controller@7884000 {
805                         compatible = "qcom,bam-v1.7.0";
806                         reg = <0x07884000 0x25000>;
807                         interrupts = <GIC_SPI 238 IRQ_TYPE_LEVEL_HIGH>;
808                         clocks = <&gcc GCC_BLSP1_AHB_CLK>;
809                         clock-names = "bam_clk";
810                         #dma-cells = <1>;
811                         qcom,ee = <0>;
812                         status = "okay";
813                 };
814
815                 blsp1_uart0: serial@78af000 {
816                         compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
817                         reg = <0x078af000 0x200>;
818                         interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
819                         clocks = <&gcc GCC_BLSP1_UART0_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>;
820                         clock-names = "core", "iface";
821                         dmas = <&blsp1_dma 1>, <&blsp1_dma 0>;
822                         dma-names = "rx", "tx";
823                         pinctrl-names = "default";
824                         pinctrl-0 = <&blsp1_uart0_default>;
825                         status = "disabled";
826                 };
827
828                 blsp1_uart1: serial@78b0000 {
829                         compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
830                         reg = <0x078b0000 0x200>;
831                         interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
832                         clocks = <&gcc GCC_BLSP1_UART1_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>;
833                         clock-names = "core", "iface";
834                         dmas = <&blsp1_dma 3>, <&blsp1_dma 2>;
835                         dma-names = "rx", "tx";
836                         pinctrl-names = "default";
837                         pinctrl-0 = <&blsp1_uart1_default>;
838                         status = "disabled";
839                 };
840
841                 blsp1_uart2: serial@78b1000 {
842                         compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
843                         reg = <0x078b1000 0x200>;
844                         interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>;
845                         clocks = <&gcc GCC_BLSP1_UART2_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>;
846                         clock-names = "core", "iface";
847                         dmas = <&blsp1_dma 5>, <&blsp1_dma 4>;
848                         dma-names = "rx", "tx";
849                         pinctrl-names = "default";
850                         pinctrl-0 = <&blsp1_uart2_default>;
851                         status = "okay";
852                 };
853
854                 ethernet: ethernet@7a80000 {
855                         compatible = "qcom,qcs404-ethqos";
856                         reg = <0x07a80000 0x10000>,
857                                 <0x07a96000 0x100>;
858                         reg-names = "stmmaceth", "rgmii";
859                         clock-names = "stmmaceth", "pclk", "ptp_ref", "rgmii";
860                         clocks = <&gcc GCC_ETH_AXI_CLK>,
861                                 <&gcc GCC_ETH_SLAVE_AHB_CLK>,
862                                 <&gcc GCC_ETH_PTP_CLK>,
863                                 <&gcc GCC_ETH_RGMII_CLK>;
864                         interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>,
865                                         <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
866                         interrupt-names = "macirq", "eth_lpi";
867
868                         snps,tso;
869                         rx-fifo-depth = <4096>;
870                         tx-fifo-depth = <4096>;
871
872                         status = "disabled";
873                 };
874
875                 wifi: wifi@a000000 {
876                         compatible = "qcom,wcn3990-wifi";
877                         reg = <0xa000000 0x800000>;
878                         reg-names = "membase";
879                         memory-region = <&wlan_msa_mem>;
880                         interrupts = <GIC_SPI 277 IRQ_TYPE_LEVEL_HIGH>,
881                                      <GIC_SPI 278 IRQ_TYPE_LEVEL_HIGH>,
882                                      <GIC_SPI 279 IRQ_TYPE_LEVEL_HIGH>,
883                                      <GIC_SPI 280 IRQ_TYPE_LEVEL_HIGH>,
884                                      <GIC_SPI 281 IRQ_TYPE_LEVEL_HIGH>,
885                                      <GIC_SPI 282 IRQ_TYPE_LEVEL_HIGH>,
886                                      <GIC_SPI 283 IRQ_TYPE_LEVEL_HIGH>,
887                                      <GIC_SPI 284 IRQ_TYPE_LEVEL_HIGH>,
888                                      <GIC_SPI 285 IRQ_TYPE_LEVEL_HIGH>,
889                                      <GIC_SPI 286 IRQ_TYPE_LEVEL_HIGH>,
890                                      <GIC_SPI 287 IRQ_TYPE_LEVEL_HIGH>,
891                                      <GIC_SPI 288 IRQ_TYPE_LEVEL_HIGH>;
892                         status = "disabled";
893                 };
894
895                 blsp1_uart3: serial@78b2000 {
896                         compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
897                         reg = <0x078b2000 0x200>;
898                         interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>;
899                         clocks = <&gcc GCC_BLSP1_UART3_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>;
900                         clock-names = "core", "iface";
901                         dmas = <&blsp1_dma 7>, <&blsp1_dma 6>;
902                         dma-names = "rx", "tx";
903                         pinctrl-names = "default";
904                         pinctrl-0 = <&blsp1_uart3_default>;
905                         status = "disabled";
906                 };
907
908                 blsp1_i2c0: i2c@78b5000 {
909                         compatible = "qcom,i2c-qup-v2.2.1";
910                         reg = <0x078b5000 0x600>;
911                         interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
912                         clocks = <&gcc GCC_BLSP1_AHB_CLK>,
913                                  <&gcc GCC_BLSP1_QUP0_I2C_APPS_CLK>;
914                         clock-names = "iface", "core";
915                         pinctrl-names = "default";
916                         pinctrl-0 = <&blsp1_i2c0_default>;
917                         #address-cells = <1>;
918                         #size-cells = <0>;
919                         status = "disabled";
920                 };
921
922                 blsp1_spi0: spi@78b5000 {
923                         compatible = "qcom,spi-qup-v2.2.1";
924                         reg = <0x078b5000 0x600>;
925                         interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
926                         clocks = <&gcc GCC_BLSP1_AHB_CLK>,
927                                  <&gcc GCC_BLSP1_QUP0_SPI_APPS_CLK>;
928                         clock-names = "iface", "core";
929                         pinctrl-names = "default";
930                         pinctrl-0 = <&blsp1_spi0_default>;
931                         #address-cells = <1>;
932                         #size-cells = <0>;
933                         status = "disabled";
934                 };
935
936                 blsp1_i2c1: i2c@78b6000 {
937                         compatible = "qcom,i2c-qup-v2.2.1";
938                         reg = <0x078b6000 0x600>;
939                         interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
940                         clocks = <&gcc GCC_BLSP1_AHB_CLK>,
941                                  <&gcc GCC_BLSP1_QUP1_I2C_APPS_CLK>;
942                         clock-names = "iface", "core";
943                         pinctrl-names = "default";
944                         pinctrl-0 = <&blsp1_i2c1_default>;
945                         #address-cells = <1>;
946                         #size-cells = <0>;
947                         status = "disabled";
948                 };
949
950                 blsp1_spi1: spi@78b6000 {
951                         compatible = "qcom,spi-qup-v2.2.1";
952                         reg = <0x078b6000 0x600>;
953                         interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
954                         clocks = <&gcc GCC_BLSP1_AHB_CLK>,
955                                  <&gcc GCC_BLSP1_QUP1_SPI_APPS_CLK>;
956                         clock-names = "iface", "core";
957                         pinctrl-names = "default";
958                         pinctrl-0 = <&blsp1_spi1_default>;
959                         #address-cells = <1>;
960                         #size-cells = <0>;
961                         status = "disabled";
962                 };
963
964                 blsp1_i2c2: i2c@78b7000 {
965                         compatible = "qcom,i2c-qup-v2.2.1";
966                         reg = <0x078b7000 0x600>;
967                         interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
968                         clocks = <&gcc GCC_BLSP1_AHB_CLK>,
969                                  <&gcc GCC_BLSP1_QUP2_I2C_APPS_CLK>;
970                         clock-names = "iface", "core";
971                         pinctrl-names = "default";
972                         pinctrl-0 = <&blsp1_i2c2_default>;
973                         #address-cells = <1>;
974                         #size-cells = <0>;
975                         status = "disabled";
976                 };
977
978                 blsp1_spi2: spi@78b7000 {
979                         compatible = "qcom,spi-qup-v2.2.1";
980                         reg = <0x078b7000 0x600>;
981                         interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
982                         clocks = <&gcc GCC_BLSP1_AHB_CLK>,
983                                  <&gcc GCC_BLSP1_QUP2_SPI_APPS_CLK>;
984                         clock-names = "iface", "core";
985                         pinctrl-names = "default";
986                         pinctrl-0 = <&blsp1_spi2_default>;
987                         #address-cells = <1>;
988                         #size-cells = <0>;
989                         status = "disabled";
990                 };
991
992                 blsp1_i2c3: i2c@78b8000 {
993                         compatible = "qcom,i2c-qup-v2.2.1";
994                         reg = <0x078b8000 0x600>;
995                         interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
996                         clocks = <&gcc GCC_BLSP1_AHB_CLK>,
997                                  <&gcc GCC_BLSP1_QUP3_I2C_APPS_CLK>;
998                         clock-names = "iface", "core";
999                         pinctrl-names = "default";
1000                         pinctrl-0 = <&blsp1_i2c3_default>;
1001                         #address-cells = <1>;
1002                         #size-cells = <0>;
1003                         status = "disabled";
1004                 };
1005
1006                 blsp1_spi3: spi@78b8000 {
1007                         compatible = "qcom,spi-qup-v2.2.1";
1008                         reg = <0x078b8000 0x600>;
1009                         interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
1010                         clocks = <&gcc GCC_BLSP1_AHB_CLK>,
1011                                  <&gcc GCC_BLSP1_QUP3_SPI_APPS_CLK>;
1012                         clock-names = "iface", "core";
1013                         pinctrl-names = "default";
1014                         pinctrl-0 = <&blsp1_spi3_default>;
1015                         #address-cells = <1>;
1016                         #size-cells = <0>;
1017                         status = "disabled";
1018                 };
1019
1020                 blsp1_i2c4: i2c@78b9000 {
1021                         compatible = "qcom,i2c-qup-v2.2.1";
1022                         reg = <0x078b9000 0x600>;
1023                         interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
1024                         clocks = <&gcc GCC_BLSP1_AHB_CLK>,
1025                                  <&gcc GCC_BLSP1_QUP4_I2C_APPS_CLK>;
1026                         clock-names = "iface", "core";
1027                         pinctrl-names = "default";
1028                         pinctrl-0 = <&blsp1_i2c4_default>;
1029                         #address-cells = <1>;
1030                         #size-cells = <0>;
1031                         status = "disabled";
1032                 };
1033
1034                 blsp1_spi4: spi@78b9000 {
1035                         compatible = "qcom,spi-qup-v2.2.1";
1036                         reg = <0x078b9000 0x600>;
1037                         interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
1038                         clocks = <&gcc GCC_BLSP1_AHB_CLK>,
1039                                  <&gcc GCC_BLSP1_QUP4_SPI_APPS_CLK>;
1040                         clock-names = "iface", "core";
1041                         pinctrl-names = "default";
1042                         pinctrl-0 = <&blsp1_spi4_default>;
1043                         #address-cells = <1>;
1044                         #size-cells = <0>;
1045                         status = "disabled";
1046                 };
1047
1048                 blsp2_dma: dma-controller@7ac4000 {
1049                         compatible = "qcom,bam-v1.7.0";
1050                         reg = <0x07ac4000 0x17000>;
1051                         interrupts = <GIC_SPI 239 IRQ_TYPE_LEVEL_HIGH>;
1052                         clocks = <&gcc GCC_BLSP2_AHB_CLK>;
1053                         clock-names = "bam_clk";
1054                         #dma-cells = <1>;
1055                         qcom,ee = <0>;
1056                         status = "disabled";
1057                 };
1058
1059                 blsp2_uart0: serial@7aef000 {
1060                         compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
1061                         reg = <0x07aef000 0x200>;
1062                         interrupts = <GIC_SPI 297 IRQ_TYPE_LEVEL_HIGH>;
1063                         clocks = <&gcc GCC_BLSP2_UART0_APPS_CLK>, <&gcc GCC_BLSP2_AHB_CLK>;
1064                         clock-names = "core", "iface";
1065                         dmas = <&blsp2_dma 1>, <&blsp2_dma 0>;
1066                         dma-names = "rx", "tx";
1067                         pinctrl-names = "default";
1068                         pinctrl-0 = <&blsp2_uart0_default>;
1069                         status = "disabled";
1070                 };
1071
1072                 blsp2_i2c0: i2c@7af5000 {
1073                         compatible = "qcom,i2c-qup-v2.2.1";
1074                         reg = <0x07af5000 0x600>;
1075                         interrupts = <GIC_SPI 299 IRQ_TYPE_LEVEL_HIGH>;
1076                         clocks = <&gcc GCC_BLSP2_AHB_CLK>,
1077                                  <&gcc GCC_BLSP2_QUP0_I2C_APPS_CLK>;
1078                         clock-names = "iface", "core";
1079                         pinctrl-names = "default";
1080                         pinctrl-0 = <&blsp2_i2c0_default>;
1081                         #address-cells = <1>;
1082                         #size-cells = <0>;
1083                         status = "disabled";
1084                 };
1085
1086                 blsp2_spi0: spi@7af5000 {
1087                         compatible = "qcom,spi-qup-v2.2.1";
1088                         reg = <0x07af5000 0x600>;
1089                         interrupts = <GIC_SPI 299 IRQ_TYPE_LEVEL_HIGH>;
1090                         clocks = <&gcc GCC_BLSP2_AHB_CLK>,
1091                                  <&gcc GCC_BLSP2_QUP0_SPI_APPS_CLK>;
1092                         clock-names = "iface", "core";
1093                         pinctrl-names = "default";
1094                         pinctrl-0 = <&blsp2_spi0_default>;
1095                         #address-cells = <1>;
1096                         #size-cells = <0>;
1097                         status = "disabled";
1098                 };
1099
1100                 imem@8600000 {
1101                         compatible = "simple-mfd";
1102                         reg = <0x08600000 0x1000>;
1103
1104                         #address-cells = <1>;
1105                         #size-cells = <1>;
1106
1107                         ranges = <0 0x08600000 0x1000>;
1108
1109                         pil-reloc@94c {
1110                                 compatible = "qcom,pil-reloc-info";
1111                                 reg = <0x94c 0xc8>;
1112                         };
1113                 };
1114
1115                 intc: interrupt-controller@b000000 {
1116                         compatible = "qcom,msm-qgic2";
1117                         interrupt-controller;
1118                         #interrupt-cells = <3>;
1119                         reg = <0x0b000000 0x1000>,
1120                               <0x0b002000 0x1000>;
1121                 };
1122
1123                 apcs_glb: mailbox@b011000 {
1124                         compatible = "qcom,qcs404-apcs-apps-global", "syscon";
1125                         reg = <0x0b011000 0x1000>;
1126                         #mbox-cells = <1>;
1127                         clocks = <&apcs_hfpll>, <&gcc GCC_GPLL0_AO_OUT_MAIN>;
1128                         clock-names = "pll", "aux";
1129                         #clock-cells = <0>;
1130                 };
1131
1132                 apcs_hfpll: clock-controller@b016000 {
1133                         compatible = "qcom,hfpll";
1134                         reg = <0x0b016000 0x30>;
1135                         #clock-cells = <0>;
1136                         clock-output-names = "apcs_hfpll";
1137                         clocks = <&xo_board>;
1138                         clock-names = "xo";
1139                 };
1140
1141                 watchdog@b017000 {
1142                         compatible = "qcom,apss-wdt-qcs404", "qcom,kpss-wdt";
1143                         reg = <0x0b017000 0x1000>;
1144                         clocks = <&sleep_clk>;
1145                 };
1146
1147                 cpr: power-controller@b018000 {
1148                         compatible = "qcom,qcs404-cpr", "qcom,cpr";
1149                         reg = <0x0b018000 0x1000>;
1150                         interrupts = <0 15 IRQ_TYPE_EDGE_RISING>;
1151                         clocks = <&xo_board>;
1152                         clock-names = "ref";
1153                         vdd-apc-supply = <&pms405_s3>;
1154                         #power-domain-cells = <0>;
1155                         operating-points-v2 = <&cpr_opp_table>;
1156                         acc-syscon = <&tcsr>;
1157
1158                         nvmem-cells = <&cpr_efuse_quot_offset1>,
1159                                 <&cpr_efuse_quot_offset2>,
1160                                 <&cpr_efuse_quot_offset3>,
1161                                 <&cpr_efuse_init_voltage1>,
1162                                 <&cpr_efuse_init_voltage2>,
1163                                 <&cpr_efuse_init_voltage3>,
1164                                 <&cpr_efuse_quot1>,
1165                                 <&cpr_efuse_quot2>,
1166                                 <&cpr_efuse_quot3>,
1167                                 <&cpr_efuse_ring1>,
1168                                 <&cpr_efuse_ring2>,
1169                                 <&cpr_efuse_ring3>,
1170                                 <&cpr_efuse_revision>;
1171                         nvmem-cell-names = "cpr_quotient_offset1",
1172                                 "cpr_quotient_offset2",
1173                                 "cpr_quotient_offset3",
1174                                 "cpr_init_voltage1",
1175                                 "cpr_init_voltage2",
1176                                 "cpr_init_voltage3",
1177                                 "cpr_quotient1",
1178                                 "cpr_quotient2",
1179                                 "cpr_quotient3",
1180                                 "cpr_ring_osc1",
1181                                 "cpr_ring_osc2",
1182                                 "cpr_ring_osc3",
1183                                 "cpr_fuse_revision";
1184                 };
1185
1186                 timer@b120000 {
1187                         #address-cells = <1>;
1188                         #size-cells = <1>;
1189                         ranges;
1190                         compatible = "arm,armv7-timer-mem";
1191                         reg = <0x0b120000 0x1000>;
1192                         clock-frequency = <19200000>;
1193
1194                         frame@b121000 {
1195                                 frame-number = <0>;
1196                                 interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
1197                                              <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
1198                                 reg = <0x0b121000 0x1000>,
1199                                       <0x0b122000 0x1000>;
1200                         };
1201
1202                         frame@b123000 {
1203                                 frame-number = <1>;
1204                                 interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
1205                                 reg = <0x0b123000 0x1000>;
1206                                 status = "disabled";
1207                         };
1208
1209                         frame@b124000 {
1210                                 frame-number = <2>;
1211                                 interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
1212                                 reg = <0x0b124000 0x1000>;
1213                                 status = "disabled";
1214                         };
1215
1216                         frame@b125000 {
1217                                 frame-number = <3>;
1218                                 interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
1219                                 reg = <0x0b125000 0x1000>;
1220                                 status = "disabled";
1221                         };
1222
1223                         frame@b126000 {
1224                                 frame-number = <4>;
1225                                 interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
1226                                 reg = <0x0b126000 0x1000>;
1227                                 status = "disabled";
1228                         };
1229
1230                         frame@b127000 {
1231                                 frame-number = <5>;
1232                                 interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
1233                                 reg = <0xb127000 0x1000>;
1234                                 status = "disabled";
1235                         };
1236
1237                         frame@b128000 {
1238                                 frame-number = <6>;
1239                                 interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
1240                                 reg = <0x0b128000 0x1000>;
1241                                 status = "disabled";
1242                         };
1243                 };
1244
1245                 remoteproc_adsp: remoteproc@c700000 {
1246                         compatible = "qcom,qcs404-adsp-pas";
1247                         reg = <0x0c700000 0x4040>;
1248
1249                         interrupts-extended = <&intc GIC_SPI 293 IRQ_TYPE_EDGE_RISING>,
1250                                               <&adsp_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
1251                                               <&adsp_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
1252                                               <&adsp_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
1253                                               <&adsp_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
1254                         interrupt-names = "wdog", "fatal", "ready",
1255                                           "handover", "stop-ack";
1256
1257                         clocks = <&xo_board>;
1258                         clock-names = "xo";
1259
1260                         memory-region = <&adsp_fw_mem>;
1261
1262                         qcom,smem-states = <&adsp_smp2p_out 0>;
1263                         qcom,smem-state-names = "stop";
1264
1265                         status = "disabled";
1266
1267                         glink-edge {
1268                                 interrupts = <GIC_SPI 289 IRQ_TYPE_EDGE_RISING>;
1269
1270                                 qcom,remote-pid = <2>;
1271                                 mboxes = <&apcs_glb 8>;
1272
1273                                 label = "adsp";
1274                         };
1275                 };
1276
1277                 pcie: pci@10000000 {
1278                         compatible = "qcom,pcie-qcs404", "snps,dw-pcie";
1279                         reg =  <0x10000000 0xf1d>,
1280                                <0x10000f20 0xa8>,
1281                                <0x07780000 0x2000>,
1282                                <0x10001000 0x2000>;
1283                         reg-names = "dbi", "elbi", "parf", "config";
1284                         device_type = "pci";
1285                         linux,pci-domain = <0>;
1286                         bus-range = <0x00 0xff>;
1287                         num-lanes = <1>;
1288                         #address-cells = <3>;
1289                         #size-cells = <2>;
1290
1291                         ranges = <0x81000000 0 0          0x10003000 0 0x00010000>, /* I/O */
1292                                  <0x82000000 0 0x10013000 0x10013000 0 0x007ed000>; /* memory */
1293
1294                         interrupts = <GIC_SPI 266 IRQ_TYPE_LEVEL_HIGH>;
1295                         interrupt-names = "msi";
1296                         #interrupt-cells = <1>;
1297                         interrupt-map-mask = <0 0 0 0x7>;
1298                         interrupt-map = <0 0 0 1 &intc GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>, /* int_a */
1299                                         <0 0 0 2 &intc GIC_SPI 224 IRQ_TYPE_LEVEL_HIGH>, /* int_b */
1300                                         <0 0 0 3 &intc GIC_SPI 267 IRQ_TYPE_LEVEL_HIGH>, /* int_c */
1301                                         <0 0 0 4 &intc GIC_SPI 268 IRQ_TYPE_LEVEL_HIGH>; /* int_d */
1302                         clocks = <&gcc GCC_PCIE_0_CFG_AHB_CLK>,
1303                                  <&gcc GCC_PCIE_0_AUX_CLK>,
1304                                  <&gcc GCC_PCIE_0_MSTR_AXI_CLK>,
1305                                  <&gcc GCC_PCIE_0_SLV_AXI_CLK>;
1306                         clock-names = "iface", "aux", "master_bus", "slave_bus";
1307
1308                         resets = <&gcc 18>,
1309                                  <&gcc 17>,
1310                                  <&gcc 15>,
1311                                  <&gcc 19>,
1312                                  <&gcc GCC_PCIE_0_BCR>,
1313                                  <&gcc 16>;
1314                         reset-names = "axi_m",
1315                                       "axi_s",
1316                                       "axi_m_sticky",
1317                                       "pipe_sticky",
1318                                       "pwr",
1319                                       "ahb";
1320
1321                         phys = <&pcie_phy>;
1322                         phy-names = "pciephy";
1323
1324                         status = "disabled";
1325                 };
1326         };
1327
1328         timer {
1329                 compatible = "arm,armv8-timer";
1330                 interrupts = <GIC_PPI 2 0xff08>,
1331                              <GIC_PPI 3 0xff08>,
1332                              <GIC_PPI 4 0xff08>,
1333                              <GIC_PPI 1 0xff08>;
1334         };
1335
1336         smp2p-adsp {
1337                 compatible = "qcom,smp2p";
1338                 qcom,smem = <443>, <429>;
1339                 interrupts = <GIC_SPI 291 IRQ_TYPE_EDGE_RISING>;
1340                 mboxes = <&apcs_glb 10>;
1341                 qcom,local-pid = <0>;
1342                 qcom,remote-pid = <2>;
1343
1344                 adsp_smp2p_out: master-kernel {
1345                         qcom,entry-name = "master-kernel";
1346                         #qcom,smem-state-cells = <1>;
1347                 };
1348
1349                 adsp_smp2p_in: slave-kernel {
1350                         qcom,entry-name = "slave-kernel";
1351                         interrupt-controller;
1352                         #interrupt-cells = <2>;
1353                 };
1354         };
1355
1356         smp2p-cdsp {
1357                 compatible = "qcom,smp2p";
1358                 qcom,smem = <94>, <432>;
1359                 interrupts = <GIC_SPI 143 IRQ_TYPE_EDGE_RISING>;
1360                 mboxes = <&apcs_glb 14>;
1361                 qcom,local-pid = <0>;
1362                 qcom,remote-pid = <5>;
1363
1364                 cdsp_smp2p_out: master-kernel {
1365                         qcom,entry-name = "master-kernel";
1366                         #qcom,smem-state-cells = <1>;
1367                 };
1368
1369                 cdsp_smp2p_in: slave-kernel {
1370                         qcom,entry-name = "slave-kernel";
1371                         interrupt-controller;
1372                         #interrupt-cells = <2>;
1373                 };
1374         };
1375
1376         smp2p-wcss {
1377                 compatible = "qcom,smp2p";
1378                 qcom,smem = <435>, <428>;
1379                 interrupts = <GIC_SPI 158 IRQ_TYPE_EDGE_RISING>;
1380                 mboxes = <&apcs_glb 18>;
1381                 qcom,local-pid = <0>;
1382                 qcom,remote-pid = <1>;
1383
1384                 wcss_smp2p_out: master-kernel {
1385                         qcom,entry-name = "master-kernel";
1386                         #qcom,smem-state-cells = <1>;
1387                 };
1388
1389                 wcss_smp2p_in: slave-kernel {
1390                         qcom,entry-name = "slave-kernel";
1391                         interrupt-controller;
1392                         #interrupt-cells = <2>;
1393                 };
1394         };
1395
1396         thermal-zones {
1397                 aoss-thermal {
1398                         polling-delay-passive = <250>;
1399                         polling-delay = <1000>;
1400
1401                         thermal-sensors = <&tsens 0>;
1402
1403                         trips {
1404                                 aoss_alert0: trip-point0 {
1405                                         temperature = <105000>;
1406                                         hysteresis = <2000>;
1407                                         type = "hot";
1408                                 };
1409                         };
1410                 };
1411
1412                 q6-hvx-thermal {
1413                         polling-delay-passive = <250>;
1414                         polling-delay = <1000>;
1415
1416                         thermal-sensors = <&tsens 1>;
1417
1418                         trips {
1419                                 q6_hvx_alert0: trip-point0 {
1420                                         temperature = <105000>;
1421                                         hysteresis = <2000>;
1422                                         type = "hot";
1423                                 };
1424                         };
1425                 };
1426
1427                 lpass-thermal {
1428                         polling-delay-passive = <250>;
1429                         polling-delay = <1000>;
1430
1431                         thermal-sensors = <&tsens 2>;
1432
1433                         trips {
1434                                 lpass_alert0: trip-point0 {
1435                                         temperature = <105000>;
1436                                         hysteresis = <2000>;
1437                                         type = "hot";
1438                                 };
1439                         };
1440                 };
1441
1442                 wlan-thermal {
1443                         polling-delay-passive = <250>;
1444                         polling-delay = <1000>;
1445
1446                         thermal-sensors = <&tsens 3>;
1447
1448                         trips {
1449                                 wlan_alert0: trip-point0 {
1450                                         temperature = <105000>;
1451                                         hysteresis = <2000>;
1452                                         type = "hot";
1453                                 };
1454                         };
1455                 };
1456
1457                 cluster-thermal {
1458                         polling-delay-passive = <250>;
1459                         polling-delay = <1000>;
1460
1461                         thermal-sensors = <&tsens 4>;
1462
1463                         trips {
1464                                 cluster_alert0: trip-point0 {
1465                                         temperature = <95000>;
1466                                         hysteresis = <2000>;
1467                                         type = "hot";
1468                                 };
1469                                 cluster_alert1: trip-point1 {
1470                                         temperature = <105000>;
1471                                         hysteresis = <2000>;
1472                                         type = "passive";
1473                                 };
1474                                 cluster_crit: cluster_crit {
1475                                         temperature = <120000>;
1476                                         hysteresis = <2000>;
1477                                         type = "critical";
1478                                 };
1479                         };
1480                         cooling-maps {
1481                                 map0 {
1482                                         trip = <&cluster_alert1>;
1483                                         cooling-device = <&CPU0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
1484                                                        <&CPU1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
1485                                                        <&CPU2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
1486                                                        <&CPU3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
1487                                 };
1488                         };
1489                 };
1490
1491                 cpu0-thermal {
1492                         polling-delay-passive = <250>;
1493                         polling-delay = <1000>;
1494
1495                         thermal-sensors = <&tsens 5>;
1496
1497                         trips {
1498                                 cpu0_alert0: trip-point0 {
1499                                         temperature = <95000>;
1500                                         hysteresis = <2000>;
1501                                         type = "hot";
1502                                 };
1503                                 cpu0_alert1: trip-point1 {
1504                                         temperature = <105000>;
1505                                         hysteresis = <2000>;
1506                                         type = "passive";
1507                                 };
1508                                 cpu0_crit: cpu_crit {
1509                                         temperature = <120000>;
1510                                         hysteresis = <2000>;
1511                                         type = "critical";
1512                                 };
1513                         };
1514                         cooling-maps {
1515                                 map0 {
1516                                         trip = <&cpu0_alert1>;
1517                                         cooling-device = <&CPU0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
1518                                                        <&CPU1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
1519                                                        <&CPU2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
1520                                                        <&CPU3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
1521                                 };
1522                         };
1523                 };
1524
1525                 cpu1-thermal {
1526                         polling-delay-passive = <250>;
1527                         polling-delay = <1000>;
1528
1529                         thermal-sensors = <&tsens 6>;
1530
1531                         trips {
1532                                 cpu1_alert0: trip-point0 {
1533                                         temperature = <95000>;
1534                                         hysteresis = <2000>;
1535                                         type = "hot";
1536                                 };
1537                                 cpu1_alert1: trip-point1 {
1538                                         temperature = <105000>;
1539                                         hysteresis = <2000>;
1540                                         type = "passive";
1541                                 };
1542                                 cpu1_crit: cpu_crit {
1543                                         temperature = <120000>;
1544                                         hysteresis = <2000>;
1545                                         type = "critical";
1546                                 };
1547                         };
1548                         cooling-maps {
1549                                 map0 {
1550                                         trip = <&cpu1_alert1>;
1551                                         cooling-device = <&CPU0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
1552                                                        <&CPU1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
1553                                                        <&CPU2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
1554                                                        <&CPU3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
1555                                 };
1556                         };
1557                 };
1558
1559                 cpu2-thermal {
1560                         polling-delay-passive = <250>;
1561                         polling-delay = <1000>;
1562
1563                         thermal-sensors = <&tsens 7>;
1564
1565                         trips {
1566                                 cpu2_alert0: trip-point0 {
1567                                         temperature = <95000>;
1568                                         hysteresis = <2000>;
1569                                         type = "hot";
1570                                 };
1571                                 cpu2_alert1: trip-point1 {
1572                                         temperature = <105000>;
1573                                         hysteresis = <2000>;
1574                                         type = "passive";
1575                                 };
1576                                 cpu2_crit: cpu_crit {
1577                                         temperature = <120000>;
1578                                         hysteresis = <2000>;
1579                                         type = "critical";
1580                                 };
1581                         };
1582                         cooling-maps {
1583                                 map0 {
1584                                         trip = <&cpu2_alert1>;
1585                                         cooling-device = <&CPU0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
1586                                                        <&CPU1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
1587                                                        <&CPU2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
1588                                                        <&CPU3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
1589                                 };
1590                         };
1591                 };
1592
1593                 cpu3-thermal {
1594                         polling-delay-passive = <250>;
1595                         polling-delay = <1000>;
1596
1597                         thermal-sensors = <&tsens 8>;
1598
1599                         trips {
1600                                 cpu3_alert0: trip-point0 {
1601                                         temperature = <95000>;
1602                                         hysteresis = <2000>;
1603                                         type = "hot";
1604                                 };
1605                                 cpu3_alert1: trip-point1 {
1606                                         temperature = <105000>;
1607                                         hysteresis = <2000>;
1608                                         type = "passive";
1609                                 };
1610                                 cpu3_crit: cpu_crit {
1611                                         temperature = <120000>;
1612                                         hysteresis = <2000>;
1613                                         type = "critical";
1614                                 };
1615                         };
1616                         cooling-maps {
1617                                 map0 {
1618                                         trip = <&cpu3_alert1>;
1619                                         cooling-device = <&CPU0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
1620                                                        <&CPU1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
1621                                                        <&CPU2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
1622                                                        <&CPU3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
1623                                 };
1624                         };
1625                 };
1626
1627                 gpu-thermal {
1628                         polling-delay-passive = <250>;
1629                         polling-delay = <1000>;
1630
1631                         thermal-sensors = <&tsens 9>;
1632
1633                         trips {
1634                                 gpu_alert0: trip-point0 {
1635                                         temperature = <95000>;
1636                                         hysteresis = <2000>;
1637                                         type = "hot";
1638                                 };
1639                         };
1640                 };
1641         };
1642 };