Merge branch 'next-integrity' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorri...
[sfrench/cifs-2.6.git] / arch / arm64 / boot / dts / qcom / msm8998.dtsi
1 // SPDX-License-Identifier: GPL-2.0
2 /* Copyright (c) 2016, The Linux Foundation. All rights reserved. */
3
4 #include <dt-bindings/interrupt-controller/arm-gic.h>
5 #include <dt-bindings/clock/qcom,gcc-msm8998.h>
6 #include <dt-bindings/gpio/gpio.h>
7
8 / {
9         interrupt-parent = <&intc>;
10
11         qcom,msm-id = <292 0x0>;
12
13         #address-cells = <2>;
14         #size-cells = <2>;
15
16         chosen { };
17
18         memory {
19                 device_type = "memory";
20                 /* We expect the bootloader to fill in the reg */
21                 reg = <0 0 0 0>;
22         };
23
24         reserved-memory {
25                 #address-cells = <2>;
26                 #size-cells = <2>;
27                 ranges;
28
29                 memory@85800000 {
30                         reg = <0x0 0x85800000 0x0 0x800000>;
31                         no-map;
32                 };
33
34                 smem_mem: smem-mem@86000000 {
35                         reg = <0x0 0x86000000 0x0 0x200000>;
36                         no-map;
37                 };
38
39                 memory@86200000 {
40                         reg = <0x0 0x86200000 0x0 0x2600000>;
41                         no-map;
42                 };
43
44                 rmtfs {
45                         compatible = "qcom,rmtfs-mem";
46
47                         size = <0x0 0x200000>;
48                         alloc-ranges = <0x0 0xa0000000 0x0 0x2000000>;
49                         no-map;
50
51                         qcom,client-id = <1>;
52                         qcom,vmid = <15>;
53                 };
54         };
55
56         clocks {
57                 xo: xo-board {
58                         compatible = "fixed-clock";
59                         #clock-cells = <0>;
60                         clock-frequency = <19200000>;
61                         clock-output-names = "xo_board";
62                 };
63
64                 sleep_clk {
65                         compatible = "fixed-clock";
66                         #clock-cells = <0>;
67                         clock-frequency = <32764>;
68                 };
69         };
70
71         cpus {
72                 #address-cells = <2>;
73                 #size-cells = <0>;
74
75                 CPU0: cpu@0 {
76                         device_type = "cpu";
77                         compatible = "arm,armv8";
78                         reg = <0x0 0x0>;
79                         enable-method = "psci";
80                         efficiency = <1024>;
81                         next-level-cache = <&L2_0>;
82                         L2_0: l2-cache {
83                                 compatible = "arm,arch-cache";
84                                 cache-level = <2>;
85                         };
86                         L1_I_0: l1-icache {
87                                 compatible = "arm,arch-cache";
88                         };
89                         L1_D_0: l1-dcache {
90                                 compatible = "arm,arch-cache";
91                         };
92                 };
93
94                 CPU1: cpu@1 {
95                         device_type = "cpu";
96                         compatible = "arm,armv8";
97                         reg = <0x0 0x1>;
98                         enable-method = "psci";
99                         efficiency = <1024>;
100                         next-level-cache = <&L2_0>;
101                         L1_I_1: l1-icache {
102                                 compatible = "arm,arch-cache";
103                         };
104                         L1_D_1: l1-dcache {
105                                 compatible = "arm,arch-cache";
106                         };
107                 };
108
109                 CPU2: cpu@2 {
110                         device_type = "cpu";
111                         compatible = "arm,armv8";
112                         reg = <0x0 0x2>;
113                         enable-method = "psci";
114                         efficiency = <1024>;
115                         next-level-cache = <&L2_0>;
116                         L1_I_2: l1-icache {
117                                 compatible = "arm,arch-cache";
118                         };
119                         L1_D_2: l1-dcache {
120                                 compatible = "arm,arch-cache";
121                         };
122                 };
123
124                 CPU3: cpu@3 {
125                         device_type = "cpu";
126                         compatible = "arm,armv8";
127                         reg = <0x0 0x3>;
128                         enable-method = "psci";
129                         efficiency = <1024>;
130                         next-level-cache = <&L2_0>;
131                         L1_I_3: l1-icache {
132                                 compatible = "arm,arch-cache";
133                         };
134                         L1_D_3: l1-dcache {
135                                 compatible = "arm,arch-cache";
136                         };
137                 };
138
139                 CPU4: cpu@100 {
140                         device_type = "cpu";
141                         compatible = "arm,armv8";
142                         reg = <0x0 0x100>;
143                         enable-method = "psci";
144                         efficiency = <1536>;
145                         next-level-cache = <&L2_1>;
146                         L2_1: l2-cache {
147                                 compatible = "arm,arch-cache";
148                                 cache-level = <2>;
149                         };
150                         L1_I_100: l1-icache {
151                                 compatible = "arm,arch-cache";
152                         };
153                         L1_D_100: l1-dcache {
154                                 compatible = "arm,arch-cache";
155                         };
156                 };
157
158                 CPU5: cpu@101 {
159                         device_type = "cpu";
160                         compatible = "arm,armv8";
161                         reg = <0x0 0x101>;
162                         enable-method = "psci";
163                         efficiency = <1536>;
164                         next-level-cache = <&L2_1>;
165                         L1_I_101: l1-icache {
166                                 compatible = "arm,arch-cache";
167                         };
168                         L1_D_101: l1-dcache {
169                                 compatible = "arm,arch-cache";
170                         };
171                 };
172
173                 CPU6: cpu@102 {
174                         device_type = "cpu";
175                         compatible = "arm,armv8";
176                         reg = <0x0 0x102>;
177                         enable-method = "psci";
178                         efficiency = <1536>;
179                         next-level-cache = <&L2_1>;
180                         L1_I_102: l1-icache {
181                                 compatible = "arm,arch-cache";
182                         };
183                         L1_D_102: l1-dcache {
184                                 compatible = "arm,arch-cache";
185                         };
186                 };
187
188                 CPU7: cpu@103 {
189                         device_type = "cpu";
190                         compatible = "arm,armv8";
191                         reg = <0x0 0x103>;
192                         enable-method = "psci";
193                         efficiency = <1536>;
194                         next-level-cache = <&L2_1>;
195                         L1_I_103: l1-icache {
196                                 compatible = "arm,arch-cache";
197                         };
198                         L1_D_103: l1-dcache {
199                                 compatible = "arm,arch-cache";
200                         };
201                 };
202
203                 cpu-map {
204                         cluster0 {
205                                 core0 {
206                                         cpu = <&CPU0>;
207                                 };
208
209                                 core1 {
210                                         cpu = <&CPU1>;
211                                 };
212
213                                 core2 {
214                                         cpu = <&CPU2>;
215                                 };
216
217                                 core3 {
218                                         cpu = <&CPU3>;
219                                 };
220                         };
221
222                         cluster1 {
223                                 core0 {
224                                         cpu = <&CPU4>;
225                                 };
226
227                                 core1 {
228                                         cpu = <&CPU5>;
229                                 };
230
231                                 core2 {
232                                         cpu = <&CPU6>;
233                                 };
234
235                                 core3 {
236                                         cpu = <&CPU7>;
237                                 };
238                         };
239                 };
240         };
241
242         firmware {
243                 scm {
244                         compatible = "qcom,scm-msm8998", "qcom,scm";
245                 };
246         };
247
248         tcsr_mutex: hwlock {
249                 compatible = "qcom,tcsr-mutex";
250                 syscon = <&tcsr_mutex_regs 0 0x1000>;
251                 #hwlock-cells = <1>;
252         };
253
254         psci {
255                 compatible = "arm,psci-1.0";
256                 method = "smc";
257         };
258
259         rpm-glink {
260                 compatible = "qcom,glink-rpm";
261
262                 interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>;
263                 qcom,rpm-msg-ram = <&rpm_msg_ram>;
264                 mboxes = <&apcs_glb 0>;
265
266                 rpm_requests: rpm-requests {
267                         compatible = "qcom,rpm-msm8998";
268                         qcom,glink-channels = "rpm_requests";
269                 };
270         };
271
272         smem {
273                 compatible = "qcom,smem";
274                 memory-region = <&smem_mem>;
275                 hwlocks = <&tcsr_mutex 3>;
276         };
277
278         smp2p-lpass {
279                 compatible = "qcom,smp2p";
280                 qcom,smem = <443>, <429>;
281
282                 interrupts = <GIC_SPI 158 IRQ_TYPE_EDGE_RISING>;
283
284                 mboxes = <&apcs_glb 10>;
285
286                 qcom,local-pid = <0>;
287                 qcom,remote-pid = <2>;
288
289                 adsp_smp2p_out: master-kernel {
290                         qcom,entry-name = "master-kernel";
291                         #qcom,smem-state-cells = <1>;
292                 };
293
294                 adsp_smp2p_in: slave-kernel {
295                         qcom,entry-name = "slave-kernel";
296
297                         interrupt-controller;
298                         #interrupt-cells = <2>;
299                 };
300         };
301
302         smp2p-mpss {
303                 compatible = "qcom,smp2p";
304                 qcom,smem = <435>, <428>;
305                 interrupts = <GIC_SPI 451 IRQ_TYPE_EDGE_RISING>;
306                 mboxes = <&apcs_glb 14>;
307                 qcom,local-pid = <0>;
308                 qcom,remote-pid = <1>;
309
310                 modem_smp2p_out: master-kernel {
311                         qcom,entry-name = "master-kernel";
312                         #qcom,smem-state-cells = <1>;
313                 };
314
315                 modem_smp2p_in: slave-kernel {
316                         qcom,entry-name = "slave-kernel";
317                         interrupt-controller;
318                         #interrupt-cells = <2>;
319                 };
320         };
321
322         smp2p-slpi {
323                 compatible = "qcom,smp2p";
324                 qcom,smem = <481>, <430>;
325                 interrupts = <GIC_SPI 178 IRQ_TYPE_EDGE_RISING>;
326                 mboxes = <&apcs_glb 26>;
327                 qcom,local-pid = <0>;
328                 qcom,remote-pid = <3>;
329
330                 slpi_smp2p_out: master-kernel {
331                         qcom,entry-name = "master-kernel";
332                         #qcom,smem-state-cells = <1>;
333                 };
334
335                 slpi_smp2p_in: slave-kernel {
336                         qcom,entry-name = "slave-kernel";
337                         interrupt-controller;
338                         #interrupt-cells = <2>;
339                 };
340         };
341
342         thermal-zones {
343                 cpu-thermal0 {
344                         polling-delay-passive = <250>;
345                         polling-delay = <1000>;
346
347                         thermal-sensors = <&tsens0 6>;
348
349                         trips {
350                                 cpu_alert0: trip0 {
351                                         temperature = <75000>;
352                                         hysteresis = <2000>;
353                                         type = "passive";
354                                 };
355
356                                 cpu_crit0: trip1 {
357                                         temperature = <110000>;
358                                         hysteresis = <2000>;
359                                         type = "critical";
360                                 };
361                         };
362                 };
363
364                 cpu-thermal1 {
365                         polling-delay-passive = <250>;
366                         polling-delay = <1000>;
367
368                         thermal-sensors = <&tsens0 7>;
369
370                         trips {
371                                 cpu_alert1: trip0 {
372                                         temperature = <75000>;
373                                         hysteresis = <2000>;
374                                         type = "passive";
375                                 };
376
377                                 cpu_crit1: trip1 {
378                                         temperature = <110000>;
379                                         hysteresis = <2000>;
380                                         type = "critical";
381                                 };
382                         };
383                 };
384
385                 cpu-thermal2 {
386                         polling-delay-passive = <250>;
387                         polling-delay = <1000>;
388
389                         thermal-sensors = <&tsens0 8>;
390
391                         trips {
392                                 cpu_alert2: trip0 {
393                                         temperature = <75000>;
394                                         hysteresis = <2000>;
395                                         type = "passive";
396                                 };
397
398                                 cpu_crit2: trip1 {
399                                         temperature = <110000>;
400                                         hysteresis = <2000>;
401                                         type = "critical";
402                                 };
403                         };
404                 };
405
406                 cpu-thermal3 {
407                         polling-delay-passive = <250>;
408                         polling-delay = <1000>;
409
410                         thermal-sensors = <&tsens0 9>;
411
412                         trips {
413                                 cpu_alert3: trip0 {
414                                         temperature = <75000>;
415                                         hysteresis = <2000>;
416                                         type = "passive";
417                                 };
418
419                                 cpu_crit3: trip1 {
420                                         temperature = <110000>;
421                                         hysteresis = <2000>;
422                                         type = "critical";
423                                 };
424                         };
425                 };
426
427                 cpu-thermal4 {
428                         polling-delay-passive = <250>;
429                         polling-delay = <1000>;
430
431                         thermal-sensors = <&tsens0 10>;
432
433                         trips {
434                                 cpu_alert4: trip0 {
435                                         temperature = <75000>;
436                                         hysteresis = <2000>;
437                                         type = "passive";
438                                 };
439
440                                 cpu_crit4: trip1 {
441                                         temperature = <110000>;
442                                         hysteresis = <2000>;
443                                         type = "critical";
444                                 };
445                         };
446                 };
447
448                 cpu-thermal5 {
449                         polling-delay-passive = <250>;
450                         polling-delay = <1000>;
451
452                         thermal-sensors = <&tsens0 11>;
453
454                         trips {
455                                 cpu_alert5: trip0 {
456                                         temperature = <75000>;
457                                         hysteresis = <2000>;
458                                         type = "passive";
459                                 };
460
461                                 cpu_crit5: trip1 {
462                                         temperature = <110000>;
463                                         hysteresis = <2000>;
464                                         type = "critical";
465                                 };
466                         };
467                 };
468
469                 cpu-thermal6 {
470                         polling-delay-passive = <250>;
471                         polling-delay = <1000>;
472
473                         thermal-sensors = <&tsens1 0>;
474
475                         trips {
476                                 cpu_alert6: trip0 {
477                                         temperature = <75000>;
478                                         hysteresis = <2000>;
479                                         type = "passive";
480                                 };
481
482                                 cpu_crit6: trip1 {
483                                         temperature = <110000>;
484                                         hysteresis = <2000>;
485                                         type = "critical";
486                                 };
487                         };
488                 };
489
490                 cpu-thermal7 {
491                         polling-delay-passive = <250>;
492                         polling-delay = <1000>;
493
494                         thermal-sensors = <&tsens1 1>;
495
496                         trips {
497                                 cpu_alert7: trip0 {
498                                         temperature = <75000>;
499                                         hysteresis = <2000>;
500                                         type = "passive";
501                                 };
502
503                                 cpu_crit7: trip1 {
504                                         temperature = <110000>;
505                                         hysteresis = <2000>;
506                                         type = "critical";
507                                 };
508                         };
509                 };
510
511                 gpu-thermal {
512                         polling-delay-passive = <250>;
513                         polling-delay = <1000>;
514
515                         thermal-sensors = <&tsens1 3>;
516                 };
517         };
518
519         timer {
520                 compatible = "arm,armv8-timer";
521                 interrupts = <GIC_PPI 1 IRQ_TYPE_LEVEL_LOW>,
522                              <GIC_PPI 2 IRQ_TYPE_LEVEL_LOW>,
523                              <GIC_PPI 3 IRQ_TYPE_LEVEL_LOW>,
524                              <GIC_PPI 0 IRQ_TYPE_LEVEL_LOW>;
525         };
526
527         soc: soc {
528                 #address-cells = <1>;
529                 #size-cells = <1>;
530                 ranges = <0 0 0 0xffffffff>;
531                 compatible = "simple-bus";
532
533                 rpm_msg_ram: memory@68000 {
534                         compatible = "qcom,rpm-msg-ram";
535                         reg = <0x778000 0x7000>;
536                 };
537
538                 qfprom: qfprom@780000 {
539                         compatible = "qcom,qfprom";
540                         reg = <0x780000 0x621c>;
541                         #address-cells = <1>;
542                         #size-cells = <1>;
543                 };
544
545                 gcc: clock-controller@100000 {
546                         compatible = "qcom,gcc-msm8998";
547                         #clock-cells = <1>;
548                         #reset-cells = <1>;
549                         #power-domain-cells = <1>;
550                         reg = <0x100000 0xb0000>;
551                 };
552
553                 tlmm: pinctrl@3400000 {
554                         compatible = "qcom,msm8998-pinctrl";
555                         reg = <0x3400000 0xc00000>;
556                         interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;
557                         gpio-controller;
558                         #gpio-cells = <0x2>;
559                         interrupt-controller;
560                         #interrupt-cells = <0x2>;
561                 };
562
563                 spmi_bus: spmi@800f000 {
564                         compatible = "qcom,spmi-pmic-arb";
565                         reg =   <0x800f000 0x1000>,
566                                 <0x8400000 0x1000000>,
567                                 <0x9400000 0x1000000>,
568                                 <0xa400000 0x220000>,
569                                 <0x800a000 0x3000>;
570                         reg-names = "core", "chnls", "obsrvr", "intr", "cnfg";
571                         interrupt-names = "periph_irq";
572                         interrupts = <GIC_SPI 326 IRQ_TYPE_LEVEL_HIGH>;
573                         qcom,ee = <0>;
574                         qcom,channel = <0>;
575                         #address-cells = <2>;
576                         #size-cells = <0>;
577                         interrupt-controller;
578                         #interrupt-cells = <4>;
579                         cell-index = <0>;
580                 };
581
582                 tsens0: thermal@10aa000 {
583                         compatible = "qcom,msm8998-tsens", "qcom,tsens-v2";
584                         reg = <0x10aa000 0x2000>;
585
586                         #qcom,sensors = <12>;
587                         #thermal-sensor-cells = <1>;
588                 };
589
590                 tsens1: thermal@10ad000 {
591                         compatible = "qcom,msm8998-tsens", "qcom,tsens-v2";
592                         reg = <0x10ad000 0x2000>;
593
594                         #qcom,sensors = <8>;
595                         #thermal-sensor-cells = <1>;
596                 };
597
598                 tcsr_mutex_regs: syscon@1f40000 {
599                         compatible = "syscon";
600                         reg = <0x1f40000 0x20000>;
601                 };
602
603                 apcs_glb: mailbox@9820000 {
604                         compatible = "qcom,msm8998-apcs-hmss-global";
605                         reg = <0x17911000 0x1000>;
606
607                         #mbox-cells = <1>;
608                 };
609
610                 sdhc2: sdhci@c0a4900 {
611                         compatible = "qcom,sdhci-msm-v4";
612                         reg = <0xc0a4900 0x314>, <0xc0a4000 0x800>;
613                         reg-names = "hc_mem", "core_mem";
614
615                         interrupts = <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>,
616                                      <GIC_SPI 221 IRQ_TYPE_LEVEL_HIGH>;
617                         interrupt-names = "hc_irq", "pwr_irq";
618
619                         clock-names = "iface", "core", "xo";
620                         clocks = <&gcc GCC_SDCC2_AHB_CLK>,
621                                  <&gcc GCC_SDCC2_APPS_CLK>,
622                                  <&xo>;
623                         bus-width = <4>;
624                         status = "disabled";
625                 };
626
627                 blsp2_uart1: serial@c1b0000 {
628                         compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
629                         reg = <0xc1b0000 0x1000>;
630                         interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
631                         clocks = <&gcc GCC_BLSP2_UART2_APPS_CLK>,
632                                  <&gcc GCC_BLSP2_AHB_CLK>;
633                         clock-names = "core", "iface";
634                         status = "disabled";
635                 };
636
637                 timer@17920000 {
638                         #address-cells = <1>;
639                         #size-cells = <1>;
640                         ranges;
641                         compatible = "arm,armv7-timer-mem";
642                         reg = <0x17920000 0x1000>;
643
644                         frame@17921000 {
645                                 frame-number = <0>;
646                                 interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
647                                              <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
648                                 reg = <0x17921000 0x1000>,
649                                       <0x17922000 0x1000>;
650                         };
651
652                         frame@17923000 {
653                                 frame-number = <1>;
654                                 interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
655                                 reg = <0x17923000 0x1000>;
656                                 status = "disabled";
657                         };
658
659                         frame@17924000 {
660                                 frame-number = <2>;
661                                 interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
662                                 reg = <0x17924000 0x1000>;
663                                 status = "disabled";
664                         };
665
666                         frame@17925000 {
667                                 frame-number = <3>;
668                                 interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
669                                 reg = <0x17925000 0x1000>;
670                                 status = "disabled";
671                         };
672
673                         frame@17926000 {
674                                 frame-number = <4>;
675                                 interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
676                                 reg = <0x17926000 0x1000>;
677                                 status = "disabled";
678                         };
679
680                         frame@17927000 {
681                                 frame-number = <5>;
682                                 interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
683                                 reg = <0x17927000 0x1000>;
684                                 status = "disabled";
685                         };
686
687                         frame@17928000 {
688                                 frame-number = <6>;
689                                 interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
690                                 reg = <0x17928000 0x1000>;
691                                 status = "disabled";
692                         };
693                 };
694
695                 intc: interrupt-controller@17a00000 {
696                         compatible = "arm,gic-v3";
697                         reg = <0x17a00000 0x10000>,       /* GICD */
698                               <0x17b00000 0x100000>;      /* GICR * 8 */
699                         #interrupt-cells = <3>;
700                         #address-cells = <1>;
701                         #size-cells = <1>;
702                         ranges;
703                         interrupt-controller;
704                         #redistributor-regions = <1>;
705                         redistributor-stride = <0x0 0x20000>;
706                         interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
707                 };
708         };
709 };
710
711 #include "msm8998-pins.dtsi"