Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: GPL-2.0-only
0002 /* Copyright (c) 2014-2015, The Linux Foundation. All rights reserved.
0003  */
0004 
0005 #include <dt-bindings/interrupt-controller/arm-gic.h>
0006 #include <dt-bindings/clock/qcom,gcc-msm8996.h>
0007 #include <dt-bindings/clock/qcom,mmcc-msm8996.h>
0008 #include <dt-bindings/clock/qcom,rpmcc.h>
0009 #include <dt-bindings/interconnect/qcom,msm8996.h>
0010 #include <dt-bindings/power/qcom-rpmpd.h>
0011 #include <dt-bindings/soc/qcom,apr.h>
0012 #include <dt-bindings/thermal/thermal.h>
0013 
0014 / {
0015         interrupt-parent = <&intc>;
0016 
0017         #address-cells = <2>;
0018         #size-cells = <2>;
0019 
0020         chosen { };
0021 
0022         clocks {
0023                 xo_board: xo-board {
0024                         compatible = "fixed-clock";
0025                         #clock-cells = <0>;
0026                         clock-frequency = <19200000>;
0027                         clock-output-names = "xo_board";
0028                 };
0029 
0030                 sleep_clk: sleep-clk {
0031                         compatible = "fixed-clock";
0032                         #clock-cells = <0>;
0033                         clock-frequency = <32764>;
0034                         clock-output-names = "sleep_clk";
0035                 };
0036         };
0037 
0038         cpus {
0039                 #address-cells = <2>;
0040                 #size-cells = <0>;
0041 
0042                 CPU0: cpu@0 {
0043                         device_type = "cpu";
0044                         compatible = "qcom,kryo";
0045                         reg = <0x0 0x0>;
0046                         enable-method = "psci";
0047                         cpu-idle-states = <&CPU_SLEEP_0>;
0048                         capacity-dmips-mhz = <1024>;
0049                         clocks = <&kryocc 0>;
0050                         operating-points-v2 = <&cluster0_opp>;
0051                         #cooling-cells = <2>;
0052                         next-level-cache = <&L2_0>;
0053                         L2_0: l2-cache {
0054                               compatible = "cache";
0055                               cache-level = <2>;
0056                         };
0057                 };
0058 
0059                 CPU1: cpu@1 {
0060                         device_type = "cpu";
0061                         compatible = "qcom,kryo";
0062                         reg = <0x0 0x1>;
0063                         enable-method = "psci";
0064                         cpu-idle-states = <&CPU_SLEEP_0>;
0065                         capacity-dmips-mhz = <1024>;
0066                         clocks = <&kryocc 0>;
0067                         operating-points-v2 = <&cluster0_opp>;
0068                         #cooling-cells = <2>;
0069                         next-level-cache = <&L2_0>;
0070                 };
0071 
0072                 CPU2: cpu@100 {
0073                         device_type = "cpu";
0074                         compatible = "qcom,kryo";
0075                         reg = <0x0 0x100>;
0076                         enable-method = "psci";
0077                         cpu-idle-states = <&CPU_SLEEP_0>;
0078                         capacity-dmips-mhz = <1024>;
0079                         clocks = <&kryocc 1>;
0080                         operating-points-v2 = <&cluster1_opp>;
0081                         #cooling-cells = <2>;
0082                         next-level-cache = <&L2_1>;
0083                         L2_1: l2-cache {
0084                               compatible = "cache";
0085                               cache-level = <2>;
0086                         };
0087                 };
0088 
0089                 CPU3: cpu@101 {
0090                         device_type = "cpu";
0091                         compatible = "qcom,kryo";
0092                         reg = <0x0 0x101>;
0093                         enable-method = "psci";
0094                         cpu-idle-states = <&CPU_SLEEP_0>;
0095                         capacity-dmips-mhz = <1024>;
0096                         clocks = <&kryocc 1>;
0097                         operating-points-v2 = <&cluster1_opp>;
0098                         #cooling-cells = <2>;
0099                         next-level-cache = <&L2_1>;
0100                 };
0101 
0102                 cpu-map {
0103                         cluster0 {
0104                                 core0 {
0105                                         cpu = <&CPU0>;
0106                                 };
0107 
0108                                 core1 {
0109                                         cpu = <&CPU1>;
0110                                 };
0111                         };
0112 
0113                         cluster1 {
0114                                 core0 {
0115                                         cpu = <&CPU2>;
0116                                 };
0117 
0118                                 core1 {
0119                                         cpu = <&CPU3>;
0120                                 };
0121                         };
0122                 };
0123 
0124                 idle-states {
0125                         entry-method = "psci";
0126 
0127                         CPU_SLEEP_0: cpu-sleep-0 {
0128                                 compatible = "arm,idle-state";
0129                                 idle-state-name = "standalone-power-collapse";
0130                                 arm,psci-suspend-param = <0x00000004>;
0131                                 entry-latency-us = <130>;
0132                                 exit-latency-us = <80>;
0133                                 min-residency-us = <300>;
0134                         };
0135                 };
0136         };
0137 
0138         cluster0_opp: opp-table-cluster0 {
0139                 compatible = "operating-points-v2-kryo-cpu";
0140                 nvmem-cells = <&speedbin_efuse>;
0141                 opp-shared;
0142 
0143                 /* Nominal fmax for now */
0144                 opp-307200000 {
0145                         opp-hz = /bits/ 64 <307200000>;
0146                         opp-supported-hw = <0x77>;
0147                         clock-latency-ns = <200000>;
0148                 };
0149                 opp-422400000 {
0150                         opp-hz = /bits/ 64 <422400000>;
0151                         opp-supported-hw = <0x77>;
0152                         clock-latency-ns = <200000>;
0153                 };
0154                 opp-480000000 {
0155                         opp-hz = /bits/ 64 <480000000>;
0156                         opp-supported-hw = <0x77>;
0157                         clock-latency-ns = <200000>;
0158                 };
0159                 opp-556800000 {
0160                         opp-hz = /bits/ 64 <556800000>;
0161                         opp-supported-hw = <0x77>;
0162                         clock-latency-ns = <200000>;
0163                 };
0164                 opp-652800000 {
0165                         opp-hz = /bits/ 64 <652800000>;
0166                         opp-supported-hw = <0x77>;
0167                         clock-latency-ns = <200000>;
0168                 };
0169                 opp-729600000 {
0170                         opp-hz = /bits/ 64 <729600000>;
0171                         opp-supported-hw = <0x77>;
0172                         clock-latency-ns = <200000>;
0173                 };
0174                 opp-844800000 {
0175                         opp-hz = /bits/ 64 <844800000>;
0176                         opp-supported-hw = <0x77>;
0177                         clock-latency-ns = <200000>;
0178                 };
0179                 opp-960000000 {
0180                         opp-hz = /bits/ 64 <960000000>;
0181                         opp-supported-hw = <0x77>;
0182                         clock-latency-ns = <200000>;
0183                 };
0184                 opp-1036800000 {
0185                         opp-hz = /bits/ 64 <1036800000>;
0186                         opp-supported-hw = <0x77>;
0187                         clock-latency-ns = <200000>;
0188                 };
0189                 opp-1113600000 {
0190                         opp-hz = /bits/ 64 <1113600000>;
0191                         opp-supported-hw = <0x77>;
0192                         clock-latency-ns = <200000>;
0193                 };
0194                 opp-1190400000 {
0195                         opp-hz = /bits/ 64 <1190400000>;
0196                         opp-supported-hw = <0x77>;
0197                         clock-latency-ns = <200000>;
0198                 };
0199                 opp-1228800000 {
0200                         opp-hz = /bits/ 64 <1228800000>;
0201                         opp-supported-hw = <0x77>;
0202                         clock-latency-ns = <200000>;
0203                 };
0204                 opp-1324800000 {
0205                         opp-hz = /bits/ 64 <1324800000>;
0206                         opp-supported-hw = <0x77>;
0207                         clock-latency-ns = <200000>;
0208                 };
0209                 opp-1401600000 {
0210                         opp-hz = /bits/ 64 <1401600000>;
0211                         opp-supported-hw = <0x77>;
0212                         clock-latency-ns = <200000>;
0213                 };
0214                 opp-1478400000 {
0215                         opp-hz = /bits/ 64 <1478400000>;
0216                         opp-supported-hw = <0x77>;
0217                         clock-latency-ns = <200000>;
0218                 };
0219                 opp-1593600000 {
0220                         opp-hz = /bits/ 64 <1593600000>;
0221                         opp-supported-hw = <0x77>;
0222                         clock-latency-ns = <200000>;
0223                 };
0224         };
0225 
0226         cluster1_opp: opp-table-cluster1 {
0227                 compatible = "operating-points-v2-kryo-cpu";
0228                 nvmem-cells = <&speedbin_efuse>;
0229                 opp-shared;
0230 
0231                 /* Nominal fmax for now */
0232                 opp-307200000 {
0233                         opp-hz = /bits/ 64 <307200000>;
0234                         opp-supported-hw = <0x77>;
0235                         clock-latency-ns = <200000>;
0236                 };
0237                 opp-403200000 {
0238                         opp-hz = /bits/ 64 <403200000>;
0239                         opp-supported-hw = <0x77>;
0240                         clock-latency-ns = <200000>;
0241                 };
0242                 opp-480000000 {
0243                         opp-hz = /bits/ 64 <480000000>;
0244                         opp-supported-hw = <0x77>;
0245                         clock-latency-ns = <200000>;
0246                 };
0247                 opp-556800000 {
0248                         opp-hz = /bits/ 64 <556800000>;
0249                         opp-supported-hw = <0x77>;
0250                         clock-latency-ns = <200000>;
0251                 };
0252                 opp-652800000 {
0253                         opp-hz = /bits/ 64 <652800000>;
0254                         opp-supported-hw = <0x77>;
0255                         clock-latency-ns = <200000>;
0256                 };
0257                 opp-729600000 {
0258                         opp-hz = /bits/ 64 <729600000>;
0259                         opp-supported-hw = <0x77>;
0260                         clock-latency-ns = <200000>;
0261                 };
0262                 opp-806400000 {
0263                         opp-hz = /bits/ 64 <806400000>;
0264                         opp-supported-hw = <0x77>;
0265                         clock-latency-ns = <200000>;
0266                 };
0267                 opp-883200000 {
0268                         opp-hz = /bits/ 64 <883200000>;
0269                         opp-supported-hw = <0x77>;
0270                         clock-latency-ns = <200000>;
0271                 };
0272                 opp-940800000 {
0273                         opp-hz = /bits/ 64 <940800000>;
0274                         opp-supported-hw = <0x77>;
0275                         clock-latency-ns = <200000>;
0276                 };
0277                 opp-1036800000 {
0278                         opp-hz = /bits/ 64 <1036800000>;
0279                         opp-supported-hw = <0x77>;
0280                         clock-latency-ns = <200000>;
0281                 };
0282                 opp-1113600000 {
0283                         opp-hz = /bits/ 64 <1113600000>;
0284                         opp-supported-hw = <0x77>;
0285                         clock-latency-ns = <200000>;
0286                 };
0287                 opp-1190400000 {
0288                         opp-hz = /bits/ 64 <1190400000>;
0289                         opp-supported-hw = <0x77>;
0290                         clock-latency-ns = <200000>;
0291                 };
0292                 opp-1248000000 {
0293                         opp-hz = /bits/ 64 <1248000000>;
0294                         opp-supported-hw = <0x77>;
0295                         clock-latency-ns = <200000>;
0296                 };
0297                 opp-1324800000 {
0298                         opp-hz = /bits/ 64 <1324800000>;
0299                         opp-supported-hw = <0x77>;
0300                         clock-latency-ns = <200000>;
0301                 };
0302                 opp-1401600000 {
0303                         opp-hz = /bits/ 64 <1401600000>;
0304                         opp-supported-hw = <0x77>;
0305                         clock-latency-ns = <200000>;
0306                 };
0307                 opp-1478400000 {
0308                         opp-hz = /bits/ 64 <1478400000>;
0309                         opp-supported-hw = <0x77>;
0310                         clock-latency-ns = <200000>;
0311                 };
0312                 opp-1555200000 {
0313                         opp-hz = /bits/ 64 <1555200000>;
0314                         opp-supported-hw = <0x77>;
0315                         clock-latency-ns = <200000>;
0316                 };
0317                 opp-1632000000 {
0318                         opp-hz = /bits/ 64 <1632000000>;
0319                         opp-supported-hw = <0x77>;
0320                         clock-latency-ns = <200000>;
0321                 };
0322                 opp-1708800000 {
0323                         opp-hz = /bits/ 64 <1708800000>;
0324                         opp-supported-hw = <0x77>;
0325                         clock-latency-ns = <200000>;
0326                 };
0327                 opp-1785600000 {
0328                         opp-hz = /bits/ 64 <1785600000>;
0329                         opp-supported-hw = <0x77>;
0330                         clock-latency-ns = <200000>;
0331                 };
0332                 opp-1824000000 {
0333                         opp-hz = /bits/ 64 <1824000000>;
0334                         opp-supported-hw = <0x77>;
0335                         clock-latency-ns = <200000>;
0336                 };
0337                 opp-1920000000 {
0338                         opp-hz = /bits/ 64 <1920000000>;
0339                         opp-supported-hw = <0x77>;
0340                         clock-latency-ns = <200000>;
0341                 };
0342                 opp-1996800000 {
0343                         opp-hz = /bits/ 64 <1996800000>;
0344                         opp-supported-hw = <0x77>;
0345                         clock-latency-ns = <200000>;
0346                 };
0347                 opp-2073600000 {
0348                         opp-hz = /bits/ 64 <2073600000>;
0349                         opp-supported-hw = <0x77>;
0350                         clock-latency-ns = <200000>;
0351                 };
0352                 opp-2150400000 {
0353                         opp-hz = /bits/ 64 <2150400000>;
0354                         opp-supported-hw = <0x77>;
0355                         clock-latency-ns = <200000>;
0356                 };
0357         };
0358 
0359         firmware {
0360                 scm {
0361                         compatible = "qcom,scm-msm8996", "qcom,scm";
0362                         qcom,dload-mode = <&tcsr 0x13000>;
0363                 };
0364         };
0365 
0366         tcsr_mutex: hwlock {
0367                 compatible = "qcom,tcsr-mutex";
0368                 syscon = <&tcsr_mutex_regs 0 0x1000>;
0369                 #hwlock-cells = <1>;
0370         };
0371 
0372         memory@80000000 {
0373                 device_type = "memory";
0374                 /* We expect the bootloader to fill in the reg */
0375                 reg = <0x0 0x80000000 0x0 0x0>;
0376         };
0377 
0378         psci {
0379                 compatible = "arm,psci-1.0";
0380                 method = "smc";
0381         };
0382 
0383         reserved-memory {
0384                 #address-cells = <2>;
0385                 #size-cells = <2>;
0386                 ranges;
0387 
0388                 hyp_mem: memory@85800000 {
0389                         reg = <0x0 0x85800000 0x0 0x600000>;
0390                         no-map;
0391                 };
0392 
0393                 xbl_mem: memory@85e00000 {
0394                         reg = <0x0 0x85e00000 0x0 0x200000>;
0395                         no-map;
0396                 };
0397 
0398                 smem_mem: smem-mem@86000000 {
0399                         reg = <0x0 0x86000000 0x0 0x200000>;
0400                         no-map;
0401                 };
0402 
0403                 tz_mem: memory@86200000 {
0404                         reg = <0x0 0x86200000 0x0 0x2600000>;
0405                         no-map;
0406                 };
0407 
0408                 rmtfs_mem: rmtfs {
0409                         compatible = "qcom,rmtfs-mem";
0410 
0411                         size = <0x0 0x200000>;
0412                         alloc-ranges = <0x0 0xa0000000 0x0 0x2000000>;
0413                         no-map;
0414 
0415                         qcom,client-id = <1>;
0416                         qcom,vmid = <15>;
0417                 };
0418 
0419                 mpss_mem: mpss@88800000 {
0420                         reg = <0x0 0x88800000 0x0 0x6200000>;
0421                         no-map;
0422                 };
0423 
0424                 adsp_mem: adsp@8ea00000 {
0425                         reg = <0x0 0x8ea00000 0x0 0x1b00000>;
0426                         no-map;
0427                 };
0428 
0429                 slpi_mem: slpi@90500000 {
0430                         reg = <0x0 0x90500000 0x0 0xa00000>;
0431                         no-map;
0432                 };
0433 
0434                 gpu_mem: gpu@90f00000 {
0435                         compatible = "shared-dma-pool";
0436                         reg = <0x0 0x90f00000 0x0 0x100000>;
0437                         no-map;
0438                 };
0439 
0440                 venus_mem: venus@91000000 {
0441                         reg = <0x0 0x91000000 0x0 0x500000>;
0442                         no-map;
0443                 };
0444 
0445                 mba_mem: mba@91500000 {
0446                         reg = <0x0 0x91500000 0x0 0x200000>;
0447                         no-map;
0448                 };
0449         };
0450 
0451         rpm-glink {
0452                 compatible = "qcom,glink-rpm";
0453 
0454                 interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>;
0455 
0456                 qcom,rpm-msg-ram = <&rpm_msg_ram>;
0457 
0458                 mboxes = <&apcs_glb 0>;
0459 
0460                 rpm_requests: rpm-requests {
0461                         compatible = "qcom,rpm-msm8996";
0462                         qcom,glink-channels = "rpm_requests";
0463 
0464                         rpmcc: qcom,rpmcc {
0465                                 compatible = "qcom,rpmcc-msm8996", "qcom,rpmcc";
0466                                 #clock-cells = <1>;
0467                                 clocks = <&xo_board>;
0468                                 clock-names = "xo";
0469                         };
0470 
0471                         rpmpd: power-controller {
0472                                 compatible = "qcom,msm8996-rpmpd";
0473                                 #power-domain-cells = <1>;
0474                                 operating-points-v2 = <&rpmpd_opp_table>;
0475 
0476                                 rpmpd_opp_table: opp-table {
0477                                         compatible = "operating-points-v2";
0478 
0479                                         rpmpd_opp1: opp1 {
0480                                                 opp-level = <1>;
0481                                         };
0482 
0483                                         rpmpd_opp2: opp2 {
0484                                                 opp-level = <2>;
0485                                         };
0486 
0487                                         rpmpd_opp3: opp3 {
0488                                                 opp-level = <3>;
0489                                         };
0490 
0491                                         rpmpd_opp4: opp4 {
0492                                                 opp-level = <4>;
0493                                         };
0494 
0495                                         rpmpd_opp5: opp5 {
0496                                                 opp-level = <5>;
0497                                         };
0498 
0499                                         rpmpd_opp6: opp6 {
0500                                                 opp-level = <6>;
0501                                         };
0502                                 };
0503                         };
0504                 };
0505         };
0506 
0507         smem {
0508                 compatible = "qcom,smem";
0509                 memory-region = <&smem_mem>;
0510                 hwlocks = <&tcsr_mutex 3>;
0511         };
0512 
0513         smp2p-adsp {
0514                 compatible = "qcom,smp2p";
0515                 qcom,smem = <443>, <429>;
0516 
0517                 interrupts = <0 158 IRQ_TYPE_EDGE_RISING>;
0518 
0519                 mboxes = <&apcs_glb 10>;
0520 
0521                 qcom,local-pid = <0>;
0522                 qcom,remote-pid = <2>;
0523 
0524                 adsp_smp2p_out: master-kernel {
0525                         qcom,entry-name = "master-kernel";
0526                         #qcom,smem-state-cells = <1>;
0527                 };
0528 
0529                 adsp_smp2p_in: slave-kernel {
0530                         qcom,entry-name = "slave-kernel";
0531 
0532                         interrupt-controller;
0533                         #interrupt-cells = <2>;
0534                 };
0535         };
0536 
0537         smp2p-mpss {
0538                 compatible = "qcom,smp2p";
0539                 qcom,smem = <435>, <428>;
0540 
0541                 interrupts = <GIC_SPI 451 IRQ_TYPE_EDGE_RISING>;
0542 
0543                 mboxes = <&apcs_glb 14>;
0544 
0545                 qcom,local-pid = <0>;
0546                 qcom,remote-pid = <1>;
0547 
0548                 mpss_smp2p_out: master-kernel {
0549                         qcom,entry-name = "master-kernel";
0550                         #qcom,smem-state-cells = <1>;
0551                 };
0552 
0553                 mpss_smp2p_in: slave-kernel {
0554                         qcom,entry-name = "slave-kernel";
0555 
0556                         interrupt-controller;
0557                         #interrupt-cells = <2>;
0558                 };
0559         };
0560 
0561         smp2p-slpi {
0562                 compatible = "qcom,smp2p";
0563                 qcom,smem = <481>, <430>;
0564 
0565                 interrupts = <GIC_SPI 178 IRQ_TYPE_EDGE_RISING>;
0566 
0567                 mboxes = <&apcs_glb 26>;
0568 
0569                 qcom,local-pid = <0>;
0570                 qcom,remote-pid = <3>;
0571 
0572                 slpi_smp2p_out: master-kernel {
0573                         qcom,entry-name = "master-kernel";
0574                         #qcom,smem-state-cells = <1>;
0575                 };
0576 
0577                 slpi_smp2p_in: slave-kernel {
0578                         qcom,entry-name = "slave-kernel";
0579 
0580                         interrupt-controller;
0581                         #interrupt-cells = <2>;
0582                 };
0583         };
0584 
0585         soc: soc {
0586                 #address-cells = <1>;
0587                 #size-cells = <1>;
0588                 ranges = <0 0 0 0xffffffff>;
0589                 compatible = "simple-bus";
0590 
0591                 pcie_phy: phy-wrapper@34000 {
0592                         compatible = "qcom,msm8996-qmp-pcie-phy";
0593                         reg = <0x00034000 0x488>;
0594                         #address-cells = <1>;
0595                         #size-cells = <1>;
0596                         ranges = <0x0 0x00034000 0x4000>;
0597 
0598                         clocks = <&gcc GCC_PCIE_PHY_AUX_CLK>,
0599                                 <&gcc GCC_PCIE_PHY_CFG_AHB_CLK>,
0600                                 <&gcc GCC_PCIE_CLKREF_CLK>;
0601                         clock-names = "aux", "cfg_ahb", "ref";
0602 
0603                         resets = <&gcc GCC_PCIE_PHY_BCR>,
0604                                 <&gcc GCC_PCIE_PHY_COM_BCR>,
0605                                 <&gcc GCC_PCIE_PHY_COM_NOCSR_BCR>;
0606                         reset-names = "phy", "common", "cfg";
0607 
0608                         status = "disabled";
0609 
0610                         pciephy_0: phy@1000 {
0611                                 reg = <0x1000 0x130>,
0612                                       <0x1200 0x200>,
0613                                       <0x1400 0x1dc>;
0614 
0615                                 clocks = <&gcc GCC_PCIE_0_PIPE_CLK>;
0616                                 clock-names = "pipe0";
0617                                 resets = <&gcc GCC_PCIE_0_PHY_BCR>;
0618                                 reset-names = "lane0";
0619 
0620                                 #clock-cells = <0>;
0621                                 clock-output-names = "pcie_0_pipe_clk_src";
0622 
0623                                 #phy-cells = <0>;
0624                         };
0625 
0626                         pciephy_1: phy@2000 {
0627                                 reg = <0x2000 0x130>,
0628                                       <0x2200 0x200>,
0629                                       <0x2400 0x1dc>;
0630 
0631                                 clocks = <&gcc GCC_PCIE_1_PIPE_CLK>;
0632                                 clock-names = "pipe1";
0633                                 resets = <&gcc GCC_PCIE_1_PHY_BCR>;
0634                                 reset-names = "lane1";
0635 
0636                                 #clock-cells = <0>;
0637                                 clock-output-names = "pcie_1_pipe_clk_src";
0638 
0639                                 #phy-cells = <0>;
0640                         };
0641 
0642                         pciephy_2: phy@3000 {
0643                                 reg = <0x3000 0x130>,
0644                                       <0x3200 0x200>,
0645                                       <0x3400 0x1dc>;
0646 
0647                                 clocks = <&gcc GCC_PCIE_2_PIPE_CLK>;
0648                                 clock-names = "pipe2";
0649                                 resets = <&gcc GCC_PCIE_2_PHY_BCR>;
0650                                 reset-names = "lane2";
0651 
0652                                 #clock-cells = <0>;
0653                                 clock-output-names = "pcie_2_pipe_clk_src";
0654 
0655                                 #phy-cells = <0>;
0656                         };
0657                 };
0658 
0659                 rpm_msg_ram: sram@68000 {
0660                         compatible = "qcom,rpm-msg-ram";
0661                         reg = <0x00068000 0x6000>;
0662                 };
0663 
0664                 qfprom@74000 {
0665                         compatible = "qcom,msm8996-qfprom", "qcom,qfprom";
0666                         reg = <0x00074000 0x8ff>;
0667                         #address-cells = <1>;
0668                         #size-cells = <1>;
0669 
0670                         qusb2p_hstx_trim: hstx_trim@24e {
0671                                 reg = <0x24e 0x2>;
0672                                 bits = <5 4>;
0673                         };
0674 
0675                         qusb2s_hstx_trim: hstx_trim@24f {
0676                                 reg = <0x24f 0x1>;
0677                                 bits = <1 4>;
0678                         };
0679 
0680                         speedbin_efuse: speedbin@133 {
0681                                 reg = <0x133 0x1>;
0682                                 bits = <5 3>;
0683                         };
0684                 };
0685 
0686                 rng: rng@83000 {
0687                         compatible = "qcom,prng-ee";
0688                         reg = <0x00083000 0x1000>;
0689                         clocks = <&gcc GCC_PRNG_AHB_CLK>;
0690                         clock-names = "core";
0691                 };
0692 
0693                 gcc: clock-controller@300000 {
0694                         compatible = "qcom,gcc-msm8996";
0695                         #clock-cells = <1>;
0696                         #reset-cells = <1>;
0697                         #power-domain-cells = <1>;
0698                         reg = <0x00300000 0x90000>;
0699 
0700                         clocks = <&rpmcc RPM_SMD_BB_CLK1>,
0701                                  <&rpmcc RPM_SMD_LN_BB_CLK>,
0702                                  <&sleep_clk>,
0703                                  <&pciephy_0>,
0704                                  <&pciephy_1>,
0705                                  <&pciephy_2>,
0706                                  <&ssusb_phy_0>,
0707                                  <0>, <0>, <0>;
0708                         clock-names = "cxo",
0709                                       "cxo2",
0710                                       "sleep_clk",
0711                                       "pcie_0_pipe_clk_src",
0712                                       "pcie_1_pipe_clk_src",
0713                                       "pcie_2_pipe_clk_src",
0714                                       "usb3_phy_pipe_clk_src",
0715                                       "ufs_rx_symbol_0_clk_src",
0716                                       "ufs_rx_symbol_1_clk_src",
0717                                       "ufs_tx_symbol_0_clk_src";
0718                 };
0719 
0720                 bimc: interconnect@408000 {
0721                         compatible = "qcom,msm8996-bimc";
0722                         reg = <0x00408000 0x5a000>;
0723                         #interconnect-cells = <1>;
0724                         clock-names = "bus", "bus_a";
0725                         clocks = <&rpmcc RPM_SMD_BIMC_CLK>,
0726                                  <&rpmcc RPM_SMD_BIMC_A_CLK>;
0727                 };
0728 
0729                 tsens0: thermal-sensor@4a9000 {
0730                         compatible = "qcom,msm8996-tsens", "qcom,tsens-v2";
0731                         reg = <0x004a9000 0x1000>, /* TM */
0732                               <0x004a8000 0x1000>; /* SROT */
0733                         #qcom,sensors = <13>;
0734                         interrupts = <GIC_SPI 458 IRQ_TYPE_LEVEL_HIGH>,
0735                                      <GIC_SPI 445 IRQ_TYPE_LEVEL_HIGH>;
0736                         interrupt-names = "uplow", "critical";
0737                         #thermal-sensor-cells = <1>;
0738                 };
0739 
0740                 tsens1: thermal-sensor@4ad000 {
0741                         compatible = "qcom,msm8996-tsens", "qcom,tsens-v2";
0742                         reg = <0x004ad000 0x1000>, /* TM */
0743                               <0x004ac000 0x1000>; /* SROT */
0744                         #qcom,sensors = <8>;
0745                         interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>,
0746                                      <GIC_SPI 430 IRQ_TYPE_LEVEL_HIGH>;
0747                         interrupt-names = "uplow", "critical";
0748                         #thermal-sensor-cells = <1>;
0749                 };
0750 
0751                 cryptobam: dma-controller@644000 {
0752                         compatible = "qcom,bam-v1.7.0";
0753                         reg = <0x00644000 0x24000>;
0754                         interrupts = <GIC_SPI 206 IRQ_TYPE_LEVEL_HIGH>;
0755                         clocks = <&gcc GCC_CE1_CLK>;
0756                         clock-names = "bam_clk";
0757                         #dma-cells = <1>;
0758                         qcom,ee = <0>;
0759                         qcom,controlled-remotely;
0760                 };
0761 
0762                 crypto: crypto@67a000 {
0763                         compatible = "qcom,crypto-v5.4";
0764                         reg = <0x0067a000 0x6000>;
0765                         clocks = <&gcc GCC_CE1_AHB_CLK>,
0766                                  <&gcc GCC_CE1_AXI_CLK>,
0767                                  <&gcc GCC_CE1_CLK>;
0768                         clock-names = "iface", "bus", "core";
0769                         dmas = <&cryptobam 6>, <&cryptobam 7>;
0770                         dma-names = "rx", "tx";
0771                 };
0772 
0773                 cnoc: interconnect@500000 {
0774                         compatible = "qcom,msm8996-cnoc";
0775                         reg = <0x00500000 0x1000>;
0776                         #interconnect-cells = <1>;
0777                         clock-names = "bus", "bus_a";
0778                         clocks = <&rpmcc RPM_SMD_CNOC_CLK>,
0779                                  <&rpmcc RPM_SMD_CNOC_A_CLK>;
0780                 };
0781 
0782                 snoc: interconnect@524000 {
0783                         compatible = "qcom,msm8996-snoc";
0784                         reg = <0x00524000 0x1c000>;
0785                         #interconnect-cells = <1>;
0786                         clock-names = "bus", "bus_a";
0787                         clocks = <&rpmcc RPM_SMD_SNOC_CLK>,
0788                                  <&rpmcc RPM_SMD_SNOC_A_CLK>;
0789                 };
0790 
0791                 a0noc: interconnect@543000 {
0792                         compatible = "qcom,msm8996-a0noc";
0793                         reg = <0x00543000 0x6000>;
0794                         #interconnect-cells = <1>;
0795                         clock-names = "aggre0_snoc_axi",
0796                                       "aggre0_cnoc_ahb",
0797                                       "aggre0_noc_mpu_cfg";
0798                         clocks = <&gcc GCC_AGGRE0_SNOC_AXI_CLK>,
0799                                  <&gcc GCC_AGGRE0_CNOC_AHB_CLK>,
0800                                  <&gcc GCC_AGGRE0_NOC_MPU_CFG_AHB_CLK>;
0801                         power-domains = <&gcc AGGRE0_NOC_GDSC>;
0802                 };
0803 
0804                 a1noc: interconnect@562000 {
0805                         compatible = "qcom,msm8996-a1noc";
0806                         reg = <0x00562000 0x5000>;
0807                         #interconnect-cells = <1>;
0808                         clock-names = "bus", "bus_a";
0809                         clocks = <&rpmcc RPM_SMD_AGGR1_NOC_CLK>,
0810                                  <&rpmcc RPM_SMD_AGGR1_NOC_A_CLK>;
0811                 };
0812 
0813                 a2noc: interconnect@583000 {
0814                         compatible = "qcom,msm8996-a2noc";
0815                         reg = <0x00583000 0x7000>;
0816                         #interconnect-cells = <1>;
0817                         clock-names = "bus", "bus_a";
0818                         clocks = <&rpmcc RPM_SMD_AGGR2_NOC_CLK>,
0819                                  <&rpmcc RPM_SMD_AGGR2_NOC_A_CLK>;
0820                 };
0821 
0822                 mnoc: interconnect@5a4000 {
0823                         compatible = "qcom,msm8996-mnoc";
0824                         reg = <0x005a4000 0x1c000>;
0825                         #interconnect-cells = <1>;
0826                         clock-names = "bus", "bus_a", "iface";
0827                         clocks = <&rpmcc RPM_SMD_MMAXI_CLK>,
0828                                  <&rpmcc RPM_SMD_MMAXI_A_CLK>,
0829                                  <&mmcc AHB_CLK_SRC>;
0830                 };
0831 
0832                 pnoc: interconnect@5c0000 {
0833                         compatible = "qcom,msm8996-pnoc";
0834                         reg = <0x005c0000 0x3000>;
0835                         #interconnect-cells = <1>;
0836                         clock-names = "bus", "bus_a";
0837                         clocks = <&rpmcc RPM_SMD_PCNOC_CLK>,
0838                                  <&rpmcc RPM_SMD_PCNOC_A_CLK>;
0839                 };
0840 
0841                 tcsr_mutex_regs: syscon@740000 {
0842                         compatible = "syscon";
0843                         reg = <0x00740000 0x40000>;
0844                 };
0845 
0846                 tcsr: syscon@7a0000 {
0847                         compatible = "qcom,tcsr-msm8996", "syscon";
0848                         reg = <0x007a0000 0x18000>;
0849                 };
0850 
0851                 mmcc: clock-controller@8c0000 {
0852                         compatible = "qcom,mmcc-msm8996";
0853                         #clock-cells = <1>;
0854                         #reset-cells = <1>;
0855                         #power-domain-cells = <1>;
0856                         reg = <0x008c0000 0x40000>;
0857                         clocks = <&xo_board>,
0858                                  <&gcc GCC_MMSS_NOC_CFG_AHB_CLK>,
0859                                  <&gcc GPLL0>,
0860                                  <&dsi0_phy 1>,
0861                                  <&dsi0_phy 0>,
0862                                  <0>,
0863                                  <0>,
0864                                  <0>;
0865                         clock-names = "xo",
0866                                       "gcc_mmss_noc_cfg_ahb_clk",
0867                                       "gpll0",
0868                                       "dsi0pll",
0869                                       "dsi0pllbyte",
0870                                       "dsi1pll",
0871                                       "dsi1pllbyte",
0872                                       "hdmipll";
0873                         assigned-clocks = <&mmcc MMPLL9_PLL>,
0874                                           <&mmcc MMPLL1_PLL>,
0875                                           <&mmcc MMPLL3_PLL>,
0876                                           <&mmcc MMPLL4_PLL>,
0877                                           <&mmcc MMPLL5_PLL>;
0878                         assigned-clock-rates = <624000000>,
0879                                                <810000000>,
0880                                                <980000000>,
0881                                                <960000000>,
0882                                                <825000000>;
0883                 };
0884 
0885                 mdss: mdss@900000 {
0886                         compatible = "qcom,mdss";
0887 
0888                         reg = <0x00900000 0x1000>,
0889                               <0x009b0000 0x1040>,
0890                               <0x009b8000 0x1040>;
0891                         reg-names = "mdss_phys",
0892                                     "vbif_phys",
0893                                     "vbif_nrt_phys";
0894 
0895                         power-domains = <&mmcc MDSS_GDSC>;
0896                         interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
0897 
0898                         interrupt-controller;
0899                         #interrupt-cells = <1>;
0900 
0901                         clocks = <&mmcc MDSS_AHB_CLK>,
0902                                  <&mmcc MDSS_MDP_CLK>;
0903                         clock-names = "iface", "core";
0904 
0905                         #address-cells = <1>;
0906                         #size-cells = <1>;
0907                         ranges;
0908 
0909                         status = "disabled";
0910 
0911                         mdp: mdp@901000 {
0912                                 compatible = "qcom,mdp5";
0913                                 reg = <0x00901000 0x90000>;
0914                                 reg-names = "mdp_phys";
0915 
0916                                 interrupt-parent = <&mdss>;
0917                                 interrupts = <0>;
0918 
0919                                 clocks = <&mmcc MDSS_AHB_CLK>,
0920                                          <&mmcc MDSS_AXI_CLK>,
0921                                          <&mmcc MDSS_MDP_CLK>,
0922                                          <&mmcc SMMU_MDP_AXI_CLK>,
0923                                          <&mmcc MDSS_VSYNC_CLK>;
0924                                 clock-names = "iface",
0925                                               "bus",
0926                                               "core",
0927                                               "iommu",
0928                                               "vsync";
0929 
0930                                 iommus = <&mdp_smmu 0>;
0931 
0932                                 assigned-clocks = <&mmcc MDSS_MDP_CLK>,
0933                                          <&mmcc MDSS_VSYNC_CLK>;
0934                                 assigned-clock-rates = <300000000>,
0935                                          <19200000>;
0936 
0937                                 interconnects = <&mnoc MASTER_MDP_PORT0 &bimc SLAVE_EBI_CH0>,
0938                                                 <&mnoc MASTER_MDP_PORT1 &bimc SLAVE_EBI_CH0>,
0939                                                 <&mnoc MASTER_ROTATOR &bimc SLAVE_EBI_CH0>;
0940                                 interconnect-names = "mdp0-mem", "mdp1-mem", "rotator-mem";
0941 
0942                                 ports {
0943                                         #address-cells = <1>;
0944                                         #size-cells = <0>;
0945 
0946                                         port@0 {
0947                                                 reg = <0>;
0948                                                 mdp5_intf3_out: endpoint {
0949                                                         remote-endpoint = <&hdmi_in>;
0950                                                 };
0951                                         };
0952 
0953                                         port@1 {
0954                                                 reg = <1>;
0955                                                 mdp5_intf1_out: endpoint {
0956                                                         remote-endpoint = <&dsi0_in>;
0957                                                 };
0958                                         };
0959 
0960                                         port@2 {
0961                                                 reg = <2>;
0962                                                 mdp5_intf2_out: endpoint {
0963                                                         remote-endpoint = <&dsi1_in>;
0964                                                 };
0965                                         };
0966                                 };
0967                         };
0968 
0969                         dsi0: dsi@994000 {
0970                                 compatible = "qcom,mdss-dsi-ctrl";
0971                                 reg = <0x00994000 0x400>;
0972                                 reg-names = "dsi_ctrl";
0973 
0974                                 interrupt-parent = <&mdss>;
0975                                 interrupts = <4>;
0976 
0977                                 clocks = <&mmcc MDSS_MDP_CLK>,
0978                                          <&mmcc MDSS_BYTE0_CLK>,
0979                                          <&mmcc MDSS_AHB_CLK>,
0980                                          <&mmcc MDSS_AXI_CLK>,
0981                                          <&mmcc MMSS_MISC_AHB_CLK>,
0982                                          <&mmcc MDSS_PCLK0_CLK>,
0983                                          <&mmcc MDSS_ESC0_CLK>;
0984                                 clock-names = "mdp_core",
0985                                               "byte",
0986                                               "iface",
0987                                               "bus",
0988                                               "core_mmss",
0989                                               "pixel",
0990                                               "core";
0991                                 assigned-clocks = <&mmcc BYTE0_CLK_SRC>, <&mmcc PCLK0_CLK_SRC>;
0992                                 assigned-clock-parents = <&dsi0_phy 0>, <&dsi0_phy 1>;
0993 
0994                                 phys = <&dsi0_phy>;
0995                                 phy-names = "dsi";
0996                                 status = "disabled";
0997 
0998                                 #address-cells = <1>;
0999                                 #size-cells = <0>;
1000 
1001                                 ports {
1002                                         #address-cells = <1>;
1003                                         #size-cells = <0>;
1004 
1005                                         port@0 {
1006                                                 reg = <0>;
1007                                                 dsi0_in: endpoint {
1008                                                         remote-endpoint = <&mdp5_intf1_out>;
1009                                                 };
1010                                         };
1011 
1012                                         port@1 {
1013                                                 reg = <1>;
1014                                                 dsi0_out: endpoint {
1015                                                 };
1016                                         };
1017                                 };
1018                         };
1019 
1020                         dsi0_phy: dsi-phy@994400 {
1021                                 compatible = "qcom,dsi-phy-14nm";
1022                                 reg = <0x00994400 0x100>,
1023                                       <0x00994500 0x300>,
1024                                       <0x00994800 0x188>;
1025                                 reg-names = "dsi_phy",
1026                                             "dsi_phy_lane",
1027                                             "dsi_pll";
1028 
1029                                 #clock-cells = <1>;
1030                                 #phy-cells = <0>;
1031 
1032                                 clocks = <&mmcc MDSS_AHB_CLK>, <&rpmcc RPM_SMD_BB_CLK1>;
1033                                 clock-names = "iface", "ref";
1034                                 status = "disabled";
1035                         };
1036 
1037                         dsi1: dsi@996000 {
1038                                 compatible = "qcom,mdss-dsi-ctrl";
1039                                 reg = <0x00996000 0x400>;
1040                                 reg-names = "dsi_ctrl";
1041 
1042                                 interrupt-parent = <&mdss>;
1043                                 interrupts = <4>;
1044 
1045                                 clocks = <&mmcc MDSS_MDP_CLK>,
1046                                          <&mmcc MDSS_BYTE1_CLK>,
1047                                          <&mmcc MDSS_AHB_CLK>,
1048                                          <&mmcc MDSS_AXI_CLK>,
1049                                          <&mmcc MMSS_MISC_AHB_CLK>,
1050                                          <&mmcc MDSS_PCLK1_CLK>,
1051                                          <&mmcc MDSS_ESC1_CLK>;
1052                                 clock-names = "mdp_core",
1053                                               "byte",
1054                                               "iface",
1055                                               "bus",
1056                                               "core_mmss",
1057                                               "pixel",
1058                                               "core";
1059                                 assigned-clocks = <&mmcc BYTE1_CLK_SRC>, <&mmcc PCLK1_CLK_SRC>;
1060                                 assigned-clock-parents = <&dsi1_phy 0>, <&dsi1_phy 1>;
1061 
1062                                 phys = <&dsi1_phy>;
1063                                 phy-names = "dsi";
1064                                 status = "disabled";
1065 
1066                                 #address-cells = <1>;
1067                                 #size-cells = <0>;
1068 
1069                                 ports {
1070                                         #address-cells = <1>;
1071                                         #size-cells = <0>;
1072 
1073                                         port@0 {
1074                                                 reg = <0>;
1075                                                 dsi1_in: endpoint {
1076                                                         remote-endpoint = <&mdp5_intf2_out>;
1077                                                 };
1078                                         };
1079 
1080                                         port@1 {
1081                                                 reg = <1>;
1082                                                 dsi1_out: endpoint {
1083                                                 };
1084                                         };
1085                                 };
1086                         };
1087 
1088                         dsi1_phy: dsi-phy@996400 {
1089                                 compatible = "qcom,dsi-phy-14nm";
1090                                 reg = <0x00996400 0x100>,
1091                                       <0x00996500 0x300>,
1092                                       <0x00996800 0x188>;
1093                                 reg-names = "dsi_phy",
1094                                             "dsi_phy_lane",
1095                                             "dsi_pll";
1096 
1097                                 #clock-cells = <1>;
1098                                 #phy-cells = <0>;
1099 
1100                                 clocks = <&mmcc MDSS_AHB_CLK>, <&rpmcc RPM_SMD_BB_CLK1>;
1101                                 clock-names = "iface", "ref";
1102                                 status = "disabled";
1103                         };
1104 
1105                         hdmi: hdmi-tx@9a0000 {
1106                                 compatible = "qcom,hdmi-tx-8996";
1107                                 reg =   <0x009a0000 0x50c>,
1108                                         <0x00070000 0x6158>,
1109                                         <0x009e0000 0xfff>;
1110                                 reg-names = "core_physical",
1111                                             "qfprom_physical",
1112                                             "hdcp_physical";
1113 
1114                                 interrupt-parent = <&mdss>;
1115                                 interrupts = <8>;
1116 
1117                                 clocks = <&mmcc MDSS_MDP_CLK>,
1118                                          <&mmcc MDSS_AHB_CLK>,
1119                                          <&mmcc MDSS_HDMI_CLK>,
1120                                          <&mmcc MDSS_HDMI_AHB_CLK>,
1121                                          <&mmcc MDSS_EXTPCLK_CLK>;
1122                                 clock-names =
1123                                         "mdp_core",
1124                                         "iface",
1125                                         "core",
1126                                         "alt_iface",
1127                                         "extp";
1128 
1129                                 phys = <&hdmi_phy>;
1130                                 #sound-dai-cells = <1>;
1131 
1132                                 status = "disabled";
1133 
1134                                 ports {
1135                                         #address-cells = <1>;
1136                                         #size-cells = <0>;
1137 
1138                                         port@0 {
1139                                                 reg = <0>;
1140                                                 hdmi_in: endpoint {
1141                                                         remote-endpoint = <&mdp5_intf3_out>;
1142                                                 };
1143                                         };
1144                                 };
1145                         };
1146 
1147                         hdmi_phy: hdmi-phy@9a0600 {
1148                                 #phy-cells = <0>;
1149                                 compatible = "qcom,hdmi-phy-8996";
1150                                 reg = <0x009a0600 0x1c4>,
1151                                       <0x009a0a00 0x124>,
1152                                       <0x009a0c00 0x124>,
1153                                       <0x009a0e00 0x124>,
1154                                       <0x009a1000 0x124>,
1155                                       <0x009a1200 0x0c8>;
1156                                 reg-names = "hdmi_pll",
1157                                             "hdmi_tx_l0",
1158                                             "hdmi_tx_l1",
1159                                             "hdmi_tx_l2",
1160                                             "hdmi_tx_l3",
1161                                             "hdmi_phy";
1162 
1163                                 clocks = <&mmcc MDSS_AHB_CLK>,
1164                                          <&gcc GCC_HDMI_CLKREF_CLK>;
1165                                 clock-names = "iface",
1166                                               "ref";
1167 
1168                                 status = "disabled";
1169                         };
1170                 };
1171 
1172                 gpu: gpu@b00000 {
1173                         compatible = "qcom,adreno-530.2", "qcom,adreno";
1174 
1175                         reg = <0x00b00000 0x3f000>;
1176                         reg-names = "kgsl_3d0_reg_memory";
1177 
1178                         interrupts = <0 300 IRQ_TYPE_LEVEL_HIGH>;
1179 
1180                         clocks = <&mmcc GPU_GX_GFX3D_CLK>,
1181                                 <&mmcc GPU_AHB_CLK>,
1182                                 <&mmcc GPU_GX_RBBMTIMER_CLK>,
1183                                 <&gcc GCC_BIMC_GFX_CLK>,
1184                                 <&gcc GCC_MMSS_BIMC_GFX_CLK>;
1185 
1186                         clock-names = "core",
1187                                 "iface",
1188                                 "rbbmtimer",
1189                                 "mem",
1190                                 "mem_iface";
1191 
1192                         interconnects = <&bimc MASTER_GRAPHICS_3D &bimc SLAVE_EBI_CH0>;
1193                         interconnect-names = "gfx-mem";
1194 
1195                         power-domains = <&mmcc GPU_GX_GDSC>;
1196                         iommus = <&adreno_smmu 0>;
1197 
1198                         nvmem-cells = <&speedbin_efuse>;
1199                         nvmem-cell-names = "speed_bin";
1200 
1201                         operating-points-v2 = <&gpu_opp_table>;
1202 
1203                         status = "disabled";
1204 
1205                         #cooling-cells = <2>;
1206 
1207                         gpu_opp_table: opp-table {
1208                                 compatible = "operating-points-v2";
1209 
1210                                 /*
1211                                  * 624Mhz and 560Mhz are only available on speed
1212                                  * bin (1 << 0). All the rest are available on
1213                                  * all bins of the hardware
1214                                  */
1215                                 opp-624000000 {
1216                                         opp-hz = /bits/ 64 <624000000>;
1217                                         opp-supported-hw = <0x01>;
1218                                 };
1219                                 opp-560000000 {
1220                                         opp-hz = /bits/ 64 <560000000>;
1221                                         opp-supported-hw = <0x01>;
1222                                 };
1223                                 opp-510000000 {
1224                                         opp-hz = /bits/ 64 <510000000>;
1225                                         opp-supported-hw = <0xFF>;
1226                                 };
1227                                 opp-401800000 {
1228                                         opp-hz = /bits/ 64 <401800000>;
1229                                         opp-supported-hw = <0xFF>;
1230                                 };
1231                                 opp-315000000 {
1232                                         opp-hz = /bits/ 64 <315000000>;
1233                                         opp-supported-hw = <0xFF>;
1234                                 };
1235                                 opp-214000000 {
1236                                         opp-hz = /bits/ 64 <214000000>;
1237                                         opp-supported-hw = <0xFF>;
1238                                 };
1239                                 opp-133000000 {
1240                                         opp-hz = /bits/ 64 <133000000>;
1241                                         opp-supported-hw = <0xFF>;
1242                                 };
1243                         };
1244 
1245                         zap-shader {
1246                                 memory-region = <&gpu_mem>;
1247                         };
1248                 };
1249 
1250                 tlmm: pinctrl@1010000 {
1251                         compatible = "qcom,msm8996-pinctrl";
1252                         reg = <0x01010000 0x300000>;
1253                         interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;
1254                         gpio-controller;
1255                         gpio-ranges = <&tlmm 0 0 150>;
1256                         #gpio-cells = <2>;
1257                         interrupt-controller;
1258                         #interrupt-cells = <2>;
1259 
1260                         blsp1_spi1_default: blsp1-spi1-default {
1261                                 spi {
1262                                         pins = "gpio0", "gpio1", "gpio3";
1263                                         function = "blsp_spi1";
1264                                         drive-strength = <12>;
1265                                         bias-disable;
1266                                 };
1267 
1268                                 cs {
1269                                         pins = "gpio2";
1270                                         function = "gpio";
1271                                         drive-strength = <16>;
1272                                         bias-disable;
1273                                         output-high;
1274                                 };
1275                         };
1276 
1277                         blsp1_spi1_sleep: blsp1-spi1-sleep {
1278                                 pins = "gpio0", "gpio1", "gpio2", "gpio3";
1279                                 function = "gpio";
1280                                 drive-strength = <2>;
1281                                 bias-pull-down;
1282                         };
1283 
1284                         blsp2_uart2_2pins_default: blsp2-uart1-2pins {
1285                                 pins = "gpio4", "gpio5";
1286                                 function = "blsp_uart8";
1287                                 drive-strength = <16>;
1288                                 bias-disable;
1289                         };
1290 
1291                         blsp2_uart2_2pins_sleep: blsp2-uart1-2pins-sleep {
1292                                 pins = "gpio4", "gpio5";
1293                                 function = "gpio";
1294                                 drive-strength = <2>;
1295                                 bias-disable;
1296                         };
1297 
1298                         blsp2_i2c2_default: blsp2-i2c2 {
1299                                 pins = "gpio6", "gpio7";
1300                                 function = "blsp_i2c8";
1301                                 drive-strength = <16>;
1302                                 bias-disable;
1303                         };
1304 
1305                         blsp2_i2c2_sleep: blsp2-i2c2-sleep {
1306                                 pins = "gpio6", "gpio7";
1307                                 function = "gpio";
1308                                 drive-strength = <2>;
1309                                 bias-disable;
1310                         };
1311 
1312                         cci0_default: cci0-default {
1313                                 pins = "gpio17", "gpio18";
1314                                 function = "cci_i2c";
1315                                 drive-strength = <16>;
1316                                 bias-disable;
1317                         };
1318 
1319                         camera0_state_on:
1320                         camera_rear_default: camera-rear-default {
1321                                 camera0_mclk: mclk0 {
1322                                         pins = "gpio13";
1323                                         function = "cam_mclk";
1324                                         drive-strength = <16>;
1325                                         bias-disable;
1326                                 };
1327 
1328                                 camera0_rst: rst {
1329                                         pins = "gpio25";
1330                                         function = "gpio";
1331                                         drive-strength = <16>;
1332                                         bias-disable;
1333                                 };
1334 
1335                                 camera0_pwdn: pwdn {
1336                                         pins = "gpio26";
1337                                         function = "gpio";
1338                                         drive-strength = <16>;
1339                                         bias-disable;
1340                                 };
1341                         };
1342 
1343                         cci1_default: cci1-default {
1344                                 pins = "gpio19", "gpio20";
1345                                 function = "cci_i2c";
1346                                 drive-strength = <16>;
1347                                 bias-disable;
1348                         };
1349 
1350                         camera1_state_on:
1351                         camera_board_default: camera-board-default {
1352                                 mclk1 {
1353                                         pins = "gpio14";
1354                                         function = "cam_mclk";
1355                                         drive-strength = <16>;
1356                                         bias-disable;
1357                                 };
1358 
1359                                 pwdn {
1360                                         pins = "gpio98";
1361                                         function = "gpio";
1362                                         drive-strength = <16>;
1363                                         bias-disable;
1364                                 };
1365 
1366                                 rst {
1367                                         pins = "gpio104";
1368                                         function = "gpio";
1369                                         drive-strength = <16>;
1370                                         bias-disable;
1371                                 };
1372                         };
1373 
1374                         camera2_state_on:
1375                         camera_front_default: camera-front-default {
1376                                 camera2_mclk: mclk2 {
1377                                         pins = "gpio15";
1378                                         function = "cam_mclk";
1379                                         drive-strength = <16>;
1380                                         bias-disable;
1381                                 };
1382 
1383                                 camera2_rst: rst {
1384                                         pins = "gpio23";
1385                                         function = "gpio";
1386                                         drive-strength = <16>;
1387                                         bias-disable;
1388                                 };
1389 
1390                                 pwdn {
1391                                         pins = "gpio133";
1392                                         function = "gpio";
1393                                         drive-strength = <16>;
1394                                         bias-disable;
1395                                 };
1396                         };
1397 
1398                         pcie0_state_on: pcie0-state-on {
1399                                 perst {
1400                                         pins = "gpio35";
1401                                         function = "gpio";
1402                                         drive-strength = <2>;
1403                                         bias-pull-down;
1404                                 };
1405 
1406                                 clkreq {
1407                                         pins = "gpio36";
1408                                         function = "pci_e0";
1409                                         drive-strength = <2>;
1410                                         bias-pull-up;
1411                                 };
1412 
1413                                 wake {
1414                                         pins = "gpio37";
1415                                         function = "gpio";
1416                                         drive-strength = <2>;
1417                                         bias-pull-up;
1418                                 };
1419                         };
1420 
1421                         pcie0_state_off: pcie0-state-off {
1422                                 perst {
1423                                         pins = "gpio35";
1424                                         function = "gpio";
1425                                         drive-strength = <2>;
1426                                         bias-pull-down;
1427                                 };
1428 
1429                                 clkreq {
1430                                         pins = "gpio36";
1431                                         function = "gpio";
1432                                         drive-strength = <2>;
1433                                         bias-disable;
1434                                 };
1435 
1436                                 wake {
1437                                         pins = "gpio37";
1438                                         function = "gpio";
1439                                         drive-strength = <2>;
1440                                         bias-disable;
1441                                 };
1442                         };
1443 
1444                         blsp1_uart2_default: blsp1-uart2-default {
1445                                 pins = "gpio41", "gpio42", "gpio43", "gpio44";
1446                                 function = "blsp_uart2";
1447                                 drive-strength = <16>;
1448                                 bias-disable;
1449                         };
1450 
1451                         blsp1_uart2_sleep: blsp1-uart2-sleep {
1452                                 pins = "gpio41", "gpio42", "gpio43", "gpio44";
1453                                 function = "gpio";
1454                                 drive-strength = <2>;
1455                                 bias-disable;
1456                         };
1457 
1458                         blsp1_i2c3_default: blsp1-i2c2-default {
1459                                 pins = "gpio47", "gpio48";
1460                                 function = "blsp_i2c3";
1461                                 drive-strength = <16>;
1462                                 bias-disable;
1463                         };
1464 
1465                         blsp1_i2c3_sleep: blsp1-i2c2-sleep {
1466                                 pins = "gpio47", "gpio48";
1467                                 function = "gpio";
1468                                 drive-strength = <2>;
1469                                 bias-disable;
1470                         };
1471 
1472                         blsp2_uart3_4pins_default: blsp2-uart2-4pins {
1473                                 pins = "gpio49", "gpio50", "gpio51", "gpio52";
1474                                 function = "blsp_uart9";
1475                                 drive-strength = <16>;
1476                                 bias-disable;
1477                         };
1478 
1479                         blsp2_uart3_4pins_sleep: blsp2-uart2-4pins-sleep {
1480                                 pins = "gpio49", "gpio50", "gpio51", "gpio52";
1481                                 function = "blsp_uart9";
1482                                 drive-strength = <2>;
1483                                 bias-disable;
1484                         };
1485 
1486                         blsp2_i2c3_default: blsp2-i2c3 {
1487                                 pins = "gpio51", "gpio52";
1488                                 function = "blsp_i2c9";
1489                                 drive-strength = <16>;
1490                                 bias-disable;
1491                         };
1492 
1493                         blsp2_i2c3_sleep: blsp2-i2c3-sleep {
1494                                 pins = "gpio51", "gpio52";
1495                                 function = "gpio";
1496                                 drive-strength = <2>;
1497                                 bias-disable;
1498                         };
1499 
1500                         wcd_intr_default: wcd-intr-default{
1501                                 pins = "gpio54";
1502                                 function = "gpio";
1503                                 drive-strength = <2>;
1504                                 bias-pull-down;
1505                                 input-enable;
1506                         };
1507 
1508                         blsp2_i2c1_default: blsp2-i2c1 {
1509                                 pins = "gpio55", "gpio56";
1510                                 function = "blsp_i2c7";
1511                                 drive-strength = <16>;
1512                                 bias-disable;
1513                         };
1514 
1515                         blsp2_i2c1_sleep: blsp2-i2c0-sleep {
1516                                 pins = "gpio55", "gpio56";
1517                                 function = "gpio";
1518                                 drive-strength = <2>;
1519                                 bias-disable;
1520                         };
1521 
1522                         blsp2_i2c5_default: blsp2-i2c5 {
1523                                 pins = "gpio60", "gpio61";
1524                                 function = "blsp_i2c11";
1525                                 drive-strength = <2>;
1526                                 bias-disable;
1527                         };
1528 
1529                         /* Sleep state for BLSP2_I2C5 is missing.. */
1530 
1531                         cdc_reset_active: cdc-reset-active {
1532                                 pins = "gpio64";
1533                                 function = "gpio";
1534                                 drive-strength = <16>;
1535                                 bias-pull-down;
1536                                 output-high;
1537                         };
1538 
1539                         cdc_reset_sleep: cdc-reset-sleep {
1540                                 pins = "gpio64";
1541                                 function = "gpio";
1542                                 drive-strength = <16>;
1543                                 bias-disable;
1544                                 output-low;
1545                         };
1546 
1547                         blsp2_spi6_default: blsp2-spi5-default {
1548                                 spi {
1549                                         pins = "gpio85", "gpio86", "gpio88";
1550                                         function = "blsp_spi12";
1551                                         drive-strength = <12>;
1552                                         bias-disable;
1553                                 };
1554 
1555                                 cs {
1556                                         pins = "gpio87";
1557                                         function = "gpio";
1558                                         drive-strength = <16>;
1559                                         bias-disable;
1560                                         output-high;
1561                                 };
1562                         };
1563 
1564                         blsp2_spi6_sleep: blsp2-spi5-sleep {
1565                                 pins = "gpio85", "gpio86", "gpio87", "gpio88";
1566                                 function = "gpio";
1567                                 drive-strength = <2>;
1568                                 bias-pull-down;
1569                         };
1570 
1571                         blsp2_i2c6_default: blsp2-i2c6 {
1572                                 pins = "gpio87", "gpio88";
1573                                 function = "blsp_i2c12";
1574                                 drive-strength = <16>;
1575                                 bias-disable;
1576                         };
1577 
1578                         blsp2_i2c6_sleep: blsp2-i2c6-sleep {
1579                                 pins = "gpio87", "gpio88";
1580                                 function = "gpio";
1581                                 drive-strength = <2>;
1582                                 bias-disable;
1583                         };
1584 
1585                         pcie1_state_on: pcie1-state-on {
1586                                 perst {
1587                                         pins = "gpio130";
1588                                         function = "gpio";
1589                                         drive-strength = <2>;
1590                                         bias-pull-down;
1591                                 };
1592 
1593                                 clkreq {
1594                                         pins = "gpio131";
1595                                         function = "pci_e1";
1596                                         drive-strength = <2>;
1597                                         bias-pull-up;
1598                                 };
1599 
1600                                 wake {
1601                                         pins = "gpio132";
1602                                         function = "gpio";
1603                                         drive-strength = <2>;
1604                                         bias-pull-down;
1605                                 };
1606                         };
1607 
1608                         pcie1_state_off: pcie1-state-off {
1609                                 /* Perst is missing? */
1610                                 clkreq {
1611                                         pins = "gpio131";
1612                                         function = "gpio";
1613                                         drive-strength = <2>;
1614                                         bias-disable;
1615                                 };
1616 
1617                                 wake {
1618                                         pins = "gpio132";
1619                                         function = "gpio";
1620                                         drive-strength = <2>;
1621                                         bias-disable;
1622                                 };
1623                         };
1624 
1625                         pcie2_state_on: pcie2-state-on {
1626                                 perst {
1627                                         pins = "gpio114";
1628                                         function = "gpio";
1629                                         drive-strength = <2>;
1630                                         bias-pull-down;
1631                                 };
1632 
1633                                 clkreq {
1634                                         pins = "gpio115";
1635                                         function = "pci_e2";
1636                                         drive-strength = <2>;
1637                                         bias-pull-up;
1638                                 };
1639 
1640                                 wake {
1641                                         pins = "gpio116";
1642                                         function = "gpio";
1643                                         drive-strength = <2>;
1644                                         bias-pull-down;
1645                                 };
1646                         };
1647 
1648                         pcie2_state_off: pcie2-state-off {
1649                                 /* Perst is missing? */
1650                                 clkreq {
1651                                         pins = "gpio115";
1652                                         function = "gpio";
1653                                         drive-strength = <2>;
1654                                         bias-disable;
1655                                 };
1656 
1657                                 wake {
1658                                         pins = "gpio116";
1659                                         function = "gpio";
1660                                         drive-strength = <2>;
1661                                         bias-disable;
1662                                 };
1663                         };
1664 
1665                         sdc1_state_on: sdc1-state-on {
1666                                 clk {
1667                                         pins = "sdc1_clk";
1668                                         bias-disable;
1669                                         drive-strength = <16>;
1670                                 };
1671 
1672                                 cmd {
1673                                         pins = "sdc1_cmd";
1674                                         bias-pull-up;
1675                                         drive-strength = <10>;
1676                                 };
1677 
1678                                 data {
1679                                         pins = "sdc1_data";
1680                                         bias-pull-up;
1681                                         drive-strength = <10>;
1682                                 };
1683 
1684                                 rclk {
1685                                         pins = "sdc1_rclk";
1686                                         bias-pull-down;
1687                                 };
1688                         };
1689 
1690                         sdc1_state_off: sdc1-state-off {
1691                                 clk {
1692                                         pins = "sdc1_clk";
1693                                         bias-disable;
1694                                         drive-strength = <2>;
1695                                 };
1696 
1697                                 cmd {
1698                                         pins = "sdc1_cmd";
1699                                         bias-pull-up;
1700                                         drive-strength = <2>;
1701                                 };
1702 
1703                                 data {
1704                                         pins = "sdc1_data";
1705                                         bias-pull-up;
1706                                         drive-strength = <2>;
1707                                 };
1708 
1709                                 rclk {
1710                                         pins = "sdc1_rclk";
1711                                         bias-pull-down;
1712                                 };
1713                         };
1714 
1715                         sdc2_state_on: sdc2-clk-on {
1716                                 clk {
1717                                         pins = "sdc2_clk";
1718                                         bias-disable;
1719                                         drive-strength = <16>;
1720                                 };
1721 
1722                                 cmd {
1723                                         pins = "sdc2_cmd";
1724                                         bias-pull-up;
1725                                         drive-strength = <10>;
1726                                 };
1727 
1728                                 data {
1729                                         pins = "sdc2_data";
1730                                         bias-pull-up;
1731                                         drive-strength = <10>;
1732                                 };
1733                         };
1734 
1735                         sdc2_state_off: sdc2-clk-off {
1736                                 clk {
1737                                         pins = "sdc2_clk";
1738                                         bias-disable;
1739                                         drive-strength = <2>;
1740                                 };
1741 
1742                                 cmd {
1743                                         pins = "sdc2_cmd";
1744                                         bias-pull-up;
1745                                         drive-strength = <2>;
1746                                 };
1747 
1748                                 data {
1749                                         pins = "sdc2_data";
1750                                         bias-pull-up;
1751                                         drive-strength = <2>;
1752                                 };
1753                         };
1754                 };
1755 
1756                 sram@290000 {
1757                         compatible = "qcom,rpm-stats";
1758                         reg = <0x00290000 0x10000>;
1759                 };
1760 
1761                 spmi_bus: spmi@400f000 {
1762                         compatible = "qcom,spmi-pmic-arb";
1763                         reg = <0x0400f000 0x1000>,
1764                               <0x04400000 0x800000>,
1765                               <0x04c00000 0x800000>,
1766                               <0x05800000 0x200000>,
1767                               <0x0400a000 0x002100>;
1768                         reg-names = "core", "chnls", "obsrvr", "intr", "cnfg";
1769                         interrupt-names = "periph_irq";
1770                         interrupts = <GIC_SPI 326 IRQ_TYPE_LEVEL_HIGH>;
1771                         qcom,ee = <0>;
1772                         qcom,channel = <0>;
1773                         #address-cells = <2>;
1774                         #size-cells = <0>;
1775                         interrupt-controller;
1776                         #interrupt-cells = <4>;
1777                 };
1778 
1779                 agnoc@0 {
1780                         power-domains = <&gcc AGGRE0_NOC_GDSC>;
1781                         compatible = "simple-pm-bus";
1782                         #address-cells = <1>;
1783                         #size-cells = <1>;
1784                         ranges;
1785 
1786                         pcie0: pcie@600000 {
1787                                 compatible = "qcom,pcie-msm8996";
1788                                 status = "disabled";
1789                                 power-domains = <&gcc PCIE0_GDSC>;
1790                                 bus-range = <0x00 0xff>;
1791                                 num-lanes = <1>;
1792 
1793                                 reg = <0x00600000 0x2000>,
1794                                       <0x0c000000 0xf1d>,
1795                                       <0x0c000f20 0xa8>,
1796                                       <0x0c100000 0x100000>;
1797                                 reg-names = "parf", "dbi", "elbi","config";
1798 
1799                                 phys = <&pciephy_0>;
1800                                 phy-names = "pciephy";
1801 
1802                                 #address-cells = <3>;
1803                                 #size-cells = <2>;
1804                                 ranges = <0x01000000 0x0 0x0c200000 0x0c200000 0x0 0x100000>,
1805                                         <0x02000000 0x0 0x0c300000 0x0c300000 0x0 0xd00000>;
1806 
1807                                 device_type = "pci";
1808 
1809                                 interrupts = <GIC_SPI 405 IRQ_TYPE_LEVEL_HIGH>;
1810                                 interrupt-names = "msi";
1811                                 #interrupt-cells = <1>;
1812                                 interrupt-map-mask = <0 0 0 0x7>;
1813                                 interrupt-map = <0 0 0 1 &intc 0 244 IRQ_TYPE_LEVEL_HIGH>, /* int_a */
1814                                                 <0 0 0 2 &intc 0 245 IRQ_TYPE_LEVEL_HIGH>, /* int_b */
1815                                                 <0 0 0 3 &intc 0 247 IRQ_TYPE_LEVEL_HIGH>, /* int_c */
1816                                                 <0 0 0 4 &intc 0 248 IRQ_TYPE_LEVEL_HIGH>; /* int_d */
1817 
1818                                 pinctrl-names = "default", "sleep";
1819                                 pinctrl-0 = <&pcie0_state_on>;
1820                                 pinctrl-1 = <&pcie0_state_off>;
1821 
1822                                 linux,pci-domain = <0>;
1823 
1824                                 clocks = <&gcc GCC_PCIE_0_PIPE_CLK>,
1825                                         <&gcc GCC_PCIE_0_AUX_CLK>,
1826                                         <&gcc GCC_PCIE_0_CFG_AHB_CLK>,
1827                                         <&gcc GCC_PCIE_0_MSTR_AXI_CLK>,
1828                                         <&gcc GCC_PCIE_0_SLV_AXI_CLK>;
1829 
1830                                 clock-names = "pipe",
1831                                                 "aux",
1832                                                 "cfg",
1833                                                 "bus_master",
1834                                                 "bus_slave";
1835 
1836                         };
1837 
1838                         pcie1: pcie@608000 {
1839                                 compatible = "qcom,pcie-msm8996";
1840                                 power-domains = <&gcc PCIE1_GDSC>;
1841                                 bus-range = <0x00 0xff>;
1842                                 num-lanes = <1>;
1843 
1844                                 status = "disabled";
1845 
1846                                 reg = <0x00608000 0x2000>,
1847                                       <0x0d000000 0xf1d>,
1848                                       <0x0d000f20 0xa8>,
1849                                       <0x0d100000 0x100000>;
1850 
1851                                 reg-names = "parf", "dbi", "elbi","config";
1852 
1853                                 phys = <&pciephy_1>;
1854                                 phy-names = "pciephy";
1855 
1856                                 #address-cells = <3>;
1857                                 #size-cells = <2>;
1858                                 ranges = <0x01000000 0x0 0x0d200000 0x0d200000 0x0 0x100000>,
1859                                         <0x02000000 0x0 0x0d300000 0x0d300000 0x0 0xd00000>;
1860 
1861                                 device_type = "pci";
1862 
1863                                 interrupts = <GIC_SPI 413 IRQ_TYPE_LEVEL_HIGH>;
1864                                 interrupt-names = "msi";
1865                                 #interrupt-cells = <1>;
1866                                 interrupt-map-mask = <0 0 0 0x7>;
1867                                 interrupt-map = <0 0 0 1 &intc 0 272 IRQ_TYPE_LEVEL_HIGH>, /* int_a */
1868                                                 <0 0 0 2 &intc 0 273 IRQ_TYPE_LEVEL_HIGH>, /* int_b */
1869                                                 <0 0 0 3 &intc 0 274 IRQ_TYPE_LEVEL_HIGH>, /* int_c */
1870                                                 <0 0 0 4 &intc 0 275 IRQ_TYPE_LEVEL_HIGH>; /* int_d */
1871 
1872                                 pinctrl-names = "default", "sleep";
1873                                 pinctrl-0 = <&pcie1_state_on>;
1874                                 pinctrl-1 = <&pcie1_state_off>;
1875 
1876                                 linux,pci-domain = <1>;
1877 
1878                                 clocks = <&gcc GCC_PCIE_1_PIPE_CLK>,
1879                                         <&gcc GCC_PCIE_1_AUX_CLK>,
1880                                         <&gcc GCC_PCIE_1_CFG_AHB_CLK>,
1881                                         <&gcc GCC_PCIE_1_MSTR_AXI_CLK>,
1882                                         <&gcc GCC_PCIE_1_SLV_AXI_CLK>;
1883 
1884                                 clock-names = "pipe",
1885                                                 "aux",
1886                                                 "cfg",
1887                                                 "bus_master",
1888                                                 "bus_slave";
1889                         };
1890 
1891                         pcie2: pcie@610000 {
1892                                 compatible = "qcom,pcie-msm8996";
1893                                 power-domains = <&gcc PCIE2_GDSC>;
1894                                 bus-range = <0x00 0xff>;
1895                                 num-lanes = <1>;
1896                                 status = "disabled";
1897                                 reg = <0x00610000 0x2000>,
1898                                       <0x0e000000 0xf1d>,
1899                                       <0x0e000f20 0xa8>,
1900                                       <0x0e100000 0x100000>;
1901 
1902                                 reg-names = "parf", "dbi", "elbi","config";
1903 
1904                                 phys = <&pciephy_2>;
1905                                 phy-names = "pciephy";
1906 
1907                                 #address-cells = <3>;
1908                                 #size-cells = <2>;
1909                                 ranges = <0x01000000 0x0 0x0e200000 0x0e200000 0x0 0x100000>,
1910                                         <0x02000000 0x0 0x0e300000 0x0e300000 0x0 0x1d00000>;
1911 
1912                                 device_type = "pci";
1913 
1914                                 interrupts = <GIC_SPI 421 IRQ_TYPE_LEVEL_HIGH>;
1915                                 interrupt-names = "msi";
1916                                 #interrupt-cells = <1>;
1917                                 interrupt-map-mask = <0 0 0 0x7>;
1918                                 interrupt-map = <0 0 0 1 &intc 0 142 IRQ_TYPE_LEVEL_HIGH>, /* int_a */
1919                                                 <0 0 0 2 &intc 0 143 IRQ_TYPE_LEVEL_HIGH>, /* int_b */
1920                                                 <0 0 0 3 &intc 0 144 IRQ_TYPE_LEVEL_HIGH>, /* int_c */
1921                                                 <0 0 0 4 &intc 0 145 IRQ_TYPE_LEVEL_HIGH>; /* int_d */
1922 
1923                                 pinctrl-names = "default", "sleep";
1924                                 pinctrl-0 = <&pcie2_state_on>;
1925                                 pinctrl-1 = <&pcie2_state_off>;
1926 
1927                                 linux,pci-domain = <2>;
1928                                 clocks = <&gcc GCC_PCIE_2_PIPE_CLK>,
1929                                         <&gcc GCC_PCIE_2_AUX_CLK>,
1930                                         <&gcc GCC_PCIE_2_CFG_AHB_CLK>,
1931                                         <&gcc GCC_PCIE_2_MSTR_AXI_CLK>,
1932                                         <&gcc GCC_PCIE_2_SLV_AXI_CLK>;
1933 
1934                                 clock-names = "pipe",
1935                                                 "aux",
1936                                                 "cfg",
1937                                                 "bus_master",
1938                                                 "bus_slave";
1939                         };
1940                 };
1941 
1942                 ufshc: ufshc@624000 {
1943                         compatible = "qcom,msm8996-ufshc", "qcom,ufshc",
1944                                      "jedec,ufs-2.0";
1945                         reg = <0x00624000 0x2500>;
1946                         interrupts = <GIC_SPI 265 IRQ_TYPE_LEVEL_HIGH>;
1947 
1948                         phys = <&ufsphy_lane>;
1949                         phy-names = "ufsphy";
1950 
1951                         power-domains = <&gcc UFS_GDSC>;
1952 
1953                         clock-names =
1954                                 "core_clk_src",
1955                                 "core_clk",
1956                                 "bus_clk",
1957                                 "bus_aggr_clk",
1958                                 "iface_clk",
1959                                 "core_clk_unipro_src",
1960                                 "core_clk_unipro",
1961                                 "core_clk_ice",
1962                                 "ref_clk",
1963                                 "tx_lane0_sync_clk",
1964                                 "rx_lane0_sync_clk";
1965                         clocks =
1966                                 <&gcc UFS_AXI_CLK_SRC>,
1967                                 <&gcc GCC_UFS_AXI_CLK>,
1968                                 <&gcc GCC_SYS_NOC_UFS_AXI_CLK>,
1969                                 <&gcc GCC_AGGRE2_UFS_AXI_CLK>,
1970                                 <&gcc GCC_UFS_AHB_CLK>,
1971                                 <&gcc UFS_ICE_CORE_CLK_SRC>,
1972                                 <&gcc GCC_UFS_UNIPRO_CORE_CLK>,
1973                                 <&gcc GCC_UFS_ICE_CORE_CLK>,
1974                                 <&rpmcc RPM_SMD_LN_BB_CLK>,
1975                                 <&gcc GCC_UFS_TX_SYMBOL_0_CLK>,
1976                                 <&gcc GCC_UFS_RX_SYMBOL_0_CLK>;
1977                         freq-table-hz =
1978                                 <100000000 200000000>,
1979                                 <0 0>,
1980                                 <0 0>,
1981                                 <0 0>,
1982                                 <0 0>,
1983                                 <150000000 300000000>,
1984                                 <0 0>,
1985                                 <0 0>,
1986                                 <0 0>,
1987                                 <0 0>,
1988                                 <0 0>;
1989 
1990                         lanes-per-direction = <1>;
1991                         #reset-cells = <1>;
1992                         status = "disabled";
1993 
1994                         ufs_variant {
1995                                 compatible = "qcom,ufs_variant";
1996                         };
1997                 };
1998 
1999                 ufsphy: phy@627000 {
2000                         compatible = "qcom,msm8996-qmp-ufs-phy";
2001                         reg = <0x00627000 0x1c4>;
2002                         #address-cells = <1>;
2003                         #size-cells = <1>;
2004                         ranges;
2005 
2006                         clocks = <&gcc GCC_UFS_CLKREF_CLK>;
2007                         clock-names = "ref";
2008 
2009                         resets = <&ufshc 0>;
2010                         reset-names = "ufsphy";
2011                         status = "disabled";
2012 
2013                         ufsphy_lane: phy@627400 {
2014                                 reg = <0x627400 0x12c>,
2015                                       <0x627600 0x200>,
2016                                       <0x627c00 0x1b4>;
2017                                 #phy-cells = <0>;
2018                         };
2019                 };
2020 
2021                 camss: camss@a00000 {
2022                         compatible = "qcom,msm8996-camss";
2023                         reg = <0x00a34000 0x1000>,
2024                               <0x00a00030 0x4>,
2025                               <0x00a35000 0x1000>,
2026                               <0x00a00038 0x4>,
2027                               <0x00a36000 0x1000>,
2028                               <0x00a00040 0x4>,
2029                               <0x00a30000 0x100>,
2030                               <0x00a30400 0x100>,
2031                               <0x00a30800 0x100>,
2032                               <0x00a30c00 0x100>,
2033                               <0x00a31000 0x500>,
2034                               <0x00a00020 0x10>,
2035                               <0x00a10000 0x1000>,
2036                               <0x00a14000 0x1000>;
2037                         reg-names = "csiphy0",
2038                                 "csiphy0_clk_mux",
2039                                 "csiphy1",
2040                                 "csiphy1_clk_mux",
2041                                 "csiphy2",
2042                                 "csiphy2_clk_mux",
2043                                 "csid0",
2044                                 "csid1",
2045                                 "csid2",
2046                                 "csid3",
2047                                 "ispif",
2048                                 "csi_clk_mux",
2049                                 "vfe0",
2050                                 "vfe1";
2051                         interrupts = <GIC_SPI 78 IRQ_TYPE_EDGE_RISING>,
2052                                 <GIC_SPI 79 IRQ_TYPE_EDGE_RISING>,
2053                                 <GIC_SPI 80 IRQ_TYPE_EDGE_RISING>,
2054                                 <GIC_SPI 296 IRQ_TYPE_EDGE_RISING>,
2055                                 <GIC_SPI 297 IRQ_TYPE_EDGE_RISING>,
2056                                 <GIC_SPI 298 IRQ_TYPE_EDGE_RISING>,
2057                                 <GIC_SPI 299 IRQ_TYPE_EDGE_RISING>,
2058                                 <GIC_SPI 309 IRQ_TYPE_EDGE_RISING>,
2059                                 <GIC_SPI 314 IRQ_TYPE_EDGE_RISING>,
2060                                 <GIC_SPI 315 IRQ_TYPE_EDGE_RISING>;
2061                         interrupt-names = "csiphy0",
2062                                 "csiphy1",
2063                                 "csiphy2",
2064                                 "csid0",
2065                                 "csid1",
2066                                 "csid2",
2067                                 "csid3",
2068                                 "ispif",
2069                                 "vfe0",
2070                                 "vfe1";
2071                         power-domains = <&mmcc VFE0_GDSC>,
2072                                         <&mmcc VFE1_GDSC>;
2073                         clocks = <&mmcc CAMSS_TOP_AHB_CLK>,
2074                                 <&mmcc CAMSS_ISPIF_AHB_CLK>,
2075                                 <&mmcc CAMSS_CSI0PHYTIMER_CLK>,
2076                                 <&mmcc CAMSS_CSI1PHYTIMER_CLK>,
2077                                 <&mmcc CAMSS_CSI2PHYTIMER_CLK>,
2078                                 <&mmcc CAMSS_CSI0_AHB_CLK>,
2079                                 <&mmcc CAMSS_CSI0_CLK>,
2080                                 <&mmcc CAMSS_CSI0PHY_CLK>,
2081                                 <&mmcc CAMSS_CSI0PIX_CLK>,
2082                                 <&mmcc CAMSS_CSI0RDI_CLK>,
2083                                 <&mmcc CAMSS_CSI1_AHB_CLK>,
2084                                 <&mmcc CAMSS_CSI1_CLK>,
2085                                 <&mmcc CAMSS_CSI1PHY_CLK>,
2086                                 <&mmcc CAMSS_CSI1PIX_CLK>,
2087                                 <&mmcc CAMSS_CSI1RDI_CLK>,
2088                                 <&mmcc CAMSS_CSI2_AHB_CLK>,
2089                                 <&mmcc CAMSS_CSI2_CLK>,
2090                                 <&mmcc CAMSS_CSI2PHY_CLK>,
2091                                 <&mmcc CAMSS_CSI2PIX_CLK>,
2092                                 <&mmcc CAMSS_CSI2RDI_CLK>,
2093                                 <&mmcc CAMSS_CSI3_AHB_CLK>,
2094                                 <&mmcc CAMSS_CSI3_CLK>,
2095                                 <&mmcc CAMSS_CSI3PHY_CLK>,
2096                                 <&mmcc CAMSS_CSI3PIX_CLK>,
2097                                 <&mmcc CAMSS_CSI3RDI_CLK>,
2098                                 <&mmcc CAMSS_AHB_CLK>,
2099                                 <&mmcc CAMSS_VFE0_CLK>,
2100                                 <&mmcc CAMSS_CSI_VFE0_CLK>,
2101                                 <&mmcc CAMSS_VFE0_AHB_CLK>,
2102                                 <&mmcc CAMSS_VFE0_STREAM_CLK>,
2103                                 <&mmcc CAMSS_VFE1_CLK>,
2104                                 <&mmcc CAMSS_CSI_VFE1_CLK>,
2105                                 <&mmcc CAMSS_VFE1_AHB_CLK>,
2106                                 <&mmcc CAMSS_VFE1_STREAM_CLK>,
2107                                 <&mmcc CAMSS_VFE_AHB_CLK>,
2108                                 <&mmcc CAMSS_VFE_AXI_CLK>;
2109                         clock-names = "top_ahb",
2110                                 "ispif_ahb",
2111                                 "csiphy0_timer",
2112                                 "csiphy1_timer",
2113                                 "csiphy2_timer",
2114                                 "csi0_ahb",
2115                                 "csi0",
2116                                 "csi0_phy",
2117                                 "csi0_pix",
2118                                 "csi0_rdi",
2119                                 "csi1_ahb",
2120                                 "csi1",
2121                                 "csi1_phy",
2122                                 "csi1_pix",
2123                                 "csi1_rdi",
2124                                 "csi2_ahb",
2125                                 "csi2",
2126                                 "csi2_phy",
2127                                 "csi2_pix",
2128                                 "csi2_rdi",
2129                                 "csi3_ahb",
2130                                 "csi3",
2131                                 "csi3_phy",
2132                                 "csi3_pix",
2133                                 "csi3_rdi",
2134                                 "ahb",
2135                                 "vfe0",
2136                                 "csi_vfe0",
2137                                 "vfe0_ahb",
2138                                 "vfe0_stream",
2139                                 "vfe1",
2140                                 "csi_vfe1",
2141                                 "vfe1_ahb",
2142                                 "vfe1_stream",
2143                                 "vfe_ahb",
2144                                 "vfe_axi";
2145                         iommus = <&vfe_smmu 0>,
2146                                  <&vfe_smmu 1>,
2147                                  <&vfe_smmu 2>,
2148                                  <&vfe_smmu 3>;
2149                         status = "disabled";
2150                         ports {
2151                                 #address-cells = <1>;
2152                                 #size-cells = <0>;
2153                         };
2154                 };
2155 
2156                 cci: cci@a0c000 {
2157                         compatible = "qcom,msm8996-cci";
2158                         #address-cells = <1>;
2159                         #size-cells = <0>;
2160                         reg = <0xa0c000 0x1000>;
2161                         interrupts = <GIC_SPI 295 IRQ_TYPE_EDGE_RISING>;
2162                         power-domains = <&mmcc CAMSS_GDSC>;
2163                         clocks = <&mmcc CAMSS_TOP_AHB_CLK>,
2164                                  <&mmcc CAMSS_CCI_AHB_CLK>,
2165                                  <&mmcc CAMSS_CCI_CLK>,
2166                                  <&mmcc CAMSS_AHB_CLK>;
2167                         clock-names = "camss_top_ahb",
2168                                       "cci_ahb",
2169                                       "cci",
2170                                       "camss_ahb";
2171                         assigned-clocks = <&mmcc CAMSS_CCI_AHB_CLK>,
2172                                           <&mmcc CAMSS_CCI_CLK>;
2173                         assigned-clock-rates = <80000000>, <37500000>;
2174                         pinctrl-names = "default";
2175                         pinctrl-0 = <&cci0_default &cci1_default>;
2176                         status = "disabled";
2177 
2178                         cci_i2c0: i2c-bus@0 {
2179                                 reg = <0>;
2180                                 clock-frequency = <400000>;
2181                                 #address-cells = <1>;
2182                                 #size-cells = <0>;
2183                         };
2184 
2185                         cci_i2c1: i2c-bus@1 {
2186                                 reg = <1>;
2187                                 clock-frequency = <400000>;
2188                                 #address-cells = <1>;
2189                                 #size-cells = <0>;
2190                         };
2191                 };
2192 
2193                 adreno_smmu: iommu@b40000 {
2194                         compatible = "qcom,msm8996-smmu-v2", "qcom,adreno-smmu", "qcom,smmu-v2";
2195                         reg = <0x00b40000 0x10000>;
2196 
2197                         #global-interrupts = <1>;
2198                         interrupts = <GIC_SPI 334 IRQ_TYPE_LEVEL_HIGH>,
2199                                      <GIC_SPI 329 IRQ_TYPE_LEVEL_HIGH>,
2200                                      <GIC_SPI 330 IRQ_TYPE_LEVEL_HIGH>;
2201                         #iommu-cells = <1>;
2202 
2203                         clocks = <&mmcc GPU_AHB_CLK>,
2204                                  <&gcc GCC_MMSS_BIMC_GFX_CLK>;
2205                         clock-names = "iface", "bus";
2206 
2207                         power-domains = <&mmcc GPU_GDSC>;
2208                 };
2209 
2210                 venus: video-codec@c00000 {
2211                         compatible = "qcom,msm8996-venus";
2212                         reg = <0x00c00000 0xff000>;
2213                         interrupts = <GIC_SPI 287 IRQ_TYPE_LEVEL_HIGH>;
2214                         power-domains = <&mmcc VENUS_GDSC>;
2215                         clocks = <&mmcc VIDEO_CORE_CLK>,
2216                                  <&mmcc VIDEO_AHB_CLK>,
2217                                  <&mmcc VIDEO_AXI_CLK>,
2218                                  <&mmcc VIDEO_MAXI_CLK>;
2219                         clock-names = "core", "iface", "bus", "mbus";
2220                         interconnects = <&mnoc MASTER_VIDEO_P0 &bimc SLAVE_EBI_CH0>,
2221                                         <&bimc MASTER_AMPSS_M0 &mnoc SLAVE_VENUS_CFG>;
2222                         interconnect-names = "video-mem", "cpu-cfg";
2223                         iommus = <&venus_smmu 0x00>,
2224                                  <&venus_smmu 0x01>,
2225                                  <&venus_smmu 0x0a>,
2226                                  <&venus_smmu 0x07>,
2227                                  <&venus_smmu 0x0e>,
2228                                  <&venus_smmu 0x0f>,
2229                                  <&venus_smmu 0x08>,
2230                                  <&venus_smmu 0x09>,
2231                                  <&venus_smmu 0x0b>,
2232                                  <&venus_smmu 0x0c>,
2233                                  <&venus_smmu 0x0d>,
2234                                  <&venus_smmu 0x10>,
2235                                  <&venus_smmu 0x11>,
2236                                  <&venus_smmu 0x21>,
2237                                  <&venus_smmu 0x28>,
2238                                  <&venus_smmu 0x29>,
2239                                  <&venus_smmu 0x2b>,
2240                                  <&venus_smmu 0x2c>,
2241                                  <&venus_smmu 0x2d>,
2242                                  <&venus_smmu 0x31>;
2243                         memory-region = <&venus_mem>;
2244                         status = "disabled";
2245 
2246                         video-decoder {
2247                                 compatible = "venus-decoder";
2248                                 clocks = <&mmcc VIDEO_SUBCORE0_CLK>;
2249                                 clock-names = "core";
2250                                 power-domains = <&mmcc VENUS_CORE0_GDSC>;
2251                         };
2252 
2253                         video-encoder {
2254                                 compatible = "venus-encoder";
2255                                 clocks = <&mmcc VIDEO_SUBCORE1_CLK>;
2256                                 clock-names = "core";
2257                                 power-domains = <&mmcc VENUS_CORE1_GDSC>;
2258                         };
2259                 };
2260 
2261                 mdp_smmu: iommu@d00000 {
2262                         compatible = "qcom,msm8996-smmu-v2", "qcom,smmu-v2";
2263                         reg = <0x00d00000 0x10000>;
2264 
2265                         #global-interrupts = <1>;
2266                         interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>,
2267                                      <GIC_SPI 320 IRQ_TYPE_LEVEL_HIGH>,
2268                                      <GIC_SPI 321 IRQ_TYPE_LEVEL_HIGH>;
2269                         #iommu-cells = <1>;
2270                         clocks = <&mmcc SMMU_MDP_AHB_CLK>,
2271                                  <&mmcc SMMU_MDP_AXI_CLK>;
2272                         clock-names = "iface", "bus";
2273 
2274                         power-domains = <&mmcc MDSS_GDSC>;
2275                 };
2276 
2277                 venus_smmu: iommu@d40000 {
2278                         compatible = "qcom,msm8996-smmu-v2", "qcom,smmu-v2";
2279                         reg = <0x00d40000 0x20000>;
2280                         #global-interrupts = <1>;
2281                         interrupts = <GIC_SPI 286 IRQ_TYPE_LEVEL_HIGH>,
2282                                      <GIC_SPI 335 IRQ_TYPE_LEVEL_HIGH>,
2283                                      <GIC_SPI 336 IRQ_TYPE_LEVEL_HIGH>,
2284                                      <GIC_SPI 337 IRQ_TYPE_LEVEL_HIGH>,
2285                                      <GIC_SPI 338 IRQ_TYPE_LEVEL_HIGH>,
2286                                      <GIC_SPI 339 IRQ_TYPE_LEVEL_HIGH>,
2287                                      <GIC_SPI 340 IRQ_TYPE_LEVEL_HIGH>,
2288                                      <GIC_SPI 341 IRQ_TYPE_LEVEL_HIGH>;
2289                         power-domains = <&mmcc MMAGIC_VIDEO_GDSC>;
2290                         clocks = <&mmcc SMMU_VIDEO_AHB_CLK>,
2291                                  <&mmcc SMMU_VIDEO_AXI_CLK>;
2292                         clock-names = "iface", "bus";
2293                         #iommu-cells = <1>;
2294                         status = "okay";
2295                 };
2296 
2297                 vfe_smmu: iommu@da0000 {
2298                         compatible = "qcom,msm8996-smmu-v2", "qcom,smmu-v2";
2299                         reg = <0x00da0000 0x10000>;
2300 
2301                         #global-interrupts = <1>;
2302                         interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>,
2303                                      <GIC_SPI 343 IRQ_TYPE_LEVEL_HIGH>,
2304                                      <GIC_SPI 344 IRQ_TYPE_LEVEL_HIGH>;
2305                         power-domains = <&mmcc MMAGIC_CAMSS_GDSC>;
2306                         clocks = <&mmcc SMMU_VFE_AHB_CLK>,
2307                                  <&mmcc SMMU_VFE_AXI_CLK>;
2308                         clock-names = "iface",
2309                                       "bus";
2310                         #iommu-cells = <1>;
2311                 };
2312 
2313                 lpass_q6_smmu: iommu@1600000 {
2314                         compatible = "qcom,msm8996-smmu-v2", "qcom,smmu-v2";
2315                         reg = <0x01600000 0x20000>;
2316                         #iommu-cells = <1>;
2317                         power-domains = <&gcc HLOS1_VOTE_LPASS_CORE_GDSC>;
2318 
2319                         #global-interrupts = <1>;
2320                         interrupts = <GIC_SPI 404 IRQ_TYPE_LEVEL_HIGH>,
2321                                 <GIC_SPI 226 IRQ_TYPE_LEVEL_HIGH>,
2322                                 <GIC_SPI 393 IRQ_TYPE_LEVEL_HIGH>,
2323                                 <GIC_SPI 394 IRQ_TYPE_LEVEL_HIGH>,
2324                                 <GIC_SPI 395 IRQ_TYPE_LEVEL_HIGH>,
2325                                 <GIC_SPI 396 IRQ_TYPE_LEVEL_HIGH>,
2326                                 <GIC_SPI 397 IRQ_TYPE_LEVEL_HIGH>,
2327                                 <GIC_SPI 398 IRQ_TYPE_LEVEL_HIGH>,
2328                                 <GIC_SPI 399 IRQ_TYPE_LEVEL_HIGH>,
2329                                 <GIC_SPI 400 IRQ_TYPE_LEVEL_HIGH>,
2330                                 <GIC_SPI 401 IRQ_TYPE_LEVEL_HIGH>,
2331                                 <GIC_SPI 402 IRQ_TYPE_LEVEL_HIGH>,
2332                                 <GIC_SPI 403 IRQ_TYPE_LEVEL_HIGH>;
2333 
2334                         clocks = <&gcc GCC_HLOS1_VOTE_LPASS_CORE_SMMU_CLK>,
2335                                  <&gcc GCC_HLOS1_VOTE_LPASS_ADSP_SMMU_CLK>;
2336                         clock-names = "iface", "bus";
2337                 };
2338 
2339                 slpi_pil: remoteproc@1c00000 {
2340                         compatible = "qcom,msm8996-slpi-pil";
2341                         reg = <0x01c00000 0x4000>;
2342 
2343                         interrupts-extended = <&intc 0 390 IRQ_TYPE_EDGE_RISING>,
2344                                               <&slpi_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
2345                                               <&slpi_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
2346                                               <&slpi_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
2347                                               <&slpi_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
2348                         interrupt-names = "wdog",
2349                                           "fatal",
2350                                           "ready",
2351                                           "handover",
2352                                           "stop-ack";
2353 
2354                         clocks = <&xo_board>,
2355                                  <&rpmcc RPM_SMD_AGGR2_NOC_CLK>;
2356                         clock-names = "xo", "aggre2";
2357 
2358                         memory-region = <&slpi_mem>;
2359 
2360                         qcom,smem-states = <&slpi_smp2p_out 0>;
2361                         qcom,smem-state-names = "stop";
2362 
2363                         power-domains = <&rpmpd MSM8996_VDDSSCX>;
2364                         power-domain-names = "ssc_cx";
2365 
2366                         status = "disabled";
2367 
2368                         smd-edge {
2369                                 interrupts = <GIC_SPI 176 IRQ_TYPE_EDGE_RISING>;
2370 
2371                                 label = "dsps";
2372                                 mboxes = <&apcs_glb 25>;
2373                                 qcom,smd-edge = <3>;
2374                                 qcom,remote-pid = <3>;
2375                         };
2376                 };
2377 
2378                 mss_pil: remoteproc@2080000 {
2379                         compatible = "qcom,msm8996-mss-pil";
2380                         reg = <0x2080000 0x100>,
2381                               <0x2180000 0x020>;
2382                         reg-names = "qdsp6", "rmb";
2383 
2384                         interrupts-extended = <&intc 0 448 IRQ_TYPE_EDGE_RISING>,
2385                                               <&mpss_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
2386                                               <&mpss_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
2387                                               <&mpss_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
2388                                               <&mpss_smp2p_in 3 IRQ_TYPE_EDGE_RISING>,
2389                                               <&mpss_smp2p_in 7 IRQ_TYPE_EDGE_RISING>;
2390                         interrupt-names = "wdog", "fatal", "ready",
2391                                           "handover", "stop-ack",
2392                                           "shutdown-ack";
2393 
2394                         clocks = <&gcc GCC_MSS_CFG_AHB_CLK>,
2395                                  <&gcc GCC_MSS_Q6_BIMC_AXI_CLK>,
2396                                  <&gcc GCC_BOOT_ROM_AHB_CLK>,
2397                                  <&xo_board>,
2398                                  <&gcc GCC_MSS_GPLL0_DIV_CLK>,
2399                                  <&gcc GCC_MSS_SNOC_AXI_CLK>,
2400                                  <&gcc GCC_MSS_MNOC_BIMC_AXI_CLK>,
2401                                  <&rpmcc RPM_SMD_PCNOC_CLK>,
2402                                  <&rpmcc RPM_SMD_QDSS_CLK>;
2403                         clock-names = "iface", "bus", "mem", "xo", "gpll0_mss",
2404                                       "snoc_axi", "mnoc_axi", "pnoc", "qdss";
2405 
2406                         resets = <&gcc GCC_MSS_RESTART>;
2407                         reset-names = "mss_restart";
2408 
2409                         power-domains = <&rpmpd MSM8996_VDDCX>,
2410                                         <&rpmpd MSM8996_VDDMX>;
2411                         power-domain-names = "cx", "mx";
2412 
2413                         qcom,smem-states = <&mpss_smp2p_out 0>;
2414                         qcom,smem-state-names = "stop";
2415 
2416                         qcom,halt-regs = <&tcsr_mutex_regs 0x23000 0x25000 0x24000>;
2417 
2418                         status = "disabled";
2419 
2420                         mba {
2421                                 memory-region = <&mba_mem>;
2422                         };
2423 
2424                         mpss {
2425                                 memory-region = <&mpss_mem>;
2426                         };
2427 
2428                         smd-edge {
2429                                 interrupts = <GIC_SPI 449 IRQ_TYPE_EDGE_RISING>;
2430 
2431                                 label = "mpss";
2432                                 mboxes = <&apcs_glb 12>;
2433                                 qcom,smd-edge = <0>;
2434                                 qcom,remote-pid = <1>;
2435                         };
2436                 };
2437 
2438                 stm@3002000 {
2439                         compatible = "arm,coresight-stm", "arm,primecell";
2440                         reg = <0x3002000 0x1000>,
2441                               <0x8280000 0x180000>;
2442                         reg-names = "stm-base", "stm-stimulus-base";
2443 
2444                         clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
2445                         clock-names = "apb_pclk", "atclk";
2446 
2447                         out-ports {
2448                                 port {
2449                                         stm_out: endpoint {
2450                                                 remote-endpoint =
2451                                                   <&funnel0_in>;
2452                                         };
2453                                 };
2454                         };
2455                 };
2456 
2457                 tpiu@3020000 {
2458                         compatible = "arm,coresight-tpiu", "arm,primecell";
2459                         reg = <0x3020000 0x1000>;
2460 
2461                         clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
2462                         clock-names = "apb_pclk", "atclk";
2463 
2464                         in-ports {
2465                                 port {
2466                                         tpiu_in: endpoint {
2467                                                 remote-endpoint =
2468                                                   <&replicator_out1>;
2469                                         };
2470                                 };
2471                         };
2472                 };
2473 
2474                 funnel@3021000 {
2475                         compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
2476                         reg = <0x3021000 0x1000>;
2477 
2478                         clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
2479                         clock-names = "apb_pclk", "atclk";
2480 
2481                         in-ports {
2482                                 #address-cells = <1>;
2483                                 #size-cells = <0>;
2484 
2485                                 port@7 {
2486                                         reg = <7>;
2487                                         funnel0_in: endpoint {
2488                                                 remote-endpoint =
2489                                                   <&stm_out>;
2490                                         };
2491                                 };
2492                         };
2493 
2494                         out-ports {
2495                                 port {
2496                                         funnel0_out: endpoint {
2497                                                 remote-endpoint =
2498                                                   <&merge_funnel_in0>;
2499                                         };
2500                                 };
2501                         };
2502                 };
2503 
2504                 funnel@3022000 {
2505                         compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
2506                         reg = <0x3022000 0x1000>;
2507 
2508                         clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
2509                         clock-names = "apb_pclk", "atclk";
2510 
2511                         in-ports {
2512                                 #address-cells = <1>;
2513                                 #size-cells = <0>;
2514 
2515                                 port@6 {
2516                                         reg = <6>;
2517                                         funnel1_in: endpoint {
2518                                                 remote-endpoint =
2519                                                   <&apss_merge_funnel_out>;
2520                                         };
2521                                 };
2522                         };
2523 
2524                         out-ports {
2525                                 port {
2526                                         funnel1_out: endpoint {
2527                                                 remote-endpoint =
2528                                                   <&merge_funnel_in1>;
2529                                         };
2530                                 };
2531                         };
2532                 };
2533 
2534                 funnel@3023000 {
2535                         compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
2536                         reg = <0x3023000 0x1000>;
2537 
2538                         clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
2539                         clock-names = "apb_pclk", "atclk";
2540 
2541 
2542                         out-ports {
2543                                 port {
2544                                         funnel2_out: endpoint {
2545                                                 remote-endpoint =
2546                                                   <&merge_funnel_in2>;
2547                                         };
2548                                 };
2549                         };
2550                 };
2551 
2552                 funnel@3025000 {
2553                         compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
2554                         reg = <0x3025000 0x1000>;
2555 
2556                         clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
2557                         clock-names = "apb_pclk", "atclk";
2558 
2559                         in-ports {
2560                                 #address-cells = <1>;
2561                                 #size-cells = <0>;
2562 
2563                                 port@0 {
2564                                         reg = <0>;
2565                                         merge_funnel_in0: endpoint {
2566                                                 remote-endpoint =
2567                                                   <&funnel0_out>;
2568                                         };
2569                                 };
2570 
2571                                 port@1 {
2572                                         reg = <1>;
2573                                         merge_funnel_in1: endpoint {
2574                                                 remote-endpoint =
2575                                                   <&funnel1_out>;
2576                                         };
2577                                 };
2578 
2579                                 port@2 {
2580                                         reg = <2>;
2581                                         merge_funnel_in2: endpoint {
2582                                                 remote-endpoint =
2583                                                   <&funnel2_out>;
2584                                         };
2585                                 };
2586                         };
2587 
2588                         out-ports {
2589                                 port {
2590                                         merge_funnel_out: endpoint {
2591                                                 remote-endpoint =
2592                                                   <&etf_in>;
2593                                         };
2594                                 };
2595                         };
2596                 };
2597 
2598                 replicator@3026000 {
2599                         compatible = "arm,coresight-dynamic-replicator", "arm,primecell";
2600                         reg = <0x3026000 0x1000>;
2601 
2602                         clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
2603                         clock-names = "apb_pclk", "atclk";
2604 
2605                         in-ports {
2606                                 port {
2607                                         replicator_in: endpoint {
2608                                                 remote-endpoint =
2609                                                   <&etf_out>;
2610                                         };
2611                                 };
2612                         };
2613 
2614                         out-ports {
2615                                 #address-cells = <1>;
2616                                 #size-cells = <0>;
2617 
2618                                 port@0 {
2619                                         reg = <0>;
2620                                         replicator_out0: endpoint {
2621                                                 remote-endpoint =
2622                                                   <&etr_in>;
2623                                         };
2624                                 };
2625 
2626                                 port@1 {
2627                                         reg = <1>;
2628                                         replicator_out1: endpoint {
2629                                                 remote-endpoint =
2630                                                   <&tpiu_in>;
2631                                         };
2632                                 };
2633                         };
2634                 };
2635 
2636                 etf@3027000 {
2637                         compatible = "arm,coresight-tmc", "arm,primecell";
2638                         reg = <0x3027000 0x1000>;
2639 
2640                         clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
2641                         clock-names = "apb_pclk", "atclk";
2642 
2643                         in-ports {
2644                                 port {
2645                                         etf_in: endpoint {
2646                                                 remote-endpoint =
2647                                                   <&merge_funnel_out>;
2648                                         };
2649                                 };
2650                         };
2651 
2652                         out-ports {
2653                                 port {
2654                                         etf_out: endpoint {
2655                                                 remote-endpoint =
2656                                                   <&replicator_in>;
2657                                         };
2658                                 };
2659                         };
2660                 };
2661 
2662                 etr@3028000 {
2663                         compatible = "arm,coresight-tmc", "arm,primecell";
2664                         reg = <0x3028000 0x1000>;
2665 
2666                         clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
2667                         clock-names = "apb_pclk", "atclk";
2668                         arm,scatter-gather;
2669 
2670                         in-ports {
2671                                 port {
2672                                         etr_in: endpoint {
2673                                                 remote-endpoint =
2674                                                   <&replicator_out0>;
2675                                         };
2676                                 };
2677                         };
2678                 };
2679 
2680                 debug@3810000 {
2681                         compatible = "arm,coresight-cpu-debug", "arm,primecell";
2682                         reg = <0x3810000 0x1000>;
2683 
2684                         clocks = <&rpmcc RPM_QDSS_CLK>;
2685                         clock-names = "apb_pclk";
2686 
2687                         cpu = <&CPU0>;
2688                 };
2689 
2690                 etm@3840000 {
2691                         compatible = "arm,coresight-etm4x", "arm,primecell";
2692                         reg = <0x3840000 0x1000>;
2693 
2694                         clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
2695                         clock-names = "apb_pclk", "atclk";
2696 
2697                         cpu = <&CPU0>;
2698 
2699                         out-ports {
2700                                 port {
2701                                         etm0_out: endpoint {
2702                                                 remote-endpoint =
2703                                                   <&apss_funnel0_in0>;
2704                                         };
2705                                 };
2706                         };
2707                 };
2708 
2709                 debug@3910000 {
2710                         compatible = "arm,coresight-cpu-debug", "arm,primecell";
2711                         reg = <0x3910000 0x1000>;
2712 
2713                         clocks = <&rpmcc RPM_QDSS_CLK>;
2714                         clock-names = "apb_pclk";
2715 
2716                         cpu = <&CPU1>;
2717                 };
2718 
2719                 etm@3940000 {
2720                         compatible = "arm,coresight-etm4x", "arm,primecell";
2721                         reg = <0x3940000 0x1000>;
2722 
2723                         clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
2724                         clock-names = "apb_pclk", "atclk";
2725 
2726                         cpu = <&CPU1>;
2727 
2728                         out-ports {
2729                                 port {
2730                                         etm1_out: endpoint {
2731                                                 remote-endpoint =
2732                                                   <&apss_funnel0_in1>;
2733                                         };
2734                                 };
2735                         };
2736                 };
2737 
2738                 funnel@39b0000 { /* APSS Funnel 0 */
2739                         compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
2740                         reg = <0x39b0000 0x1000>;
2741 
2742                         clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
2743                         clock-names = "apb_pclk", "atclk";
2744 
2745                         in-ports {
2746                                 #address-cells = <1>;
2747                                 #size-cells = <0>;
2748 
2749                                 port@0 {
2750                                         reg = <0>;
2751                                         apss_funnel0_in0: endpoint {
2752                                                 remote-endpoint = <&etm0_out>;
2753                                         };
2754                                 };
2755 
2756                                 port@1 {
2757                                         reg = <1>;
2758                                         apss_funnel0_in1: endpoint {
2759                                                 remote-endpoint = <&etm1_out>;
2760                                         };
2761                                 };
2762                         };
2763 
2764                         out-ports {
2765                                 port {
2766                                         apss_funnel0_out: endpoint {
2767                                                 remote-endpoint =
2768                                                   <&apss_merge_funnel_in0>;
2769                                         };
2770                                 };
2771                         };
2772                 };
2773 
2774                 debug@3a10000 {
2775                         compatible = "arm,coresight-cpu-debug", "arm,primecell";
2776                         reg = <0x3a10000 0x1000>;
2777 
2778                         clocks = <&rpmcc RPM_QDSS_CLK>;
2779                         clock-names = "apb_pclk";
2780 
2781                         cpu = <&CPU2>;
2782                 };
2783 
2784                 etm@3a40000 {
2785                         compatible = "arm,coresight-etm4x", "arm,primecell";
2786                         reg = <0x3a40000 0x1000>;
2787 
2788                         clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
2789                         clock-names = "apb_pclk", "atclk";
2790 
2791                         cpu = <&CPU2>;
2792 
2793                         out-ports {
2794                                 port {
2795                                         etm2_out: endpoint {
2796                                                 remote-endpoint =
2797                                                   <&apss_funnel1_in0>;
2798                                         };
2799                                 };
2800                         };
2801                 };
2802 
2803                 debug@3b10000 {
2804                         compatible = "arm,coresight-cpu-debug", "arm,primecell";
2805                         reg = <0x3b10000 0x1000>;
2806 
2807                         clocks = <&rpmcc RPM_QDSS_CLK>;
2808                         clock-names = "apb_pclk";
2809 
2810                         cpu = <&CPU3>;
2811                 };
2812 
2813                 etm@3b40000 {
2814                         compatible = "arm,coresight-etm4x", "arm,primecell";
2815                         reg = <0x3b40000 0x1000>;
2816 
2817                         clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
2818                         clock-names = "apb_pclk", "atclk";
2819 
2820                         cpu = <&CPU3>;
2821 
2822                         out-ports {
2823                                 port {
2824                                         etm3_out: endpoint {
2825                                                 remote-endpoint =
2826                                                   <&apss_funnel1_in1>;
2827                                         };
2828                                 };
2829                         };
2830                 };
2831 
2832                 funnel@3bb0000 { /* APSS Funnel 1 */
2833                         compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
2834                         reg = <0x3bb0000 0x1000>;
2835 
2836                         clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
2837                         clock-names = "apb_pclk", "atclk";
2838 
2839                         in-ports {
2840                                 #address-cells = <1>;
2841                                 #size-cells = <0>;
2842 
2843                                 port@0 {
2844                                         reg = <0>;
2845                                         apss_funnel1_in0: endpoint {
2846                                                 remote-endpoint = <&etm2_out>;
2847                                         };
2848                                 };
2849 
2850                                 port@1 {
2851                                         reg = <1>;
2852                                         apss_funnel1_in1: endpoint {
2853                                                 remote-endpoint = <&etm3_out>;
2854                                         };
2855                                 };
2856                         };
2857 
2858                         out-ports {
2859                                 port {
2860                                         apss_funnel1_out: endpoint {
2861                                                 remote-endpoint =
2862                                                   <&apss_merge_funnel_in1>;
2863                                         };
2864                                 };
2865                         };
2866                 };
2867 
2868                 funnel@3bc0000 {
2869                         compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
2870                         reg = <0x3bc0000 0x1000>;
2871 
2872                         clocks = <&rpmcc RPM_QDSS_CLK>, <&rpmcc RPM_QDSS_A_CLK>;
2873                         clock-names = "apb_pclk", "atclk";
2874 
2875                         in-ports {
2876                                 #address-cells = <1>;
2877                                 #size-cells = <0>;
2878 
2879                                 port@0 {
2880                                         reg = <0>;
2881                                         apss_merge_funnel_in0: endpoint {
2882                                                 remote-endpoint =
2883                                                   <&apss_funnel0_out>;
2884                                         };
2885                                 };
2886 
2887                                 port@1 {
2888                                         reg = <1>;
2889                                         apss_merge_funnel_in1: endpoint {
2890                                                 remote-endpoint =
2891                                                   <&apss_funnel1_out>;
2892                                         };
2893                                 };
2894                         };
2895 
2896                         out-ports {
2897                                 port {
2898                                         apss_merge_funnel_out: endpoint {
2899                                                 remote-endpoint =
2900                                                   <&funnel1_in>;
2901                                         };
2902                                 };
2903                         };
2904                 };
2905 
2906                 kryocc: clock-controller@6400000 {
2907                         compatible = "qcom,msm8996-apcc";
2908                         reg = <0x06400000 0x90000>;
2909 
2910                         clock-names = "xo";
2911                         clocks = <&rpmcc RPM_SMD_BB_CLK1>;
2912 
2913                         #clock-cells = <1>;
2914                 };
2915 
2916                 usb3: usb@6af8800 {
2917                         compatible = "qcom,msm8996-dwc3", "qcom,dwc3";
2918                         reg = <0x06af8800 0x400>;
2919                         #address-cells = <1>;
2920                         #size-cells = <1>;
2921                         ranges;
2922 
2923                         interrupts = <GIC_SPI 347 IRQ_TYPE_LEVEL_HIGH>,
2924                                      <GIC_SPI 243 IRQ_TYPE_LEVEL_HIGH>;
2925                         interrupt-names = "hs_phy_irq", "ss_phy_irq";
2926 
2927                         clocks = <&gcc GCC_SYS_NOC_USB3_AXI_CLK>,
2928                                  <&gcc GCC_USB30_MASTER_CLK>,
2929                                  <&gcc GCC_AGGRE2_USB3_AXI_CLK>,
2930                                  <&gcc GCC_USB30_SLEEP_CLK>,
2931                                  <&gcc GCC_USB30_MOCK_UTMI_CLK>;
2932                         clock-names = "cfg_noc",
2933                                       "core",
2934                                       "iface",
2935                                       "sleep",
2936                                       "mock_utmi";
2937 
2938                         assigned-clocks = <&gcc GCC_USB30_MOCK_UTMI_CLK>,
2939                                           <&gcc GCC_USB30_MASTER_CLK>;
2940                         assigned-clock-rates = <19200000>, <120000000>;
2941 
2942                         interconnects = <&a2noc MASTER_USB3 &bimc SLAVE_EBI_CH0>,
2943                                         <&bimc MASTER_AMPSS_M0 &snoc SLAVE_USB3>;
2944                         interconnect-names = "usb-ddr", "apps-usb";
2945 
2946                         power-domains = <&gcc USB30_GDSC>;
2947                         status = "disabled";
2948 
2949                         usb3_dwc3: usb@6a00000 {
2950                                 compatible = "snps,dwc3";
2951                                 reg = <0x06a00000 0xcc00>;
2952                                 interrupts = <0 131 IRQ_TYPE_LEVEL_HIGH>;
2953                                 phys = <&hsusb_phy1>, <&ssusb_phy_0>;
2954                                 phy-names = "usb2-phy", "usb3-phy";
2955                                 snps,dis_u2_susphy_quirk;
2956                                 snps,dis_enblslpm_quirk;
2957                         };
2958                 };
2959 
2960                 usb3phy: phy@7410000 {
2961                         compatible = "qcom,msm8996-qmp-usb3-phy";
2962                         reg = <0x07410000 0x1c4>;
2963                         #address-cells = <1>;
2964                         #size-cells = <1>;
2965                         ranges;
2966 
2967                         clocks = <&gcc GCC_USB3_PHY_AUX_CLK>,
2968                                 <&gcc GCC_USB_PHY_CFG_AHB2PHY_CLK>,
2969                                 <&gcc GCC_USB3_CLKREF_CLK>;
2970                         clock-names = "aux", "cfg_ahb", "ref";
2971 
2972                         resets = <&gcc GCC_USB3_PHY_BCR>,
2973                                 <&gcc GCC_USB3PHY_PHY_BCR>;
2974                         reset-names = "phy", "common";
2975                         status = "disabled";
2976 
2977                         ssusb_phy_0: phy@7410200 {
2978                                 reg = <0x07410200 0x200>,
2979                                       <0x07410400 0x130>,
2980                                       <0x07410600 0x1a8>;
2981                                 #phy-cells = <0>;
2982 
2983                                 #clock-cells = <0>;
2984                                 clock-output-names = "usb3_phy_pipe_clk_src";
2985                                 clocks = <&gcc GCC_USB3_PHY_PIPE_CLK>;
2986                                 clock-names = "pipe0";
2987                         };
2988                 };
2989 
2990                 hsusb_phy1: phy@7411000 {
2991                         compatible = "qcom,msm8996-qusb2-phy";
2992                         reg = <0x07411000 0x180>;
2993                         #phy-cells = <0>;
2994 
2995                         clocks = <&gcc GCC_USB_PHY_CFG_AHB2PHY_CLK>,
2996                                 <&gcc GCC_RX1_USB2_CLKREF_CLK>;
2997                         clock-names = "cfg_ahb", "ref";
2998 
2999                         resets = <&gcc GCC_QUSB2PHY_PRIM_BCR>;
3000                         nvmem-cells = <&qusb2p_hstx_trim>;
3001                         status = "disabled";
3002                 };
3003 
3004                 hsusb_phy2: phy@7412000 {
3005                         compatible = "qcom,msm8996-qusb2-phy";
3006                         reg = <0x07412000 0x180>;
3007                         #phy-cells = <0>;
3008 
3009                         clocks = <&gcc GCC_USB_PHY_CFG_AHB2PHY_CLK>,
3010                                 <&gcc GCC_RX2_USB2_CLKREF_CLK>;
3011                         clock-names = "cfg_ahb", "ref";
3012 
3013                         resets = <&gcc GCC_QUSB2PHY_SEC_BCR>;
3014                         nvmem-cells = <&qusb2s_hstx_trim>;
3015                         status = "disabled";
3016                 };
3017 
3018                 sdhc1: mmc@7464900 {
3019                         compatible = "qcom,msm8996-sdhci", "qcom,sdhci-msm-v4";
3020                         reg = <0x07464900 0x11c>, <0x07464000 0x800>;
3021                         reg-names = "hc_mem", "core_mem";
3022 
3023                         interrupts = <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>,
3024                                         <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>;
3025                         interrupt-names = "hc_irq", "pwr_irq";
3026 
3027                         clock-names = "iface", "core", "xo";
3028                         clocks = <&gcc GCC_SDCC1_AHB_CLK>,
3029                                 <&gcc GCC_SDCC1_APPS_CLK>,
3030                                 <&rpmcc RPM_SMD_BB_CLK1>;
3031                         resets = <&gcc GCC_SDCC1_BCR>;
3032 
3033                         pinctrl-names = "default", "sleep";
3034                         pinctrl-0 = <&sdc1_state_on>;
3035                         pinctrl-1 = <&sdc1_state_off>;
3036 
3037                         bus-width = <8>;
3038                         non-removable;
3039                         status = "disabled";
3040                 };
3041 
3042                 sdhc2: mmc@74a4900 {
3043                         compatible = "qcom,msm8996-sdhci", "qcom,sdhci-msm-v4";
3044                         reg = <0x074a4900 0x314>, <0x074a4000 0x800>;
3045                         reg-names = "hc_mem", "core_mem";
3046 
3047                         interrupts = <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>,
3048                                       <GIC_SPI 221 IRQ_TYPE_LEVEL_HIGH>;
3049                         interrupt-names = "hc_irq", "pwr_irq";
3050 
3051                         clock-names = "iface", "core", "xo";
3052                         clocks = <&gcc GCC_SDCC2_AHB_CLK>,
3053                                 <&gcc GCC_SDCC2_APPS_CLK>,
3054                                 <&rpmcc RPM_SMD_BB_CLK1>;
3055                         resets = <&gcc GCC_SDCC2_BCR>;
3056 
3057                         pinctrl-names = "default", "sleep";
3058                         pinctrl-0 = <&sdc2_state_on>;
3059                         pinctrl-1 = <&sdc2_state_off>;
3060 
3061                         bus-width = <4>;
3062                         status = "disabled";
3063                  };
3064 
3065                 blsp1_dma: dma-controller@7544000 {
3066                         compatible = "qcom,bam-v1.7.0";
3067                         reg = <0x07544000 0x2b000>;
3068                         interrupts = <GIC_SPI 238 IRQ_TYPE_LEVEL_HIGH>;
3069                         clocks = <&gcc GCC_BLSP1_AHB_CLK>;
3070                         clock-names = "bam_clk";
3071                         qcom,controlled-remotely;
3072                         #dma-cells = <1>;
3073                         qcom,ee = <0>;
3074                 };
3075 
3076                 blsp1_uart2: serial@7570000 {
3077                         compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
3078                         reg = <0x07570000 0x1000>;
3079                         interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
3080                         clocks = <&gcc GCC_BLSP1_UART2_APPS_CLK>,
3081                                  <&gcc GCC_BLSP1_AHB_CLK>;
3082                         clock-names = "core", "iface";
3083                         pinctrl-names = "default", "sleep";
3084                         pinctrl-0 = <&blsp1_uart2_default>;
3085                         pinctrl-1 = <&blsp1_uart2_sleep>;
3086                         dmas = <&blsp1_dma 2>, <&blsp1_dma 3>;
3087                         dma-names = "tx", "rx";
3088                         status = "disabled";
3089                 };
3090 
3091                 blsp1_spi1: spi@7575000 {
3092                         compatible = "qcom,spi-qup-v2.2.1";
3093                         reg = <0x07575000 0x600>;
3094                         interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
3095                         clocks = <&gcc GCC_BLSP1_QUP1_SPI_APPS_CLK>,
3096                                  <&gcc GCC_BLSP1_AHB_CLK>;
3097                         clock-names = "core", "iface";
3098                         pinctrl-names = "default", "sleep";
3099                         pinctrl-0 = <&blsp1_spi1_default>;
3100                         pinctrl-1 = <&blsp1_spi1_sleep>;
3101                         dmas = <&blsp1_dma 12>, <&blsp1_dma 13>;
3102                         dma-names = "tx", "rx";
3103                         #address-cells = <1>;
3104                         #size-cells = <0>;
3105                         status = "disabled";
3106                 };
3107 
3108                 blsp1_i2c3: i2c@7577000 {
3109                         compatible = "qcom,i2c-qup-v2.2.1";
3110                         reg = <0x07577000 0x1000>;
3111                         interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
3112                         clocks = <&gcc GCC_BLSP1_QUP3_I2C_APPS_CLK>,
3113                                  <&gcc GCC_BLSP1_AHB_CLK>;
3114                         clock-names = "core", "iface";
3115                         pinctrl-names = "default", "sleep";
3116                         pinctrl-0 = <&blsp1_i2c3_default>;
3117                         pinctrl-1 = <&blsp1_i2c3_sleep>;
3118                         dmas = <&blsp1_dma 16>, <&blsp1_dma 17>;
3119                         dma-names = "tx", "rx";
3120                         #address-cells = <1>;
3121                         #size-cells = <0>;
3122                         status = "disabled";
3123                 };
3124 
3125                 blsp2_dma: dma-controller@7584000 {
3126                         compatible = "qcom,bam-v1.7.0";
3127                         reg = <0x07584000 0x2b000>;
3128                         interrupts = <GIC_SPI 239 IRQ_TYPE_LEVEL_HIGH>;
3129                         clocks = <&gcc GCC_BLSP2_AHB_CLK>;
3130                         clock-names = "bam_clk";
3131                         qcom,controlled-remotely;
3132                         #dma-cells = <1>;
3133                         qcom,ee = <0>;
3134                 };
3135 
3136                 blsp2_uart2: serial@75b0000 {
3137                         compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
3138                         reg = <0x075b0000 0x1000>;
3139                         interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
3140                         clocks = <&gcc GCC_BLSP2_UART2_APPS_CLK>,
3141                                  <&gcc GCC_BLSP2_AHB_CLK>;
3142                         clock-names = "core", "iface";
3143                         status = "disabled";
3144                 };
3145 
3146                 blsp2_uart3: serial@75b1000 {
3147                         compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
3148                         reg = <0x075b1000 0x1000>;
3149                         interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>;
3150                         clocks = <&gcc GCC_BLSP2_UART3_APPS_CLK>,
3151                                  <&gcc GCC_BLSP2_AHB_CLK>;
3152                         clock-names = "core", "iface";
3153                         status = "disabled";
3154                 };
3155 
3156                 blsp2_i2c1: i2c@75b5000 {
3157                         compatible = "qcom,i2c-qup-v2.2.1";
3158                         reg = <0x075b5000 0x1000>;
3159                         interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
3160                         clocks = <&gcc GCC_BLSP2_QUP1_I2C_APPS_CLK>,
3161                                  <&gcc GCC_BLSP2_AHB_CLK>;
3162                         clock-names = "core", "iface";
3163                         pinctrl-names = "default", "sleep";
3164                         pinctrl-0 = <&blsp2_i2c1_default>;
3165                         pinctrl-1 = <&blsp2_i2c1_sleep>;
3166                         dmas = <&blsp2_dma 12>, <&blsp2_dma 13>;
3167                         dma-names = "tx", "rx";
3168                         #address-cells = <1>;
3169                         #size-cells = <0>;
3170                         status = "disabled";
3171                 };
3172 
3173                 blsp2_i2c2: i2c@75b6000 {
3174                         compatible = "qcom,i2c-qup-v2.2.1";
3175                         reg = <0x075b6000 0x1000>;
3176                         interrupts = <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>;
3177                         clocks = <&gcc GCC_BLSP2_QUP2_I2C_APPS_CLK>,
3178                                  <&gcc GCC_BLSP2_AHB_CLK>;
3179                         clock-names = "core", "iface";
3180                         pinctrl-names = "default", "sleep";
3181                         pinctrl-0 = <&blsp2_i2c2_default>;
3182                         pinctrl-1 = <&blsp2_i2c2_sleep>;
3183                         dmas = <&blsp2_dma 14>, <&blsp2_dma 15>;
3184                         dma-names = "tx", "rx";
3185                         #address-cells = <1>;
3186                         #size-cells = <0>;
3187                         status = "disabled";
3188                 };
3189 
3190                 blsp2_i2c3: i2c@75b7000 {
3191                         compatible = "qcom,i2c-qup-v2.2.1";
3192                         reg = <0x075b7000 0x1000>;
3193                         interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
3194                         clocks = <&gcc GCC_BLSP2_QUP3_I2C_APPS_CLK>,
3195                                  <&gcc GCC_BLSP2_AHB_CLK>;
3196                         clock-names = "core", "iface";
3197                         clock-frequency = <400000>;
3198                         pinctrl-names = "default", "sleep";
3199                         pinctrl-0 = <&blsp2_i2c3_default>;
3200                         pinctrl-1 = <&blsp2_i2c3_sleep>;
3201                         dmas = <&blsp2_dma 16>, <&blsp2_dma 17>;
3202                         dma-names = "tx", "rx";
3203                         #address-cells = <1>;
3204                         #size-cells = <0>;
3205                         status = "disabled";
3206                 };
3207 
3208                 blsp2_i2c5: i2c@75b9000 {
3209                         compatible = "qcom,i2c-qup-v2.2.1";
3210                         reg = <0x75b9000 0x1000>;
3211                         interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
3212                         clocks = <&gcc GCC_BLSP2_QUP5_I2C_APPS_CLK>,
3213                                  <&gcc GCC_BLSP2_AHB_CLK>;
3214                         clock-names = "core", "iface";
3215                         pinctrl-names = "default";
3216                         pinctrl-0 = <&blsp2_i2c5_default>;
3217                         dmas = <&blsp2_dma 20>, <&blsp2_dma 21>;
3218                         dma-names = "tx", "rx";
3219                         #address-cells = <1>;
3220                         #size-cells = <0>;
3221                         status = "disabled";
3222                 };
3223 
3224                 blsp2_i2c6: i2c@75ba000 {
3225                         compatible = "qcom,i2c-qup-v2.2.1";
3226                         reg = <0x75ba000 0x1000>;
3227                         interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
3228                         clocks = <&gcc GCC_BLSP2_QUP6_I2C_APPS_CLK>,
3229                                  <&gcc GCC_BLSP2_AHB_CLK>;
3230                         clock-names = "core", "iface";
3231                         pinctrl-names = "default", "sleep";
3232                         pinctrl-0 = <&blsp2_i2c6_default>;
3233                         pinctrl-1 = <&blsp2_i2c6_sleep>;
3234                         dmas = <&blsp2_dma 22>, <&blsp2_dma 23>;
3235                         dma-names = "tx", "rx";
3236                         #address-cells = <1>;
3237                         #size-cells = <0>;
3238                         status = "disabled";
3239                 };
3240 
3241                 blsp2_spi6: spi@75ba000{
3242                         compatible = "qcom,spi-qup-v2.2.1";
3243                         reg = <0x075ba000 0x600>;
3244                         interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
3245                         clocks = <&gcc GCC_BLSP2_QUP6_SPI_APPS_CLK>,
3246                                  <&gcc GCC_BLSP2_AHB_CLK>;
3247                         clock-names = "core", "iface";
3248                         pinctrl-names = "default", "sleep";
3249                         pinctrl-0 = <&blsp2_spi6_default>;
3250                         pinctrl-1 = <&blsp2_spi6_sleep>;
3251                         dmas = <&blsp2_dma 22>, <&blsp2_dma 23>;
3252                         dma-names = "tx", "rx";
3253                         #address-cells = <1>;
3254                         #size-cells = <0>;
3255                         status = "disabled";
3256                 };
3257 
3258                 usb2: usb@76f8800 {
3259                         compatible = "qcom,msm8996-dwc3", "qcom,dwc3";
3260                         reg = <0x076f8800 0x400>;
3261                         #address-cells = <1>;
3262                         #size-cells = <1>;
3263                         ranges;
3264 
3265                         clocks = <&gcc GCC_PERIPH_NOC_USB20_AHB_CLK>,
3266                                 <&gcc GCC_USB20_MASTER_CLK>,
3267                                 <&gcc GCC_USB20_MOCK_UTMI_CLK>,
3268                                 <&gcc GCC_USB20_SLEEP_CLK>,
3269                                 <&gcc GCC_USB_PHY_CFG_AHB2PHY_CLK>;
3270                         clock-names = "cfg_noc",
3271                                       "core",
3272                                       "iface",
3273                                       "sleep",
3274                                       "mock_utmi";
3275 
3276                         assigned-clocks = <&gcc GCC_USB20_MOCK_UTMI_CLK>,
3277                                           <&gcc GCC_USB20_MASTER_CLK>;
3278                         assigned-clock-rates = <19200000>, <60000000>;
3279 
3280                         power-domains = <&gcc USB30_GDSC>;
3281                         qcom,select-utmi-as-pipe-clk;
3282                         status = "disabled";
3283 
3284                         usb2_dwc3: usb@7600000 {
3285                                 compatible = "snps,dwc3";
3286                                 reg = <0x07600000 0xcc00>;
3287                                 interrupts = <0 138 IRQ_TYPE_LEVEL_HIGH>;
3288                                 phys = <&hsusb_phy2>;
3289                                 phy-names = "usb2-phy";
3290                                 maximum-speed = "high-speed";
3291                                 snps,dis_u2_susphy_quirk;
3292                                 snps,dis_enblslpm_quirk;
3293                         };
3294                 };
3295 
3296                 slimbam: dma-controller@9184000 {
3297                         compatible = "qcom,bam-v1.7.0";
3298                         qcom,controlled-remotely;
3299                         reg = <0x09184000 0x32000>;
3300                         num-channels = <31>;
3301                         interrupts = <0 164 IRQ_TYPE_LEVEL_HIGH>;
3302                         #dma-cells = <1>;
3303                         qcom,ee = <1>;
3304                         qcom,num-ees = <2>;
3305                 };
3306 
3307                 slim_msm: slim@91c0000 {
3308                         compatible = "qcom,slim-ngd-v1.5.0";
3309                         reg = <0x091c0000 0x2C000>;
3310                         reg-names = "ctrl";
3311                         interrupts = <0 163 IRQ_TYPE_LEVEL_HIGH>;
3312                         dmas = <&slimbam 3>, <&slimbam 4>,
3313                                 <&slimbam 5>, <&slimbam 6>;
3314                         dma-names = "rx", "tx", "tx2", "rx2";
3315                         #address-cells = <1>;
3316                         #size-cells = <0>;
3317                         ngd@1 {
3318                                 reg = <1>;
3319                                 #address-cells = <1>;
3320                                 #size-cells = <1>;
3321 
3322                                 tasha_ifd: tas-ifd {
3323                                         compatible = "slim217,1a0";
3324                                         reg = <0 0>;
3325                                 };
3326 
3327                                 wcd9335: codec@1{
3328                                         pinctrl-0 = <&cdc_reset_active &wcd_intr_default>;
3329                                         pinctrl-names = "default";
3330 
3331                                         compatible = "slim217,1a0";
3332                                         reg = <1 0>;
3333 
3334                                         interrupt-parent = <&tlmm>;
3335                                         interrupts = <54 IRQ_TYPE_LEVEL_HIGH>,
3336                                                      <53 IRQ_TYPE_LEVEL_HIGH>;
3337                                         interrupt-names = "intr1", "intr2";
3338                                         interrupt-controller;
3339                                         #interrupt-cells = <1>;
3340                                         reset-gpios = <&tlmm 64 0>;
3341 
3342                                         slim-ifc-dev = <&tasha_ifd>;
3343 
3344                                         #sound-dai-cells = <1>;
3345                                 };
3346                         };
3347                 };
3348 
3349                 adsp_pil: remoteproc@9300000 {
3350                         compatible = "qcom,msm8996-adsp-pil";
3351                         reg = <0x09300000 0x80000>;
3352 
3353                         interrupts-extended = <&intc 0 162 IRQ_TYPE_EDGE_RISING>,
3354                                               <&adsp_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
3355                                               <&adsp_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
3356                                               <&adsp_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
3357                                               <&adsp_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
3358                         interrupt-names = "wdog", "fatal", "ready",
3359                                           "handover", "stop-ack";
3360 
3361                         clocks = <&rpmcc RPM_SMD_BB_CLK1>;
3362                         clock-names = "xo";
3363 
3364                         memory-region = <&adsp_mem>;
3365 
3366                         qcom,smem-states = <&adsp_smp2p_out 0>;
3367                         qcom,smem-state-names = "stop";
3368 
3369                         power-domains = <&rpmpd MSM8996_VDDCX>;
3370                         power-domain-names = "cx";
3371 
3372                         status = "disabled";
3373 
3374                         smd-edge {
3375                                 interrupts = <GIC_SPI 156 IRQ_TYPE_EDGE_RISING>;
3376 
3377                                 label = "lpass";
3378                                 mboxes = <&apcs_glb 8>;
3379                                 qcom,smd-edge = <1>;
3380                                 qcom,remote-pid = <2>;
3381                                 #address-cells = <1>;
3382                                 #size-cells = <0>;
3383                                 apr {
3384                                         power-domains = <&gcc HLOS1_VOTE_LPASS_ADSP_GDSC>;
3385                                         compatible = "qcom,apr-v2";
3386                                         qcom,smd-channels = "apr_audio_svc";
3387                                         qcom,domain = <APR_DOMAIN_ADSP>;
3388                                         #address-cells = <1>;
3389                                         #size-cells = <0>;
3390 
3391                                         q6core {
3392                                                 reg = <APR_SVC_ADSP_CORE>;
3393                                                 compatible = "qcom,q6core";
3394                                         };
3395 
3396                                         q6afe: q6afe {
3397                                                 compatible = "qcom,q6afe";
3398                                                 reg = <APR_SVC_AFE>;
3399                                                 q6afedai: dais {
3400                                                         compatible = "qcom,q6afe-dais";
3401                                                         #address-cells = <1>;
3402                                                         #size-cells = <0>;
3403                                                         #sound-dai-cells = <1>;
3404                                                         hdmi@1 {
3405                                                                 reg = <1>;
3406                                                         };
3407                                                 };
3408                                         };
3409 
3410                                         q6asm: q6asm {
3411                                                 compatible = "qcom,q6asm";
3412                                                 reg = <APR_SVC_ASM>;
3413                                                 q6asmdai: dais {
3414                                                         compatible = "qcom,q6asm-dais";
3415                                                         #address-cells = <1>;
3416                                                         #size-cells = <0>;
3417                                                         #sound-dai-cells = <1>;
3418                                                         iommus = <&lpass_q6_smmu 1>;
3419                                                 };
3420                                         };
3421 
3422                                         q6adm: q6adm {
3423                                                 compatible = "qcom,q6adm";
3424                                                 reg = <APR_SVC_ADM>;
3425                                                 q6routing: routing {
3426                                                         compatible = "qcom,q6adm-routing";
3427                                                         #sound-dai-cells = <0>;
3428                                                 };
3429                                         };
3430                                 };
3431 
3432                         };
3433                 };
3434 
3435                 apcs_glb: mailbox@9820000 {
3436                         compatible = "qcom,msm8996-apcs-hmss-global";
3437                         reg = <0x09820000 0x1000>;
3438 
3439                         #mbox-cells = <1>;
3440                 };
3441 
3442                 timer@9840000 {
3443                         #address-cells = <1>;
3444                         #size-cells = <1>;
3445                         ranges;
3446                         compatible = "arm,armv7-timer-mem";
3447                         reg = <0x09840000 0x1000>;
3448                         clock-frequency = <19200000>;
3449 
3450                         frame@9850000 {
3451                                 frame-number = <0>;
3452                                 interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>,
3453                                              <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
3454                                 reg = <0x09850000 0x1000>,
3455                                       <0x09860000 0x1000>;
3456                         };
3457 
3458                         frame@9870000 {
3459                                 frame-number = <1>;
3460                                 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
3461                                 reg = <0x09870000 0x1000>;
3462                                 status = "disabled";
3463                         };
3464 
3465                         frame@9880000 {
3466                                 frame-number = <2>;
3467                                 interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
3468                                 reg = <0x09880000 0x1000>;
3469                                 status = "disabled";
3470                         };
3471 
3472                         frame@9890000 {
3473                                 frame-number = <3>;
3474                                 interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
3475                                 reg = <0x09890000 0x1000>;
3476                                 status = "disabled";
3477                         };
3478 
3479                         frame@98a0000 {
3480                                 frame-number = <4>;
3481                                 interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
3482                                 reg = <0x098a0000 0x1000>;
3483                                 status = "disabled";
3484                         };
3485 
3486                         frame@98b0000 {
3487                                 frame-number = <5>;
3488                                 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
3489                                 reg = <0x098b0000 0x1000>;
3490                                 status = "disabled";
3491                         };
3492 
3493                         frame@98c0000 {
3494                                 frame-number = <6>;
3495                                 interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
3496                                 reg = <0x098c0000 0x1000>;
3497                                 status = "disabled";
3498                         };
3499                 };
3500 
3501                 saw3: syscon@9a10000 {
3502                         compatible = "syscon";
3503                         reg = <0x09a10000 0x1000>;
3504                 };
3505 
3506                 intc: interrupt-controller@9bc0000 {
3507                         compatible = "qcom,msm8996-gic-v3", "arm,gic-v3";
3508                         #interrupt-cells = <3>;
3509                         interrupt-controller;
3510                         #redistributor-regions = <1>;
3511                         redistributor-stride = <0x0 0x40000>;
3512                         reg = <0x09bc0000 0x10000>,
3513                               <0x09c00000 0x100000>;
3514                         interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
3515                 };
3516         };
3517 
3518         sound: sound {
3519         };
3520 
3521         thermal-zones {
3522                 cpu0-thermal {
3523                         polling-delay-passive = <250>;
3524                         polling-delay = <1000>;
3525 
3526                         thermal-sensors = <&tsens0 3>;
3527 
3528                         trips {
3529                                 cpu0_alert0: trip-point0 {
3530                                         temperature = <75000>;
3531                                         hysteresis = <2000>;
3532                                         type = "passive";
3533                                 };
3534 
3535                                 cpu0_crit: cpu_crit {
3536                                         temperature = <110000>;
3537                                         hysteresis = <2000>;
3538                                         type = "critical";
3539                                 };
3540                         };
3541                 };
3542 
3543                 cpu1-thermal {
3544                         polling-delay-passive = <250>;
3545                         polling-delay = <1000>;
3546 
3547                         thermal-sensors = <&tsens0 5>;
3548 
3549                         trips {
3550                                 cpu1_alert0: trip-point0 {
3551                                         temperature = <75000>;
3552                                         hysteresis = <2000>;
3553                                         type = "passive";
3554                                 };
3555 
3556                                 cpu1_crit: cpu_crit {
3557                                         temperature = <110000>;
3558                                         hysteresis = <2000>;
3559                                         type = "critical";
3560                                 };
3561                         };
3562                 };
3563 
3564                 cpu2-thermal {
3565                         polling-delay-passive = <250>;
3566                         polling-delay = <1000>;
3567 
3568                         thermal-sensors = <&tsens0 8>;
3569 
3570                         trips {
3571                                 cpu2_alert0: trip-point0 {
3572                                         temperature = <75000>;
3573                                         hysteresis = <2000>;
3574                                         type = "passive";
3575                                 };
3576 
3577                                 cpu2_crit: cpu_crit {
3578                                         temperature = <110000>;
3579                                         hysteresis = <2000>;
3580                                         type = "critical";
3581                                 };
3582                         };
3583                 };
3584 
3585                 cpu3-thermal {
3586                         polling-delay-passive = <250>;
3587                         polling-delay = <1000>;
3588 
3589                         thermal-sensors = <&tsens0 10>;
3590 
3591                         trips {
3592                                 cpu3_alert0: trip-point0 {
3593                                         temperature = <75000>;
3594                                         hysteresis = <2000>;
3595                                         type = "passive";
3596                                 };
3597 
3598                                 cpu3_crit: cpu_crit {
3599                                         temperature = <110000>;
3600                                         hysteresis = <2000>;
3601                                         type = "critical";
3602                                 };
3603                         };
3604                 };
3605 
3606                 gpu-top-thermal {
3607                         polling-delay-passive = <250>;
3608                         polling-delay = <1000>;
3609 
3610                         thermal-sensors = <&tsens1 6>;
3611 
3612                         trips {
3613                                 gpu1_alert0: trip-point0 {
3614                                         temperature = <90000>;
3615                                         hysteresis = <2000>;
3616                                         type = "passive";
3617                                 };
3618                         };
3619 
3620                         cooling-maps {
3621                                 map0 {
3622                                         trip = <&gpu1_alert0>;
3623                                         cooling-device = <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
3624                                 };
3625                         };
3626                 };
3627 
3628                 gpu-bottom-thermal {
3629                         polling-delay-passive = <250>;
3630                         polling-delay = <1000>;
3631 
3632                         thermal-sensors = <&tsens1 7>;
3633 
3634                         trips {
3635                                 gpu2_alert0: trip-point0 {
3636                                         temperature = <90000>;
3637                                         hysteresis = <2000>;
3638                                         type = "passive";
3639                                 };
3640                         };
3641 
3642                         cooling-maps {
3643                                 map0 {
3644                                         trip = <&gpu2_alert0>;
3645                                         cooling-device = <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
3646                                 };
3647                         };
3648                 };
3649 
3650                 m4m-thermal {
3651                         polling-delay-passive = <250>;
3652                         polling-delay = <1000>;
3653 
3654                         thermal-sensors = <&tsens0 1>;
3655 
3656                         trips {
3657                                 m4m_alert0: trip-point0 {
3658                                         temperature = <90000>;
3659                                         hysteresis = <2000>;
3660                                         type = "hot";
3661                                 };
3662                         };
3663                 };
3664 
3665                 l3-or-venus-thermal {
3666                         polling-delay-passive = <250>;
3667                         polling-delay = <1000>;
3668 
3669                         thermal-sensors = <&tsens0 2>;
3670 
3671                         trips {
3672                                 l3_or_venus_alert0: trip-point0 {
3673                                         temperature = <90000>;
3674                                         hysteresis = <2000>;
3675                                         type = "hot";
3676                                 };
3677                         };
3678                 };
3679 
3680                 cluster0-l2-thermal {
3681                         polling-delay-passive = <250>;
3682                         polling-delay = <1000>;
3683 
3684                         thermal-sensors = <&tsens0 7>;
3685 
3686                         trips {
3687                                 cluster0_l2_alert0: trip-point0 {
3688                                         temperature = <90000>;
3689                                         hysteresis = <2000>;
3690                                         type = "hot";
3691                                 };
3692                         };
3693                 };
3694 
3695                 cluster1-l2-thermal {
3696                         polling-delay-passive = <250>;
3697                         polling-delay = <1000>;
3698 
3699                         thermal-sensors = <&tsens0 12>;
3700 
3701                         trips {
3702                                 cluster1_l2_alert0: trip-point0 {
3703                                         temperature = <90000>;
3704                                         hysteresis = <2000>;
3705                                         type = "hot";
3706                                 };
3707                         };
3708                 };
3709 
3710                 camera-thermal {
3711                         polling-delay-passive = <250>;
3712                         polling-delay = <1000>;
3713 
3714                         thermal-sensors = <&tsens1 1>;
3715 
3716                         trips {
3717                                 camera_alert0: trip-point0 {
3718                                         temperature = <90000>;
3719                                         hysteresis = <2000>;
3720                                         type = "hot";
3721                                 };
3722                         };
3723                 };
3724 
3725                 q6-dsp-thermal {
3726                         polling-delay-passive = <250>;
3727                         polling-delay = <1000>;
3728 
3729                         thermal-sensors = <&tsens1 2>;
3730 
3731                         trips {
3732                                 q6_dsp_alert0: trip-point0 {
3733                                         temperature = <90000>;
3734                                         hysteresis = <2000>;
3735                                         type = "hot";
3736                                 };
3737                         };
3738                 };
3739 
3740                 mem-thermal {
3741                         polling-delay-passive = <250>;
3742                         polling-delay = <1000>;
3743 
3744                         thermal-sensors = <&tsens1 3>;
3745 
3746                         trips {
3747                                 mem_alert0: trip-point0 {
3748                                         temperature = <90000>;
3749                                         hysteresis = <2000>;
3750                                         type = "hot";
3751                                 };
3752                         };
3753                 };
3754 
3755                 modemtx-thermal {
3756                         polling-delay-passive = <250>;
3757                         polling-delay = <1000>;
3758 
3759                         thermal-sensors = <&tsens1 4>;
3760 
3761                         trips {
3762                                 modemtx_alert0: trip-point0 {
3763                                         temperature = <90000>;
3764                                         hysteresis = <2000>;
3765                                         type = "hot";
3766                                 };
3767                         };
3768                 };
3769         };
3770 
3771         timer {
3772                 compatible = "arm,armv8-timer";
3773                 interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW>,
3774                              <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW>,
3775                              <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>,
3776                              <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>;
3777         };
3778 };