Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Linux/arch/arm64/boot/dts/qcom/   (Open Source Betriebssystem Version 6.17.9©)  Datei vom 24.10.2025 mit Größe 155 kB image not shown  

Quelle  sm8450.dtsi   Sprache: unbekannt

 
Spracherkennung für: .dtsi vermutete Sprache: Unknown {[0] [0] [0]} [Methode: Schwerpunktbildung, einfache Gewichte, sechs Dimensionen]

// SPDX-License-Identifier: BSD-3-Clause
/*
 * Copyright (c) 2021, Linaro Limited
 */

#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/clock/qcom,dsi-phy-28nm.h>
#include <dt-bindings/clock/qcom,gcc-sm8450.h>
#include <dt-bindings/clock/qcom,rpmh.h>
#include <dt-bindings/clock/qcom,sm8450-camcc.h>
#include <dt-bindings/clock/qcom,sm8450-dispcc.h>
#include <dt-bindings/clock/qcom,sm8450-gpucc.h>
#include <dt-bindings/clock/qcom,sm8450-videocc.h>
#include <dt-bindings/dma/qcom-gpi.h>
#include <dt-bindings/firmware/qcom,scm.h>
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/mailbox/qcom-ipcc.h>
#include <dt-bindings/phy/phy-qcom-qmp.h>
#include <dt-bindings/power/qcom,rpmhpd.h>
#include <dt-bindings/power/qcom-rpmpd.h>
#include <dt-bindings/interconnect/qcom,icc.h>
#include <dt-bindings/interconnect/qcom,sm8450.h>
#include <dt-bindings/reset/qcom,sm8450-gpucc.h>
#include <dt-bindings/soc/qcom,gpr.h>
#include <dt-bindings/soc/qcom,rpmh-rsc.h>
#include <dt-bindings/sound/qcom,q6dsp-lpass-ports.h>
#include <dt-bindings/thermal/thermal.h>

/ {
 interrupt-parent = <&intc>;

 #address-cells = <2>;
 #size-cells = <2>;

 chosen { };

 clocks {
  xo_board: xo-board {
   compatible = "fixed-clock";
   #clock-cells = <0>;
   clock-frequency = <76800000>;
  };

  sleep_clk: sleep-clk {
   compatible = "fixed-clock";
   #clock-cells = <0>;
   clock-frequency = <32764>;
  };
 };

 cpus {
  #address-cells = <2>;
  #size-cells = <0>;

  cpu0: cpu@0 {
   device_type = "cpu";
   compatible = "qcom,kryo780";
   reg = <0x0 0x0>;
   enable-method = "psci";
   next-level-cache = <&l2_0>;
   power-domains = <&cpu_pd0>;
   power-domain-names = "psci";
   qcom,freq-domain = <&cpufreq_hw 0>;
   #cooling-cells = <2>;
   clocks = <&cpufreq_hw 0>;
   l2_0: l2-cache {
    compatible = "cache";
    cache-level = <2>;
    cache-unified;
    next-level-cache = <&l3_0>;
    l3_0: l3-cache {
     compatible = "cache";
     cache-level = <3>;
     cache-unified;
    };
   };
  };

  cpu1: cpu@100 {
   device_type = "cpu";
   compatible = "qcom,kryo780";
   reg = <0x0 0x100>;
   enable-method = "psci";
   next-level-cache = <&l2_100>;
   power-domains = <&cpu_pd1>;
   power-domain-names = "psci";
   qcom,freq-domain = <&cpufreq_hw 0>;
   #cooling-cells = <2>;
   clocks = <&cpufreq_hw 0>;
   l2_100: l2-cache {
    compatible = "cache";
    cache-level = <2>;
    cache-unified;
    next-level-cache = <&l3_0>;
   };
  };

  cpu2: cpu@200 {
   device_type = "cpu";
   compatible = "qcom,kryo780";
   reg = <0x0 0x200>;
   enable-method = "psci";
   next-level-cache = <&l2_200>;
   power-domains = <&cpu_pd2>;
   power-domain-names = "psci";
   qcom,freq-domain = <&cpufreq_hw 0>;
   #cooling-cells = <2>;
   clocks = <&cpufreq_hw 0>;
   l2_200: l2-cache {
    compatible = "cache";
    cache-level = <2>;
    cache-unified;
    next-level-cache = <&l3_0>;
   };
  };

  cpu3: cpu@300 {
   device_type = "cpu";
   compatible = "qcom,kryo780";
   reg = <0x0 0x300>;
   enable-method = "psci";
   next-level-cache = <&l2_300>;
   power-domains = <&cpu_pd3>;
   power-domain-names = "psci";
   qcom,freq-domain = <&cpufreq_hw 0>;
   #cooling-cells = <2>;
   clocks = <&cpufreq_hw 0>;
   l2_300: l2-cache {
    compatible = "cache";
    cache-level = <2>;
    cache-unified;
    next-level-cache = <&l3_0>;
   };
  };

  cpu4: cpu@400 {
   device_type = "cpu";
   compatible = "qcom,kryo780";
   reg = <0x0 0x400>;
   enable-method = "psci";
   next-level-cache = <&l2_400>;
   power-domains = <&cpu_pd4>;
   power-domain-names = "psci";
   qcom,freq-domain = <&cpufreq_hw 1>;
   #cooling-cells = <2>;
   clocks = <&cpufreq_hw 1>;
   l2_400: l2-cache {
    compatible = "cache";
    cache-level = <2>;
    cache-unified;
    next-level-cache = <&l3_0>;
   };
  };

  cpu5: cpu@500 {
   device_type = "cpu";
   compatible = "qcom,kryo780";
   reg = <0x0 0x500>;
   enable-method = "psci";
   next-level-cache = <&l2_500>;
   power-domains = <&cpu_pd5>;
   power-domain-names = "psci";
   qcom,freq-domain = <&cpufreq_hw 1>;
   #cooling-cells = <2>;
   clocks = <&cpufreq_hw 1>;
   l2_500: l2-cache {
    compatible = "cache";
    cache-level = <2>;
    cache-unified;
    next-level-cache = <&l3_0>;
   };
  };

  cpu6: cpu@600 {
   device_type = "cpu";
   compatible = "qcom,kryo780";
   reg = <0x0 0x600>;
   enable-method = "psci";
   next-level-cache = <&l2_600>;
   power-domains = <&cpu_pd6>;
   power-domain-names = "psci";
   qcom,freq-domain = <&cpufreq_hw 1>;
   #cooling-cells = <2>;
   clocks = <&cpufreq_hw 1>;
   l2_600: l2-cache {
    compatible = "cache";
    cache-level = <2>;
    cache-unified;
    next-level-cache = <&l3_0>;
   };
  };

  cpu7: cpu@700 {
   device_type = "cpu";
   compatible = "qcom,kryo780";
   reg = <0x0 0x700>;
   enable-method = "psci";
   next-level-cache = <&l2_700>;
   power-domains = <&cpu_pd7>;
   power-domain-names = "psci";
   qcom,freq-domain = <&cpufreq_hw 2>;
   #cooling-cells = <2>;
   clocks = <&cpufreq_hw 2>;
   l2_700: l2-cache {
    compatible = "cache";
    cache-level = <2>;
    cache-unified;
    next-level-cache = <&l3_0>;
   };
  };

  cpu-map {
   cluster0 {
    core0 {
     cpu = <&cpu0>;
    };

    core1 {
     cpu = <&cpu1>;
    };

    core2 {
     cpu = <&cpu2>;
    };

    core3 {
     cpu = <&cpu3>;
    };

    core4 {
     cpu = <&cpu4>;
    };

    core5 {
     cpu = <&cpu5>;
    };

    core6 {
     cpu = <&cpu6>;
    };

    core7 {
     cpu = <&cpu7>;
    };
   };
  };

  idle-states {
   entry-method = "psci";

   little_cpu_sleep_0: cpu-sleep-0-0 {
    compatible = "arm,idle-state";
    idle-state-name = "silver-rail-power-collapse";
    arm,psci-suspend-param = <0x40000004>;
    entry-latency-us = <800>;
    exit-latency-us = <750>;
    min-residency-us = <4090>;
    local-timer-stop;
   };

   big_cpu_sleep_0: cpu-sleep-1-0 {
    compatible = "arm,idle-state";
    idle-state-name = "gold-rail-power-collapse";
    arm,psci-suspend-param = <0x40000004>;
    entry-latency-us = <600>;
    exit-latency-us = <1550>;
    min-residency-us = <4791>;
    local-timer-stop;
   };
  };

  domain-idle-states {
   cluster_sleep_0: cluster-sleep-0 {
    compatible = "domain-idle-state";
    arm,psci-suspend-param = <0x41000044>;
    entry-latency-us = <1050>;
    exit-latency-us = <2500>;
    min-residency-us = <5309>;
   };

   cluster_sleep_1: cluster-sleep-1 {
    compatible = "domain-idle-state";
    arm,psci-suspend-param = <0x4100c344>;
    entry-latency-us = <2700>;
    exit-latency-us = <3500>;
    min-residency-us = <13959>;
   };
  };
 };

 ete-0 {
  compatible = "arm,embedded-trace-extension";
  cpu = <&cpu0>;

  out-ports {
   port {
    ete0_out_funnel_ete: endpoint {
     remote-endpoint = <&funnel_ete_in_ete0>;
    };
   };
  };
 };

 ete-1 {
  compatible = "arm,embedded-trace-extension";
  cpu = <&cpu1>;

  out-ports {
   port {
    ete1_out_funnel_ete: endpoint {
     remote-endpoint = <&funnel_ete_in_ete1>;
    };
   };
  };
 };

 ete-2 {
  compatible = "arm,embedded-trace-extension";
  cpu = <&cpu2>;

  out-ports {
   port {
    ete2_out_funnel_ete: endpoint {
     remote-endpoint = <&funnel_ete_in_ete2>;
    };
   };
  };
 };

 ete-3 {
  compatible = "arm,embedded-trace-extension";
  cpu = <&cpu3>;

  out-ports {
   port {
    ete3_out_funnel_ete: endpoint {
     remote-endpoint = <&funnel_ete_in_ete3>;
    };
   };
  };
 };

 ete-4 {
  compatible = "arm,embedded-trace-extension";
  cpu = <&cpu4>;

  out-ports {
   port {
    ete4_out_funnel_ete: endpoint {
     remote-endpoint = <&funnel_ete_in_ete4>;
    };
   };
  };
 };

 ete-5 {
  compatible = "arm,embedded-trace-extension";
  cpu = <&cpu5>;

  out-ports {
   port {
    ete5_out_funnel_ete: endpoint {
     remote-endpoint = <&funnel_ete_in_ete5>;
    };
   };
  };
 };

 ete-6 {
  compatible = "arm,embedded-trace-extension";
  cpu = <&cpu6>;

  out-ports {
   port {
    ete6_out_funnel_ete: endpoint {
     remote-endpoint = <&funnel_ete_in_ete6>;
    };
   };
  };
 };

 ete-7 {
  compatible = "arm,embedded-trace-extension";
  cpu = <&cpu7>;

  out-ports {
   port {
    ete7_out_funnel_ete: endpoint {
     remote-endpoint = <&funnel_ete_in_ete7>;
    };
   };
  };
 };

 funnel-ete {
  compatible = "arm,coresight-static-funnel";

  out-ports {
   port {
    funnel_ete_out_funnel_apss: endpoint {
     remote-endpoint =
      <&funnel_apss_in_funnel_ete>;
    };
   };
  };

  in-ports {
   #address-cells = <1>;
   #size-cells = <0>;

   port@0 {
    reg = <0>;
    funnel_ete_in_ete0: endpoint {
     remote-endpoint =
      <&ete0_out_funnel_ete>;
    };
   };

   port@1 {
    reg = <1>;
    funnel_ete_in_ete1: endpoint {
     remote-endpoint =
      <&ete1_out_funnel_ete>;
    };
   };

   port@2 {
    reg = <2>;
    funnel_ete_in_ete2: endpoint {
     remote-endpoint =
      <&ete2_out_funnel_ete>;
    };
   };

   port@3 {
    reg = <3>;
    funnel_ete_in_ete3: endpoint {
     remote-endpoint =
      <&ete3_out_funnel_ete>;
    };
   };

   port@4 {
    reg = <4>;
    funnel_ete_in_ete4: endpoint {
     remote-endpoint =
      <&ete4_out_funnel_ete>;
    };
   };

   port@5 {
    reg = <5>;
    funnel_ete_in_ete5: endpoint {
     remote-endpoint =
      <&ete5_out_funnel_ete>;
    };
   };

   port@6 {
    reg = <6>;
    funnel_ete_in_ete6: endpoint {
     remote-endpoint =
      <&ete6_out_funnel_ete>;
    };
   };

   port@7 {
    reg = <7>;
    funnel_ete_in_ete7: endpoint {
     remote-endpoint =
      <&ete7_out_funnel_ete>;
    };
   };
  };
 };

 firmware {
  scm: scm {
   compatible = "qcom,scm-sm8450", "qcom,scm";
   qcom,dload-mode = <&tcsr 0x13000>;
   interconnects = <&aggre2_noc MASTER_CRYPTO 0 &mc_virt SLAVE_EBI1 0>;
   #reset-cells = <1>;
  };
 };

 clk_virt: interconnect-0 {
  compatible = "qcom,sm8450-clk-virt";
  #interconnect-cells = <2>;
  qcom,bcm-voters = <&apps_bcm_voter>;
 };

 mc_virt: interconnect-1 {
  compatible = "qcom,sm8450-mc-virt";
  #interconnect-cells = <2>;
  qcom,bcm-voters = <&apps_bcm_voter>;
 };

 memory@a0000000 {
  device_type = "memory";
  /* We expect the bootloader to fill in the size */
  reg = <0x0 0xa0000000 0x0 0x0>;
 };

 pmu {
  compatible = "arm,armv8-pmuv3";
  interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH>;
 };

 psci {
  compatible = "arm,psci-1.0";
  method = "smc";

  cpu_pd0: power-domain-cpu0 {
   #power-domain-cells = <0>;
   power-domains = <&cluster_pd>;
   domain-idle-states = <&little_cpu_sleep_0>;
  };

  cpu_pd1: power-domain-cpu1 {
   #power-domain-cells = <0>;
   power-domains = <&cluster_pd>;
   domain-idle-states = <&little_cpu_sleep_0>;
  };

  cpu_pd2: power-domain-cpu2 {
   #power-domain-cells = <0>;
   power-domains = <&cluster_pd>;
   domain-idle-states = <&little_cpu_sleep_0>;
  };

  cpu_pd3: power-domain-cpu3 {
   #power-domain-cells = <0>;
   power-domains = <&cluster_pd>;
   domain-idle-states = <&little_cpu_sleep_0>;
  };

  cpu_pd4: power-domain-cpu4 {
   #power-domain-cells = <0>;
   power-domains = <&cluster_pd>;
   domain-idle-states = <&big_cpu_sleep_0>;
  };

  cpu_pd5: power-domain-cpu5 {
   #power-domain-cells = <0>;
   power-domains = <&cluster_pd>;
   domain-idle-states = <&big_cpu_sleep_0>;
  };

  cpu_pd6: power-domain-cpu6 {
   #power-domain-cells = <0>;
   power-domains = <&cluster_pd>;
   domain-idle-states = <&big_cpu_sleep_0>;
  };

  cpu_pd7: power-domain-cpu7 {
   #power-domain-cells = <0>;
   power-domains = <&cluster_pd>;
   domain-idle-states = <&big_cpu_sleep_0>;
  };

  cluster_pd: power-domain-cpu-cluster0 {
   #power-domain-cells = <0>;
   domain-idle-states = <&cluster_sleep_0>, <&cluster_sleep_1>;
  };
 };

 qup_opp_table_100mhz: opp-table-qup {
  compatible = "operating-points-v2";

  opp-50000000 {
   opp-hz = /bits/ 64 <50000000>;
   required-opps = <&rpmhpd_opp_min_svs>;
  };

  opp-75000000 {
   opp-hz = /bits/ 64 <75000000>;
   required-opps = <&rpmhpd_opp_low_svs>;
  };

  opp-100000000 {
   opp-hz = /bits/ 64 <100000000>;
   required-opps = <&rpmhpd_opp_svs>;
  };
 };

 reserved_memory: reserved-memory {
  #address-cells = <2>;
  #size-cells = <2>;
  ranges;

  hyp_mem: memory@80000000 {
   reg = <0x0 0x80000000 0x0 0x600000>;
   no-map;
  };

  xbl_dt_log_mem: memory@80600000 {
   reg = <0x0 0x80600000 0x0 0x40000>;
   no-map;
  };

  xbl_ramdump_mem: memory@80640000 {
   reg = <0x0 0x80640000 0x0 0x180000>;
   no-map;
  };

  xbl_sc_mem: memory@807c0000 {
   reg = <0x0 0x807c0000 0x0 0x40000>;
   no-map;
  };

  aop_image_mem: memory@80800000 {
   reg = <0x0 0x80800000 0x0 0x60000>;
   no-map;
  };

  aop_cmd_db_mem: memory@80860000 {
   compatible = "qcom,cmd-db";
   reg = <0x0 0x80860000 0x0 0x20000>;
   no-map;
  };

  aop_config_mem: memory@80880000 {
   reg = <0x0 0x80880000 0x0 0x20000>;
   no-map;
  };

  tme_crash_dump_mem: memory@808a0000 {
   reg = <0x0 0x808a0000 0x0 0x40000>;
   no-map;
  };

  tme_log_mem: memory@808e0000 {
   reg = <0x0 0x808e0000 0x0 0x4000>;
   no-map;
  };

  uefi_log_mem: memory@808e4000 {
   reg = <0x0 0x808e4000 0x0 0x10000>;
   no-map;
  };

  /* secdata region can be reused by apps */
  smem: memory@80900000 {
   compatible = "qcom,smem";
   reg = <0x0 0x80900000 0x0 0x200000>;
   hwlocks = <&tcsr_mutex 3>;
   no-map;
  };

  cpucp_fw_mem: memory@80b00000 {
   reg = <0x0 0x80b00000 0x0 0x100000>;
   no-map;
  };

  cdsp_secure_heap: memory@80c00000 {
   reg = <0x0 0x80c00000 0x0 0x4600000>;
   no-map;
  };

  video_mem: memory@85700000 {
   reg = <0x0 0x85700000 0x0 0x700000>;
   no-map;
  };

  adsp_mem: memory@85e00000 {
   reg = <0x0 0x85e00000 0x0 0x2100000>;
   no-map;
  };

  slpi_mem: memory@88000000 {
   reg = <0x0 0x88000000 0x0 0x1900000>;
   no-map;
  };

  cdsp_mem: memory@89900000 {
   reg = <0x0 0x89900000 0x0 0x2000000>;
   no-map;
  };

  ipa_fw_mem: memory@8b900000 {
   reg = <0x0 0x8b900000 0x0 0x10000>;
   no-map;
  };

  ipa_gsi_mem: memory@8b910000 {
   reg = <0x0 0x8b910000 0x0 0xa000>;
   no-map;
  };

  gpu_micro_code_mem: memory@8b91a000 {
   reg = <0x0 0x8b91a000 0x0 0x2000>;
   no-map;
  };

  spss_region_mem: memory@8ba00000 {
   reg = <0x0 0x8ba00000 0x0 0x180000>;
   no-map;
  };

  /* First part of the "SPU secure shared memory" region */
  spu_tz_shared_mem: memory@8bb80000 {
   reg = <0x0 0x8bb80000 0x0 0x60000>;
   no-map;
  };

  /* Second part of the "SPU secure shared memory" region */
  spu_modem_shared_mem: memory@8bbe0000 {
   reg = <0x0 0x8bbe0000 0x0 0x20000>;
   no-map;
  };

  mpss_mem: memory@8bc00000 {
   reg = <0x0 0x8bc00000 0x0 0x13200000>;
   no-map;
  };

  cvp_mem: memory@9ee00000 {
   reg = <0x0 0x9ee00000 0x0 0x700000>;
   no-map;
  };

  camera_mem: memory@9f500000 {
   reg = <0x0 0x9f500000 0x0 0x800000>;
   no-map;
  };

  rmtfs_mem: memory@9fd00000 {
   compatible = "qcom,rmtfs-mem";
   reg = <0x0 0x9fd00000 0x0 0x280000>;
   no-map;

   qcom,client-id = <1>;
   qcom,vmid = <QCOM_SCM_VMID_MSS_MSA>;
  };

  xbl_sc_mem2: memory@a6e00000 {
   reg = <0x0 0xa6e00000 0x0 0x40000>;
   no-map;
  };

  global_sync_mem: memory@a6f00000 {
   reg = <0x0 0xa6f00000 0x0 0x100000>;
   no-map;
  };

  /* uefi region can be reused by APPS */

  /* Linux kernel image is loaded at 0xa0000000 */

  oem_vm_mem: memory@bb000000 {
   reg = <0x0 0xbb000000 0x0 0x5000000>;
   no-map;
  };

  mte_mem: memory@c0000000 {
   reg = <0x0 0xc0000000 0x0 0x20000000>;
   no-map;
  };

  qheebsp_reserved_mem: memory@e0000000 {
   reg = <0x0 0xe0000000 0x0 0x600000>;
   no-map;
  };

  cpusys_vm_mem: memory@e0600000 {
   reg = <0x0 0xe0600000 0x0 0x400000>;
   no-map;
  };

  hyp_reserved_mem: memory@e0a00000 {
   reg = <0x0 0xe0a00000 0x0 0x100000>;
   no-map;
  };

  trust_ui_vm_mem: memory@e0b00000 {
   reg = <0x0 0xe0b00000 0x0 0x4af3000>;
   no-map;
  };

  trust_ui_vm_qrtr: memory@e55f3000 {
   reg = <0x0 0xe55f3000 0x0 0x9000>;
   no-map;
  };

  trust_ui_vm_vblk0_ring: memory@e55fc000 {
   reg = <0x0 0xe55fc000 0x0 0x4000>;
   no-map;
  };

  trust_ui_vm_swiotlb: memory@e5600000 {
   reg = <0x0 0xe5600000 0x0 0x100000>;
   no-map;
  };

  tz_stat_mem: memory@e8800000 {
   reg = <0x0 0xe8800000 0x0 0x100000>;
   no-map;
  };

  tags_mem: memory@e8900000 {
   reg = <0x0 0xe8900000 0x0 0x1200000>;
   no-map;
  };

  qtee_mem: memory@e9b00000 {
   reg = <0x0 0xe9b00000 0x0 0x500000>;
   no-map;
  };

  trusted_apps_mem: memory@ea000000 {
   reg = <0x0 0xea000000 0x0 0x3900000>;
   no-map;
  };

  trusted_apps_ext_mem: memory@ed900000 {
   reg = <0x0 0xed900000 0x0 0x3b00000>;
   no-map;
  };
 };

 smp2p-adsp {
  compatible = "qcom,smp2p";
  qcom,smem = <443>, <429>;
  interrupts-extended = <&ipcc IPCC_CLIENT_LPASS
          IPCC_MPROC_SIGNAL_SMP2P
          IRQ_TYPE_EDGE_RISING>;
  mboxes = <&ipcc IPCC_CLIENT_LPASS
    IPCC_MPROC_SIGNAL_SMP2P>;

  qcom,local-pid = <0>;
  qcom,remote-pid = <2>;

  smp2p_adsp_out: master-kernel {
   qcom,entry-name = "master-kernel";
   #qcom,smem-state-cells = <1>;
  };

  smp2p_adsp_in: slave-kernel {
   qcom,entry-name = "slave-kernel";
   interrupt-controller;
   #interrupt-cells = <2>;
  };
 };

 smp2p-cdsp {
  compatible = "qcom,smp2p";
  qcom,smem = <94>, <432>;
  interrupts-extended = <&ipcc IPCC_CLIENT_CDSP
          IPCC_MPROC_SIGNAL_SMP2P
          IRQ_TYPE_EDGE_RISING>;
  mboxes = <&ipcc IPCC_CLIENT_CDSP
    IPCC_MPROC_SIGNAL_SMP2P>;

  qcom,local-pid = <0>;
  qcom,remote-pid = <5>;

  smp2p_cdsp_out: master-kernel {
   qcom,entry-name = "master-kernel";
   #qcom,smem-state-cells = <1>;
  };

  smp2p_cdsp_in: slave-kernel {
   qcom,entry-name = "slave-kernel";
   interrupt-controller;
   #interrupt-cells = <2>;
  };
 };

 smp2p-modem {
  compatible = "qcom,smp2p";
  qcom,smem = <435>, <428>;
  interrupts-extended = <&ipcc IPCC_CLIENT_MPSS
          IPCC_MPROC_SIGNAL_SMP2P
          IRQ_TYPE_EDGE_RISING>;
  mboxes = <&ipcc IPCC_CLIENT_MPSS
    IPCC_MPROC_SIGNAL_SMP2P>;

  qcom,local-pid = <0>;
  qcom,remote-pid = <1>;

  smp2p_modem_out: master-kernel {
   qcom,entry-name = "master-kernel";
   #qcom,smem-state-cells = <1>;
  };

  smp2p_modem_in: slave-kernel {
   qcom,entry-name = "slave-kernel";
   interrupt-controller;
   #interrupt-cells = <2>;
  };

  ipa_smp2p_out: ipa-ap-to-modem {
   qcom,entry-name = "ipa";
   #qcom,smem-state-cells = <1>;
  };

  ipa_smp2p_in: ipa-modem-to-ap {
   qcom,entry-name = "ipa";
   interrupt-controller;
   #interrupt-cells = <2>;
  };
 };

 smp2p-slpi {
  compatible = "qcom,smp2p";
  qcom,smem = <481>, <430>;
  interrupts-extended = <&ipcc IPCC_CLIENT_SLPI
          IPCC_MPROC_SIGNAL_SMP2P
          IRQ_TYPE_EDGE_RISING>;
  mboxes = <&ipcc IPCC_CLIENT_SLPI
    IPCC_MPROC_SIGNAL_SMP2P>;

  qcom,local-pid = <0>;
  qcom,remote-pid = <3>;

  smp2p_slpi_out: master-kernel {
   qcom,entry-name = "master-kernel";
   #qcom,smem-state-cells = <1>;
  };

  smp2p_slpi_in: slave-kernel {
   qcom,entry-name = "slave-kernel";
   interrupt-controller;
   #interrupt-cells = <2>;
  };
 };

 soc: soc@0 {
  #address-cells = <2>;
  #size-cells = <2>;
  ranges = <0 0 0 0 0x10 0>;
  dma-ranges = <0 0 0 0 0x10 0>;
  compatible = "simple-bus";

  gcc: clock-controller@100000 {
   compatible = "qcom,gcc-sm8450";
   reg = <0x0 0x00100000 0x0 0x1f4200>;
   #clock-cells = <1>;
   #reset-cells = <1>;
   #power-domain-cells = <1>;
   clocks = <&rpmhcc RPMH_CXO_CLK>,
     <&sleep_clk>,
     <&pcie0_phy>,
     <&pcie1_phy QMP_PCIE_PIPE_CLK>,
     <&pcie1_phy QMP_PCIE_PHY_AUX_CLK>,
     <&ufs_mem_phy 0>,
     <&ufs_mem_phy 1>,
     <&ufs_mem_phy 2>,
     <&usb_1_qmpphy QMP_USB43DP_USB3_PIPE_CLK>;
   clock-names = "bi_tcxo",
          "sleep_clk",
          "pcie_0_pipe_clk",
          "pcie_1_pipe_clk",
          "pcie_1_phy_aux_clk",
          "ufs_phy_rx_symbol_0_clk",
          "ufs_phy_rx_symbol_1_clk",
          "ufs_phy_tx_symbol_0_clk",
          "usb3_phy_wrapper_gcc_usb30_pipe_clk";
  };

  gpi_dma2: dma-controller@800000 {
   compatible = "qcom,sm8450-gpi-dma", "qcom,sm6350-gpi-dma";
   #dma-cells = <3>;
   reg = <0 0x00800000 0 0x60000>;
   interrupts = <GIC_SPI 588 IRQ_TYPE_LEVEL_HIGH>,
         <GIC_SPI 589 IRQ_TYPE_LEVEL_HIGH>,
         <GIC_SPI 590 IRQ_TYPE_LEVEL_HIGH>,
         <GIC_SPI 591 IRQ_TYPE_LEVEL_HIGH>,
         <GIC_SPI 592 IRQ_TYPE_LEVEL_HIGH>,
         <GIC_SPI 593 IRQ_TYPE_LEVEL_HIGH>,
         <GIC_SPI 594 IRQ_TYPE_LEVEL_HIGH>,
         <GIC_SPI 595 IRQ_TYPE_LEVEL_HIGH>,
         <GIC_SPI 596 IRQ_TYPE_LEVEL_HIGH>,
         <GIC_SPI 597 IRQ_TYPE_LEVEL_HIGH>,
         <GIC_SPI 598 IRQ_TYPE_LEVEL_HIGH>,
         <GIC_SPI 599 IRQ_TYPE_LEVEL_HIGH>;
   dma-channels = <12>;
   dma-channel-mask = <0x7e>;
   iommus = <&apps_smmu 0x496 0x0>;
   status = "disabled";
  };

  qupv3_id_2: geniqup@8c0000 {
   compatible = "qcom,geni-se-qup";
   reg = <0x0 0x008c0000 0x0 0x2000>;
   clock-names = "m-ahb", "s-ahb";
   clocks = <&gcc GCC_QUPV3_WRAP_2_M_AHB_CLK>,
     <&gcc GCC_QUPV3_WRAP_2_S_AHB_CLK>;
   iommus = <&apps_smmu 0x483 0x0>;
   #address-cells = <2>;
   #size-cells = <2>;
   ranges;
   status = "disabled";

   i2c15: i2c@880000 {
    compatible = "qcom,geni-i2c";
    reg = <0x0 0x00880000 0x0 0x4000>;
    clock-names = "se";
    clocks = <&gcc GCC_QUPV3_WRAP2_S0_CLK>;
    pinctrl-names = "default";
    pinctrl-0 = <&qup_i2c15_data_clk>;
    interrupts = <GIC_SPI 373 IRQ_TYPE_LEVEL_HIGH>;
    #address-cells = <1>;
    #size-cells = <0>;
    interconnects = <&clk_virt MASTER_QUP_CORE_2 0 &clk_virt SLAVE_QUP_CORE_2 0>,
      <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>,
      <&aggre2_noc MASTER_QUP_2 0 &mc_virt SLAVE_EBI1 0>;
    interconnect-names = "qup-core", "qup-config", "qup-memory";
    dmas = <&gpi_dma2 0 0 QCOM_GPI_I2C>,
           <&gpi_dma2 1 0 QCOM_GPI_I2C>;
    dma-names = "tx", "rx";
    status = "disabled";
   };

   spi15: spi@880000 {
    compatible = "qcom,geni-spi";
    reg = <0x0 0x00880000 0x0 0x4000>;
    clock-names = "se";
    clocks = <&gcc GCC_QUPV3_WRAP2_S0_CLK>;
    interrupts = <GIC_SPI 373 IRQ_TYPE_LEVEL_HIGH>;
    pinctrl-names = "default";
    pinctrl-0 = <&qup_spi15_data_clk>, <&qup_spi15_cs>;
    interconnects = <&clk_virt MASTER_QUP_CORE_2 0 &clk_virt SLAVE_QUP_CORE_2 0>,
      <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>;
    interconnect-names = "qup-core", "qup-config";
    dmas = <&gpi_dma2 0 0 QCOM_GPI_SPI>,
           <&gpi_dma2 1 0 QCOM_GPI_SPI>;
    dma-names = "tx", "rx";
    #address-cells = <1>;
    #size-cells = <0>;
    status = "disabled";
   };

   i2c16: i2c@884000 {
    compatible = "qcom,geni-i2c";
    reg = <0x0 0x00884000 0x0 0x4000>;
    clock-names = "se";
    clocks = <&gcc GCC_QUPV3_WRAP2_S1_CLK>;
    pinctrl-names = "default";
    pinctrl-0 = <&qup_i2c16_data_clk>;
    interrupts = <GIC_SPI 583 IRQ_TYPE_LEVEL_HIGH>;
    #address-cells = <1>;
    #size-cells = <0>;
    interconnects = <&clk_virt MASTER_QUP_CORE_2 0 &clk_virt SLAVE_QUP_CORE_2 0>,
      <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>,
      <&aggre2_noc MASTER_QUP_2 0 &mc_virt SLAVE_EBI1 0>;
    interconnect-names = "qup-core", "qup-config", "qup-memory";
    dmas = <&gpi_dma2 0 1 QCOM_GPI_I2C>,
           <&gpi_dma2 1 1 QCOM_GPI_I2C>;
    dma-names = "tx", "rx";
    status = "disabled";
   };

   spi16: spi@884000 {
    compatible = "qcom,geni-spi";
    reg = <0x0 0x00884000 0x0 0x4000>;
    clock-names = "se";
    clocks = <&gcc GCC_QUPV3_WRAP2_S1_CLK>;
    interrupts = <GIC_SPI 583 IRQ_TYPE_LEVEL_HIGH>;
    pinctrl-names = "default";
    pinctrl-0 = <&qup_spi16_data_clk>, <&qup_spi16_cs>;
    interconnects = <&clk_virt MASTER_QUP_CORE_2 0 &clk_virt SLAVE_QUP_CORE_2 0>,
      <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>;
    interconnect-names = "qup-core", "qup-config";
    dmas = <&gpi_dma2 0 1 QCOM_GPI_SPI>,
           <&gpi_dma2 1 1 QCOM_GPI_SPI>;
    dma-names = "tx", "rx";
    #address-cells = <1>;
    #size-cells = <0>;
    status = "disabled";
   };

   i2c17: i2c@888000 {
    compatible = "qcom,geni-i2c";
    reg = <0x0 0x00888000 0x0 0x4000>;
    clock-names = "se";
    clocks = <&gcc GCC_QUPV3_WRAP2_S2_CLK>;
    pinctrl-names = "default";
    pinctrl-0 = <&qup_i2c17_data_clk>;
    interrupts = <GIC_SPI 584 IRQ_TYPE_LEVEL_HIGH>;
    #address-cells = <1>;
    #size-cells = <0>;
    interconnects = <&clk_virt MASTER_QUP_CORE_2 0 &clk_virt SLAVE_QUP_CORE_2 0>,
      <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>,
      <&aggre2_noc MASTER_QUP_2 0 &mc_virt SLAVE_EBI1 0>;
    interconnect-names = "qup-core", "qup-config", "qup-memory";
    dmas = <&gpi_dma2 0 2 QCOM_GPI_I2C>,
           <&gpi_dma2 1 2 QCOM_GPI_I2C>;
    dma-names = "tx", "rx";
    status = "disabled";
   };

   spi17: spi@888000 {
    compatible = "qcom,geni-spi";
    reg = <0x0 0x00888000 0x0 0x4000>;
    clock-names = "se";
    clocks = <&gcc GCC_QUPV3_WRAP2_S2_CLK>;
    interrupts = <GIC_SPI 584 IRQ_TYPE_LEVEL_HIGH>;
    pinctrl-names = "default";
    pinctrl-0 = <&qup_spi17_data_clk>, <&qup_spi17_cs>;
    interconnects = <&clk_virt MASTER_QUP_CORE_2 0 &clk_virt SLAVE_QUP_CORE_2 0>,
      <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>;
    interconnect-names = "qup-core", "qup-config";
    dmas = <&gpi_dma2 0 2 QCOM_GPI_SPI>,
           <&gpi_dma2 1 2 QCOM_GPI_SPI>;
    dma-names = "tx", "rx";
    #address-cells = <1>;
    #size-cells = <0>;
    status = "disabled";
   };

   i2c18: i2c@88c000 {
    compatible = "qcom,geni-i2c";
    reg = <0x0 0x0088c000 0x0 0x4000>;
    clock-names = "se";
    clocks = <&gcc GCC_QUPV3_WRAP2_S3_CLK>;
    pinctrl-names = "default";
    pinctrl-0 = <&qup_i2c18_data_clk>;
    interrupts = <GIC_SPI 585 IRQ_TYPE_LEVEL_HIGH>;
    #address-cells = <1>;
    #size-cells = <0>;
    interconnects = <&clk_virt MASTER_QUP_CORE_2 0 &clk_virt SLAVE_QUP_CORE_2 0>,
      <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>,
      <&aggre2_noc MASTER_QUP_2 0 &mc_virt SLAVE_EBI1 0>;
    interconnect-names = "qup-core", "qup-config", "qup-memory";
    dmas = <&gpi_dma2 0 3 QCOM_GPI_I2C>,
           <&gpi_dma2 1 3 QCOM_GPI_I2C>;
    dma-names = "tx", "rx";
    status = "disabled";
   };

   spi18: spi@88c000 {
    compatible = "qcom,geni-spi";
    reg = <0 0x0088c000 0 0x4000>;
    clock-names = "se";
    clocks = <&gcc GCC_QUPV3_WRAP2_S3_CLK>;
    interrupts = <GIC_SPI 585 IRQ_TYPE_LEVEL_HIGH>;
    pinctrl-names = "default";
    pinctrl-0 = <&qup_spi18_data_clk>, <&qup_spi18_cs>;
    interconnects = <&clk_virt MASTER_QUP_CORE_2 0 &clk_virt SLAVE_QUP_CORE_2 0>,
      <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>;
    interconnect-names = "qup-core", "qup-config";
    dmas = <&gpi_dma2 0 3 QCOM_GPI_I2C>,
           <&gpi_dma2 1 3 QCOM_GPI_I2C>;
    dma-names = "tx", "rx";
    #address-cells = <1>;
    #size-cells = <0>;
    status = "disabled";
   };

   i2c19: i2c@890000 {
    compatible = "qcom,geni-i2c";
    reg = <0x0 0x00890000 0x0 0x4000>;
    clock-names = "se";
    clocks = <&gcc GCC_QUPV3_WRAP2_S4_CLK>;
    pinctrl-names = "default";
    pinctrl-0 = <&qup_i2c19_data_clk>;
    interrupts = <GIC_SPI 586 IRQ_TYPE_LEVEL_HIGH>;
    #address-cells = <1>;
    #size-cells = <0>;
    interconnects = <&clk_virt MASTER_QUP_CORE_2 0 &clk_virt SLAVE_QUP_CORE_2 0>,
      <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>,
      <&aggre2_noc MASTER_QUP_2 0 &mc_virt SLAVE_EBI1 0>;
    interconnect-names = "qup-core", "qup-config", "qup-memory";
    dmas = <&gpi_dma2 0 4 QCOM_GPI_I2C>,
           <&gpi_dma2 1 4 QCOM_GPI_I2C>;
    dma-names = "tx", "rx";
    status = "disabled";
   };

   spi19: spi@890000 {
    compatible = "qcom,geni-spi";
    reg = <0 0x00890000 0 0x4000>;
    clock-names = "se";
    clocks = <&gcc GCC_QUPV3_WRAP2_S4_CLK>;
    interrupts = <GIC_SPI 586 IRQ_TYPE_LEVEL_HIGH>;
    pinctrl-names = "default";
    pinctrl-0 = <&qup_spi19_data_clk>, <&qup_spi19_cs>;
    interconnects = <&clk_virt MASTER_QUP_CORE_2 0 &clk_virt SLAVE_QUP_CORE_2 0>,
      <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>;
    interconnect-names = "qup-core", "qup-config";
    dmas = <&gpi_dma2 0 4 QCOM_GPI_I2C>,
           <&gpi_dma2 1 4 QCOM_GPI_I2C>;
    dma-names = "tx", "rx";
    #address-cells = <1>;
    #size-cells = <0>;
    status = "disabled";
   };

   i2c20: i2c@894000 {
    compatible = "qcom,geni-i2c";
    reg = <0x0 0x00894000 0x0 0x4000>;
    clock-names = "se";
    clocks = <&gcc GCC_QUPV3_WRAP2_S5_CLK>;
    pinctrl-names = "default";
    pinctrl-0 = <&qup_i2c20_data_clk>;
    interrupts = <GIC_SPI 587 IRQ_TYPE_LEVEL_HIGH>;
    #address-cells = <1>;
    #size-cells = <0>;
    interconnects = <&clk_virt MASTER_QUP_CORE_2 0 &clk_virt SLAVE_QUP_CORE_2 0>,
      <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>,
      <&aggre2_noc MASTER_QUP_2 0 &mc_virt SLAVE_EBI1 0>;
    interconnect-names = "qup-core", "qup-config", "qup-memory";
    dmas = <&gpi_dma2 0 5 QCOM_GPI_I2C>,
           <&gpi_dma2 1 5 QCOM_GPI_I2C>;
    dma-names = "tx", "rx";
    status = "disabled";
   };

   uart20: serial@894000 {
    compatible = "qcom,geni-uart";
    reg = <0 0x00894000 0 0x4000>;
    clock-names = "se";
    clocks = <&gcc GCC_QUPV3_WRAP2_S5_CLK>;
    pinctrl-names = "default";
    pinctrl-0 = <&qup_uart20_default>;
    interrupts = <GIC_SPI 587 IRQ_TYPE_LEVEL_HIGH>;
    interconnects = <&clk_virt MASTER_QUP_CORE_2 QCOM_ICC_TAG_ALWAYS
       &clk_virt SLAVE_QUP_CORE_2 QCOM_ICC_TAG_ALWAYS>,
      <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS
       &config_noc SLAVE_QUP_2 QCOM_ICC_TAG_ALWAYS>;
    interconnect-names = "qup-core",
           "qup-config";
    status = "disabled";
   };

   spi20: spi@894000 {
    compatible = "qcom,geni-spi";
    reg = <0 0x00894000 0 0x4000>;
    clock-names = "se";
    clocks = <&gcc GCC_QUPV3_WRAP2_S5_CLK>;
    interrupts = <GIC_SPI 587 IRQ_TYPE_LEVEL_HIGH>;
    pinctrl-names = "default";
    pinctrl-0 = <&qup_spi20_data_clk>, <&qup_spi20_cs>;
    interconnects = <&clk_virt MASTER_QUP_CORE_2 0 &clk_virt SLAVE_QUP_CORE_2 0>,
      <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>;
    interconnect-names = "qup-core", "qup-config";
    dmas = <&gpi_dma2 0 5 QCOM_GPI_SPI>,
           <&gpi_dma2 1 5 QCOM_GPI_SPI>;
    dma-names = "tx", "rx";
    #address-cells = <1>;
    #size-cells = <0>;
    status = "disabled";
   };

   i2c21: i2c@898000 {
    compatible = "qcom,geni-i2c";
    reg = <0x0 0x00898000 0x0 0x4000>;
    clock-names = "se";
    clocks = <&gcc GCC_QUPV3_WRAP2_S6_CLK>;
    pinctrl-names = "default";
    pinctrl-0 = <&qup_i2c21_data_clk>;
    interrupts = <GIC_SPI 579 IRQ_TYPE_LEVEL_HIGH>;
    #address-cells = <1>;
    #size-cells = <0>;
    interconnects = <&clk_virt MASTER_QUP_CORE_2 0 &clk_virt SLAVE_QUP_CORE_2 0>,
      <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>,
      <&aggre2_noc MASTER_QUP_2 0 &mc_virt SLAVE_EBI1 0>;
    interconnect-names = "qup-core", "qup-config", "qup-memory";
    dmas = <&gpi_dma2 0 6 QCOM_GPI_I2C>,
           <&gpi_dma2 1 6 QCOM_GPI_I2C>;
    dma-names = "tx", "rx";
    status = "disabled";
   };

   spi21: spi@898000 {
    compatible = "qcom,geni-spi";
    reg = <0 0x00898000 0 0x4000>;
    clock-names = "se";
    clocks = <&gcc GCC_QUPV3_WRAP2_S6_CLK>;
    interrupts = <GIC_SPI 579 IRQ_TYPE_LEVEL_HIGH>;
    pinctrl-names = "default";
    pinctrl-0 = <&qup_spi21_data_clk>, <&qup_spi21_cs>;
    interconnects = <&clk_virt MASTER_QUP_CORE_2 0 &clk_virt SLAVE_QUP_CORE_2 0>,
      <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>;
    interconnect-names = "qup-core", "qup-config";
    dmas = <&gpi_dma2 0 6 QCOM_GPI_SPI>,
           <&gpi_dma2 1 6 QCOM_GPI_SPI>;
    dma-names = "tx", "rx";
    #address-cells = <1>;
    #size-cells = <0>;
    status = "disabled";
   };
  };

  gpi_dma0: dma-controller@900000 {
   compatible = "qcom,sm8450-gpi-dma", "qcom,sm6350-gpi-dma";
   #dma-cells = <3>;
   reg = <0 0x00900000 0 0x60000>;
   interrupts = <GIC_SPI 244 IRQ_TYPE_LEVEL_HIGH>,
         <GIC_SPI 245 IRQ_TYPE_LEVEL_HIGH>,
         <GIC_SPI 246 IRQ_TYPE_LEVEL_HIGH>,
         <GIC_SPI 247 IRQ_TYPE_LEVEL_HIGH>,
         <GIC_SPI 248 IRQ_TYPE_LEVEL_HIGH>,
         <GIC_SPI 249 IRQ_TYPE_LEVEL_HIGH>,
         <GIC_SPI 250 IRQ_TYPE_LEVEL_HIGH>,
         <GIC_SPI 251 IRQ_TYPE_LEVEL_HIGH>,
         <GIC_SPI 252 IRQ_TYPE_LEVEL_HIGH>,
         <GIC_SPI 253 IRQ_TYPE_LEVEL_HIGH>,
         <GIC_SPI 254 IRQ_TYPE_LEVEL_HIGH>,
         <GIC_SPI 255 IRQ_TYPE_LEVEL_HIGH>;
   dma-channels = <12>;
   dma-channel-mask = <0x7e>;
   iommus = <&apps_smmu 0x5b6 0x0>;
   status = "disabled";
  };

  qupv3_id_0: geniqup@9c0000 {
   compatible = "qcom,geni-se-qup";
   reg = <0x0 0x009c0000 0x0 0x2000>;
   clock-names = "m-ahb", "s-ahb";
   clocks = <&gcc GCC_QUPV3_WRAP_0_M_AHB_CLK>,
     <&gcc GCC_QUPV3_WRAP_0_S_AHB_CLK>;
   iommus = <&apps_smmu 0x5a3 0x0>;
   interconnects = <&clk_virt MASTER_QUP_CORE_0 0 &clk_virt SLAVE_QUP_CORE_0 0>;
   interconnect-names = "qup-core";
   #address-cells = <2>;
   #size-cells = <2>;
   ranges;
   status = "disabled";

   i2c0: i2c@980000 {
    compatible = "qcom,geni-i2c";
    reg = <0x0 0x00980000 0x0 0x4000>;
    clock-names = "se";
    clocks = <&gcc GCC_QUPV3_WRAP0_S0_CLK>;
    pinctrl-names = "default";
    pinctrl-0 = <&qup_i2c0_data_clk>;
    interrupts = <GIC_SPI 601 IRQ_TYPE_LEVEL_HIGH>;
    #address-cells = <1>;
    #size-cells = <0>;
    interconnects = <&clk_virt MASTER_QUP_CORE_0 0 &clk_virt SLAVE_QUP_CORE_0 0>,
      <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>,
      <&aggre2_noc MASTER_QUP_0 0 &mc_virt SLAVE_EBI1 0>;
    interconnect-names = "qup-core", "qup-config", "qup-memory";
    dmas = <&gpi_dma0 0 0 QCOM_GPI_I2C>,
           <&gpi_dma0 1 0 QCOM_GPI_I2C>;
    dma-names = "tx", "rx";
    status = "disabled";
   };

   spi0: spi@980000 {
    compatible = "qcom,geni-spi";
    reg = <0x0 0x00980000 0x0 0x4000>;
    clock-names = "se";
    clocks = <&gcc GCC_QUPV3_WRAP0_S0_CLK>;
    interrupts = <GIC_SPI 601 IRQ_TYPE_LEVEL_HIGH>;
    pinctrl-names = "default";
    pinctrl-0 = <&qup_spi0_data_clk>, <&qup_spi0_cs>;
    power-domains = <&rpmhpd RPMHPD_CX>;
    operating-points-v2 = <&qup_opp_table_100mhz>;
    interconnects = <&clk_virt MASTER_QUP_CORE_0 0 &clk_virt SLAVE_QUP_CORE_0 0>,
      <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>,
      <&aggre2_noc MASTER_QUP_0 0 &mc_virt SLAVE_EBI1 0>;
    interconnect-names = "qup-core", "qup-config", "qup-memory";
    dmas = <&gpi_dma0 0 0 QCOM_GPI_SPI>,
           <&gpi_dma0 1 0 QCOM_GPI_SPI>;
    dma-names = "tx", "rx";
    #address-cells = <1>;
    #size-cells = <0>;
    status = "disabled";
   };

   i2c1: i2c@984000 {
    compatible = "qcom,geni-i2c";
    reg = <0x0 0x00984000 0x0 0x4000>;
    clock-names = "se";
    clocks = <&gcc GCC_QUPV3_WRAP0_S1_CLK>;
    pinctrl-names = "default";
    pinctrl-0 = <&qup_i2c1_data_clk>;
    interrupts = <GIC_SPI 602 IRQ_TYPE_LEVEL_HIGH>;
    #address-cells = <1>;
    #size-cells = <0>;
    interconnects = <&clk_virt MASTER_QUP_CORE_0 0 &clk_virt SLAVE_QUP_CORE_0 0>,
      <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>,
      <&aggre2_noc MASTER_QUP_0 0 &mc_virt SLAVE_EBI1 0>;
    interconnect-names = "qup-core", "qup-config", "qup-memory";
    dmas = <&gpi_dma0 0 1 QCOM_GPI_I2C>,
           <&gpi_dma0 1 1 QCOM_GPI_I2C>;
    dma-names = "tx", "rx";
    status = "disabled";
   };

   spi1: spi@984000 {
    compatible = "qcom,geni-spi";
    reg = <0x0 0x00984000 0x0 0x4000>;
    clock-names = "se";
    clocks = <&gcc GCC_QUPV3_WRAP0_S1_CLK>;
    interrupts = <GIC_SPI 602 IRQ_TYPE_LEVEL_HIGH>;
    pinctrl-names = "default";
    pinctrl-0 = <&qup_spi1_data_clk>, <&qup_spi1_cs>;
    interconnects = <&clk_virt MASTER_QUP_CORE_0 0 &clk_virt SLAVE_QUP_CORE_0 0>,
      <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>,
      <&aggre2_noc MASTER_QUP_0 0 &mc_virt SLAVE_EBI1 0>;
    interconnect-names = "qup-core", "qup-config", "qup-memory";
    dmas = <&gpi_dma0 0 1 QCOM_GPI_SPI>,
           <&gpi_dma0 1 1 QCOM_GPI_SPI>;
    dma-names = "tx", "rx";
    #address-cells = <1>;
    #size-cells = <0>;
    status = "disabled";
   };

   i2c2: i2c@988000 {
    compatible = "qcom,geni-i2c";
    reg = <0x0 0x00988000 0x0 0x4000>;
    clock-names = "se";
    clocks = <&gcc GCC_QUPV3_WRAP0_S2_CLK>;
    pinctrl-names = "default";
    pinctrl-0 = <&qup_i2c2_data_clk>;
    interrupts = <GIC_SPI 603 IRQ_TYPE_LEVEL_HIGH>;
    #address-cells = <1>;
    #size-cells = <0>;
    interconnects = <&clk_virt MASTER_QUP_CORE_0 0 &clk_virt SLAVE_QUP_CORE_0 0>,
      <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>,
      <&aggre2_noc MASTER_QUP_0 0 &mc_virt SLAVE_EBI1 0>;
    interconnect-names = "qup-core", "qup-config", "qup-memory";
    dmas = <&gpi_dma0 0 2 QCOM_GPI_I2C>,
           <&gpi_dma0 1 2 QCOM_GPI_I2C>;
    dma-names = "tx", "rx";
    status = "disabled";
   };

   spi2: spi@988000 {
    compatible = "qcom,geni-spi";
    reg = <0x0 0x00988000 0x0 0x4000>;
    clock-names = "se";
    clocks = <&gcc GCC_QUPV3_WRAP0_S2_CLK>;
    interrupts = <GIC_SPI 603 IRQ_TYPE_LEVEL_HIGH>;
    pinctrl-names = "default";
    pinctrl-0 = <&qup_spi2_data_clk>, <&qup_spi2_cs>;
    interconnects = <&clk_virt MASTER_QUP_CORE_0 0 &clk_virt SLAVE_QUP_CORE_0 0>,
      <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>,
      <&aggre2_noc MASTER_QUP_0 0 &mc_virt SLAVE_EBI1 0>;
    interconnect-names = "qup-core", "qup-config", "qup-memory";
    dmas = <&gpi_dma0 0 2 QCOM_GPI_SPI>,
           <&gpi_dma0 1 2 QCOM_GPI_SPI>;
    dma-names = "tx", "rx";
    #address-cells = <1>;
    #size-cells = <0>;
    status = "disabled";
   };


   i2c3: i2c@98c000 {
    compatible = "qcom,geni-i2c";
    reg = <0x0 0x0098c000 0x0 0x4000>;
    clock-names = "se";
    clocks = <&gcc GCC_QUPV3_WRAP0_S3_CLK>;
    pinctrl-names = "default";
    pinctrl-0 = <&qup_i2c3_data_clk>;
    interrupts = <GIC_SPI 604 IRQ_TYPE_LEVEL_HIGH>;
    #address-cells = <1>;
    #size-cells = <0>;
    interconnects = <&clk_virt MASTER_QUP_CORE_0 0 &clk_virt SLAVE_QUP_CORE_0 0>,
      <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>,
      <&aggre2_noc MASTER_QUP_0 0 &mc_virt SLAVE_EBI1 0>;
    interconnect-names = "qup-core", "qup-config", "qup-memory";
    dmas = <&gpi_dma0 0 3 QCOM_GPI_I2C>,
           <&gpi_dma0 1 3 QCOM_GPI_I2C>;
    dma-names = "tx", "rx";
    status = "disabled";
   };

   spi3: spi@98c000 {
    compatible = "qcom,geni-spi";
    reg = <0x0 0x0098c000 0x0 0x4000>;
    clock-names = "se";
    clocks = <&gcc GCC_QUPV3_WRAP0_S3_CLK>;
    interrupts = <GIC_SPI 604 IRQ_TYPE_LEVEL_HIGH>;
    pinctrl-names = "default";
    pinctrl-0 = <&qup_spi3_data_clk>, <&qup_spi3_cs>;
    interconnects = <&clk_virt MASTER_QUP_CORE_0 0 &clk_virt SLAVE_QUP_CORE_0 0>,
      <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>,
      <&aggre2_noc MASTER_QUP_0 0 &mc_virt SLAVE_EBI1 0>;
    interconnect-names = "qup-core", "qup-config", "qup-memory";
    dmas = <&gpi_dma0 0 3 QCOM_GPI_SPI>,
           <&gpi_dma0 1 3 QCOM_GPI_SPI>;
    dma-names = "tx", "rx";
    #address-cells = <1>;
    #size-cells = <0>;
    status = "disabled";
   };

   i2c4: i2c@990000 {
    compatible = "qcom,geni-i2c";
    reg = <0x0 0x00990000 0x0 0x4000>;
    clock-names = "se";
    clocks = <&gcc GCC_QUPV3_WRAP0_S4_CLK>;
    pinctrl-names = "default";
    pinctrl-0 = <&qup_i2c4_data_clk>;
    interrupts = <GIC_SPI 605 IRQ_TYPE_LEVEL_HIGH>;
    #address-cells = <1>;
    #size-cells = <0>;
    interconnects = <&clk_virt MASTER_QUP_CORE_0 0 &clk_virt SLAVE_QUP_CORE_0 0>,
      <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>,
      <&aggre2_noc MASTER_QUP_0 0 &mc_virt SLAVE_EBI1 0>;
    interconnect-names = "qup-core", "qup-config", "qup-memory";
    dmas = <&gpi_dma0 0 4 QCOM_GPI_I2C>,
           <&gpi_dma0 1 4 QCOM_GPI_I2C>;
    dma-names = "tx", "rx";
    status = "disabled";
   };

   spi4: spi@990000 {
    compatible = "qcom,geni-spi";
    reg = <0x0 0x00990000 0x0 0x4000>;
    clock-names = "se";
    clocks = <&gcc GCC_QUPV3_WRAP0_S4_CLK>;
    interrupts = <GIC_SPI 605 IRQ_TYPE_LEVEL_HIGH>;
    pinctrl-names = "default";
    pinctrl-0 = <&qup_spi4_data_clk>, <&qup_spi4_cs>;
    power-domains = <&rpmhpd RPMHPD_CX>;
    operating-points-v2 = <&qup_opp_table_100mhz>;
    interconnects = <&clk_virt MASTER_QUP_CORE_0 0 &clk_virt SLAVE_QUP_CORE_0 0>,
      <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>,
      <&aggre2_noc MASTER_QUP_0 0 &mc_virt SLAVE_EBI1 0>;
    interconnect-names = "qup-core", "qup-config", "qup-memory";
    dmas = <&gpi_dma0 0 4 QCOM_GPI_SPI>,
           <&gpi_dma0 1 4 QCOM_GPI_SPI>;
    dma-names = "tx", "rx";
    #address-cells = <1>;
    #size-cells = <0>;
    status = "disabled";
   };

   i2c5: i2c@994000 {
    compatible = "qcom,geni-i2c";
    reg = <0x0 0x00994000 0x0 0x4000>;
    clock-names = "se";
    clocks = <&gcc GCC_QUPV3_WRAP0_S5_CLK>;
    pinctrl-names = "default";
    pinctrl-0 = <&qup_i2c5_data_clk>;
    interrupts = <GIC_SPI 606 IRQ_TYPE_LEVEL_HIGH>;
    #address-cells = <1>;
    #size-cells = <0>;
    interconnects = <&clk_virt MASTER_QUP_CORE_0 0 &clk_virt SLAVE_QUP_CORE_0 0>,
      <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>,
      <&aggre2_noc MASTER_QUP_0 0 &mc_virt SLAVE_EBI1 0>;
    interconnect-names = "qup-core", "qup-config", "qup-memory";
    dmas = <&gpi_dma0 0 5 QCOM_GPI_I2C>,
           <&gpi_dma0 1 5 QCOM_GPI_I2C>;
    dma-names = "tx", "rx";
    status = "disabled";
   };

   spi5: spi@994000 {
    compatible = "qcom,geni-spi";
    reg = <0x0 0x00994000 0x0 0x4000>;
    clock-names = "se";
    clocks = <&gcc GCC_QUPV3_WRAP0_S5_CLK>;
    interrupts = <GIC_SPI 606 IRQ_TYPE_LEVEL_HIGH>;
    pinctrl-names = "default";
    pinctrl-0 = <&qup_spi5_data_clk>, <&qup_spi5_cs>;
    interconnects = <&clk_virt MASTER_QUP_CORE_0 0 &clk_virt SLAVE_QUP_CORE_0 0>,
      <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>,
      <&aggre2_noc MASTER_QUP_0 0 &mc_virt SLAVE_EBI1 0>;
    interconnect-names = "qup-core", "qup-config", "qup-memory";
    dmas = <&gpi_dma0 0 5 QCOM_GPI_SPI>,
           <&gpi_dma0 1 5 QCOM_GPI_SPI>;
    dma-names = "tx", "rx";
    #address-cells = <1>;
    #size-cells = <0>;
    status = "disabled";
   };


   i2c6: i2c@998000 {
    compatible = "qcom,geni-i2c";
    reg = <0x0 0x00998000 0x0 0x4000>;
    clock-names = "se";
    clocks = <&gcc GCC_QUPV3_WRAP0_S6_CLK>;
    pinctrl-names = "default";
    pinctrl-0 = <&qup_i2c6_data_clk>;
    interrupts = <GIC_SPI 607 IRQ_TYPE_LEVEL_HIGH>;
    #address-cells = <1>;
    #size-cells = <0>;
    interconnects = <&clk_virt MASTER_QUP_CORE_0 0 &clk_virt SLAVE_QUP_CORE_0 0>,
      <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>,
      <&aggre2_noc MASTER_QUP_0 0 &mc_virt SLAVE_EBI1 0>;
    interconnect-names = "qup-core", "qup-config", "qup-memory";
    dmas = <&gpi_dma0 0 6 QCOM_GPI_I2C>,
           <&gpi_dma0 1 6 QCOM_GPI_I2C>;
    dma-names = "tx", "rx";
    status = "disabled";
   };

   spi6: spi@998000 {
    compatible = "qcom,geni-spi";
    reg = <0x0 0x00998000 0x0 0x4000>;
    clock-names = "se";
    clocks = <&gcc GCC_QUPV3_WRAP0_S6_CLK>;
    interrupts = <GIC_SPI 607 IRQ_TYPE_LEVEL_HIGH>;
    pinctrl-names = "default";
    pinctrl-0 = <&qup_spi6_data_clk>, <&qup_spi6_cs>;
    interconnects = <&clk_virt MASTER_QUP_CORE_0 0 &clk_virt SLAVE_QUP_CORE_0 0>,
      <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>,
      <&aggre2_noc MASTER_QUP_0 0 &mc_virt SLAVE_EBI1 0>;
    interconnect-names = "qup-core", "qup-config", "qup-memory";
    dmas = <&gpi_dma0 0 6 QCOM_GPI_SPI>,
           <&gpi_dma0 1 6 QCOM_GPI_SPI>;
    dma-names = "tx", "rx";
    #address-cells = <1>;
    #size-cells = <0>;
    status = "disabled";
   };

   uart7: serial@99c000 {
    compatible = "qcom,geni-debug-uart";
    reg = <0 0x0099c000 0 0x4000>;
    clock-names = "se";
    clocks = <&gcc GCC_QUPV3_WRAP0_S7_CLK>;
    pinctrl-names = "default";
    pinctrl-0 = <&qup_uart7_tx>, <&qup_uart7_rx>;
    interrupts = <GIC_SPI 608 IRQ_TYPE_LEVEL_HIGH>;
    interconnects = <&clk_virt MASTER_QUP_CORE_2 QCOM_ICC_TAG_ALWAYS
       &clk_virt SLAVE_QUP_CORE_2 QCOM_ICC_TAG_ALWAYS>,
      <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS
       &config_noc SLAVE_QUP_2 QCOM_ICC_TAG_ALWAYS>;
    interconnect-names = "qup-core",
           "qup-config";
    status = "disabled";
   };
  };

  gpi_dma1: dma-controller@a00000 {
   compatible = "qcom,sm8450-gpi-dma", "qcom,sm6350-gpi-dma";
   #dma-cells = <3>;
   reg = <0 0x00a00000 0 0x60000>;
   interrupts = <GIC_SPI 279 IRQ_TYPE_LEVEL_HIGH>,
         <GIC_SPI 280 IRQ_TYPE_LEVEL_HIGH>,
         <GIC_SPI 281 IRQ_TYPE_LEVEL_HIGH>,
         <GIC_SPI 282 IRQ_TYPE_LEVEL_HIGH>,
         <GIC_SPI 283 IRQ_TYPE_LEVEL_HIGH>,
         <GIC_SPI 284 IRQ_TYPE_LEVEL_HIGH>,
         <GIC_SPI 293 IRQ_TYPE_LEVEL_HIGH>,
         <GIC_SPI 294 IRQ_TYPE_LEVEL_HIGH>,
         <GIC_SPI 295 IRQ_TYPE_LEVEL_HIGH>,
         <GIC_SPI 296 IRQ_TYPE_LEVEL_HIGH>,
         <GIC_SPI 297 IRQ_TYPE_LEVEL_HIGH>,
         <GIC_SPI 298 IRQ_TYPE_LEVEL_HIGH>;
   dma-channels = <12>;
   dma-channel-mask = <0x7e>;
   iommus = <&apps_smmu 0x56 0x0>;
   status = "disabled";
  };

  qupv3_id_1: geniqup@ac0000 {
   compatible = "qcom,geni-se-qup";
   reg = <0x0 0x00ac0000 0x0 0x6000>;
   clock-names = "m-ahb", "s-ahb";
   clocks = <&gcc GCC_QUPV3_WRAP_1_M_AHB_CLK>,
     <&gcc GCC_QUPV3_WRAP_1_S_AHB_CLK>;
   iommus = <&apps_smmu 0x43 0x0>;
   interconnects = <&clk_virt MASTER_QUP_CORE_1 0 &clk_virt SLAVE_QUP_CORE_1 0>;
   interconnect-names = "qup-core";
   #address-cells = <2>;
   #size-cells = <2>;
   ranges;
   status = "disabled";

   i2c8: i2c@a80000 {
    compatible = "qcom,geni-i2c";
    reg = <0x0 0x00a80000 0x0 0x4000>;
    clock-names = "se";
    clocks = <&gcc GCC_QUPV3_WRAP1_S0_CLK>;
    pinctrl-names = "default";
    pinctrl-0 = <&qup_i2c8_data_clk>;
    interrupts = <GIC_SPI 353 IRQ_TYPE_LEVEL_HIGH>;
    #address-cells = <1>;
    #size-cells = <0>;
    interconnects = <&clk_virt MASTER_QUP_CORE_1 0 &clk_virt SLAVE_QUP_CORE_1 0>,
      <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>,
      <&aggre2_noc MASTER_QUP_1 0 &mc_virt SLAVE_EBI1 0>;
    interconnect-names = "qup-core", "qup-config", "qup-memory";
    dmas = <&gpi_dma1 0 0 QCOM_GPI_I2C>,
           <&gpi_dma1 1 0 QCOM_GPI_I2C>;
    dma-names = "tx", "rx";
    status = "disabled";
   };

   spi8: spi@a80000 {
    compatible = "qcom,geni-spi";
    reg = <0x0 0x00a80000 0x0 0x4000>;
    clock-names = "se";
    clocks = <&gcc GCC_QUPV3_WRAP1_S0_CLK>;
    interrupts = <GIC_SPI 353 IRQ_TYPE_LEVEL_HIGH>;
    pinctrl-names = "default";
    pinctrl-0 = <&qup_spi8_data_clk>, <&qup_spi8_cs>;
    interconnects = <&clk_virt MASTER_QUP_CORE_1 0 &clk_virt SLAVE_QUP_CORE_1 0>,
      <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>,
      <&aggre2_noc MASTER_QUP_1 0 &mc_virt SLAVE_EBI1 0>;
    interconnect-names = "qup-core", "qup-config", "qup-memory";
    dmas = <&gpi_dma1 0 0 QCOM_GPI_SPI>,
           <&gpi_dma1 1 0 QCOM_GPI_SPI>;
    dma-names = "tx", "rx";
    #address-cells = <1>;
    #size-cells = <0>;
    status = "disabled";
   };

   i2c9: i2c@a84000 {
    compatible = "qcom,geni-i2c";
    reg = <0x0 0x00a84000 0x0 0x4000>;
    clock-names = "se";
    clocks = <&gcc GCC_QUPV3_WRAP1_S1_CLK>;
    pinctrl-names = "default";
    pinctrl-0 = <&qup_i2c9_data_clk>;
    interrupts = <GIC_SPI 354 IRQ_TYPE_LEVEL_HIGH>;
    #address-cells = <1>;
    #size-cells = <0>;
    interconnects = <&clk_virt MASTER_QUP_CORE_1 0 &clk_virt SLAVE_QUP_CORE_1 0>,
      <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>,
      <&aggre2_noc MASTER_QUP_1 0 &mc_virt SLAVE_EBI1 0>;
    interconnect-names = "qup-core", "qup-config", "qup-memory";
    dmas = <&gpi_dma1 0 1 QCOM_GPI_I2C>,
           <&gpi_dma1 1 1 QCOM_GPI_I2C>;
    dma-names = "tx", "rx";
    status = "disabled";
   };

   spi9: spi@a84000 {
    compatible = "qcom,geni-spi";
    reg = <0x0 0x00a84000 0x0 0x4000>;
    clock-names = "se";
    clocks = <&gcc GCC_QUPV3_WRAP1_S1_CLK>;
    interrupts = <GIC_SPI 354 IRQ_TYPE_LEVEL_HIGH>;
    pinctrl-names = "default";
    pinctrl-0 = <&qup_spi9_data_clk>, <&qup_spi9_cs>;
    interconnects = <&clk_virt MASTER_QUP_CORE_1 0 &clk_virt SLAVE_QUP_CORE_1 0>,
      <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>,
      <&aggre2_noc MASTER_QUP_1 0 &mc_virt SLAVE_EBI1 0>;
    interconnect-names = "qup-core", "qup-config", "qup-memory";
    dmas = <&gpi_dma1 0 1 QCOM_GPI_SPI>,
           <&gpi_dma1 1 1 QCOM_GPI_SPI>;
    dma-names = "tx", "rx";
    #address-cells = <1>;
    #size-cells = <0>;
    status = "disabled";
   };

   i2c10: i2c@a88000 {
    compatible = "qcom,geni-i2c";
    reg = <0x0 0x00a88000 0x0 0x4000>;
    clock-names = "se";
    clocks = <&gcc GCC_QUPV3_WRAP1_S2_CLK>;
    pinctrl-names = "default";
    pinctrl-0 = <&qup_i2c10_data_clk>;
    interrupts = <GIC_SPI 355 IRQ_TYPE_LEVEL_HIGH>;
    #address-cells = <1>;
    #size-cells = <0>;
    interconnects = <&clk_virt MASTER_QUP_CORE_1 0 &clk_virt SLAVE_QUP_CORE_1 0>,
      <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>,
      <&aggre2_noc MASTER_QUP_1 0 &mc_virt SLAVE_EBI1 0>;
    interconnect-names = "qup-core", "qup-config", "qup-memory";
    dmas = <&gpi_dma1 0 2 QCOM_GPI_I2C>,
           <&gpi_dma1 1 2 QCOM_GPI_I2C>;
    dma-names = "tx", "rx";
    status = "disabled";
   };

   spi10: spi@a88000 {
    compatible = "qcom,geni-spi";
    reg = <0x0 0x00a88000 0x0 0x4000>;
    clock-names = "se";
    clocks = <&gcc GCC_QUPV3_WRAP1_S2_CLK>;
    interrupts = <GIC_SPI 355 IRQ_TYPE_LEVEL_HIGH>;
    pinctrl-names = "default";
    pinctrl-0 = <&qup_spi10_data_clk>, <&qup_spi10_cs>;
    interconnects = <&clk_virt MASTER_QUP_CORE_1 0 &clk_virt SLAVE_QUP_CORE_1 0>,
      <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>,
      <&aggre2_noc MASTER_QUP_1 0 &mc_virt SLAVE_EBI1 0>;
    interconnect-names = "qup-core", "qup-config", "qup-memory";
    dmas = <&gpi_dma1 0 2 QCOM_GPI_SPI>,
           <&gpi_dma1 1 2 QCOM_GPI_SPI>;
    dma-names = "tx", "rx";
    #address-cells = <1>;
    #size-cells = <0>;
    status = "disabled";
   };

   i2c11: i2c@a8c000 {
    compatible = "qcom,geni-i2c";
    reg = <0x0 0x00a8c000 0x0 0x4000>;
    clock-names = "se";
    clocks = <&gcc GCC_QUPV3_WRAP1_S3_CLK>;
    pinctrl-names = "default";
    pinctrl-0 = <&qup_i2c11_data_clk>;
    interrupts = <GIC_SPI 356 IRQ_TYPE_LEVEL_HIGH>;
    #address-cells = <1>;
    #size-cells = <0>;
    interconnects = <&clk_virt MASTER_QUP_CORE_1 0 &clk_virt SLAVE_QUP_CORE_1 0>,
      <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>,
      <&aggre2_noc MASTER_QUP_1 0 &mc_virt SLAVE_EBI1 0>;
    interconnect-names = "qup-core", "qup-config", "qup-memory";
    dmas = <&gpi_dma1 0 3 QCOM_GPI_I2C>,
           <&gpi_dma1 1 3 QCOM_GPI_I2C>;
    dma-names = "tx", "rx";
    status = "disabled";
   };

   spi11: spi@a8c000 {
    compatible = "qcom,geni-spi";
    reg = <0x0 0x00a8c000 0x0 0x4000>;
    clock-names = "se";
    clocks = <&gcc GCC_QUPV3_WRAP1_S3_CLK>;
    interrupts = <GIC_SPI 356 IRQ_TYPE_LEVEL_HIGH>;
    pinctrl-names = "default";
    pinctrl-0 = <&qup_spi11_data_clk>, <&qup_spi11_cs>;
    interconnects = <&clk_virt MASTER_QUP_CORE_1 0 &clk_virt SLAVE_QUP_CORE_1 0>,
      <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>,
      <&aggre2_noc MASTER_QUP_1 0 &mc_virt SLAVE_EBI1 0>;
    interconnect-names = "qup-core", "qup-config", "qup-memory";
    dmas = <&gpi_dma1 0 3 QCOM_GPI_SPI>,
           <&gpi_dma1 1 3 QCOM_GPI_SPI>;
    dma-names = "tx", "rx";
    #address-cells = <1>;
    #size-cells = <0>;
    status = "disabled";
   };

   i2c12: i2c@a90000 {
    compatible = "qcom,geni-i2c";
    reg = <0x0 0x00a90000 0x0 0x4000>;
    clock-names = "se";
    clocks = <&gcc GCC_QUPV3_WRAP1_S4_CLK>;
    pinctrl-names = "default";
    pinctrl-0 = <&qup_i2c12_data_clk>;
    interrupts = <GIC_SPI 357 IRQ_TYPE_LEVEL_HIGH>;
    #address-cells = <1>;
    #size-cells = <0>;
    interconnects = <&clk_virt MASTER_QUP_CORE_1 0 &clk_virt SLAVE_QUP_CORE_1 0>,
      <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>,
      <&aggre2_noc MASTER_QUP_1 0 &mc_virt SLAVE_EBI1 0>;
    interconnect-names = "qup-core", "qup-config", "qup-memory";
    dmas = <&gpi_dma1 0 4 QCOM_GPI_I2C>,
           <&gpi_dma1 1 4 QCOM_GPI_I2C>;
    dma-names = "tx", "rx";
    status = "disabled";
   };

   spi12: spi@a90000 {
    compatible = "qcom,geni-spi";
    reg = <0x0 0x00a90000 0x0 0x4000>;
    clock-names = "se";
    clocks = <&gcc GCC_QUPV3_WRAP1_S4_CLK>;
    interrupts = <GIC_SPI 357 IRQ_TYPE_LEVEL_HIGH>;
    pinctrl-names = "default";
    pinctrl-0 = <&qup_spi12_data_clk>, <&qup_spi12_cs>;
    interconnects = <&clk_virt MASTER_QUP_CORE_1 0 &clk_virt SLAVE_QUP_CORE_1 0>,
      <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>,
      <&aggre2_noc MASTER_QUP_1 0 &mc_virt SLAVE_EBI1 0>;
    interconnect-names = "qup-core", "qup-config", "qup-memory";
    dmas = <&gpi_dma1 0 4 QCOM_GPI_SPI>,
           <&gpi_dma1 1 4 QCOM_GPI_SPI>;
    dma-names = "tx", "rx";
    #address-cells = <1>;
    #size-cells = <0>;
    status = "disabled";
   };

   i2c13: i2c@a94000 {
    compatible = "qcom,geni-i2c";
    reg = <0 0x00a94000 0 0x4000>;
    clock-names = "se";
    clocks = <&gcc GCC_QUPV3_WRAP1_S5_CLK>;
    pinctrl-names = "default";
    pinctrl-0 = <&qup_i2c13_data_clk>;
    interrupts = <GIC_SPI 358 IRQ_TYPE_LEVEL_HIGH>;
    interconnects = <&clk_virt MASTER_QUP_CORE_1 0 &clk_virt SLAVE_QUP_CORE_1 0>,
      <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>,
      <&aggre2_noc MASTER_QUP_1 0 &mc_virt SLAVE_EBI1 0>;
    interconnect-names = "qup-core", "qup-config", "qup-memory";
    dmas = <&gpi_dma1 0 5 QCOM_GPI_I2C>,
           <&gpi_dma1 1 5 QCOM_GPI_I2C>;
    dma-names = "tx", "rx";
    #address-cells = <1>;
    #size-cells = <0>;
    status = "disabled";
   };

   spi13: spi@a94000 {
    compatible = "qcom,geni-spi";
    reg = <0x0 0x00a94000 0x0 0x4000>;
    clock-names = "se";
    clocks = <&gcc GCC_QUPV3_WRAP1_S5_CLK>;
    interrupts = <GIC_SPI 358 IRQ_TYPE_LEVEL_HIGH>;
    pinctrl-names = "default";
    pinctrl-0 = <&qup_spi13_data_clk>, <&qup_spi13_cs>;
    interconnects = <&clk_virt MASTER_QUP_CORE_1 0 &clk_virt SLAVE_QUP_CORE_1 0>,
      <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>,
      <&aggre2_noc MASTER_QUP_1 0 &mc_virt SLAVE_EBI1 0>;
    interconnect-names = "qup-core", "qup-config", "qup-memory";
    dmas = <&gpi_dma1 0 5 QCOM_GPI_SPI>,
           <&gpi_dma1 1 5 QCOM_GPI_SPI>;
    dma-names = "tx", "rx";
    #address-cells = <1>;
    #size-cells = <0>;
    status = "disabled";
   };

   i2c14: i2c@a98000 {
    compatible = "qcom,geni-i2c";
    reg = <0 0x00a98000 0 0x4000>;
    clock-names = "se";
    clocks = <&gcc GCC_QUPV3_WRAP1_S6_CLK>;
    pinctrl-names = "default";
    pinctrl-0 = <&qup_i2c14_data_clk>;
    interrupts = <GIC_SPI 363 IRQ_TYPE_LEVEL_HIGH>;
    interconnects = <&clk_virt MASTER_QUP_CORE_1 0 &clk_virt SLAVE_QUP_CORE_1 0>,
      <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>,
      <&aggre2_noc MASTER_QUP_1 0 &mc_virt SLAVE_EBI1 0>;
    interconnect-names = "qup-core", "qup-config", "qup-memory";
    dmas = <&gpi_dma1 0 6 QCOM_GPI_I2C>,
           <&gpi_dma1 1 6 QCOM_GPI_I2C>;
    dma-names = "tx", "rx";
    #address-cells = <1>;
    #size-cells = <0>;
    status = "disabled";
   };

   spi14: spi@a98000 {
    compatible = "qcom,geni-spi";
    reg = <0x0 0x00a98000 0x0 0x4000>;
    clock-names = "se";
    clocks = <&gcc GCC_QUPV3_WRAP1_S6_CLK>;
    interrupts = <GIC_SPI 363 IRQ_TYPE_LEVEL_HIGH>;
    pinctrl-names = "default";
    pinctrl-0 = <&qup_spi14_data_clk>, <&qup_spi14_cs>;
    interconnects = <&clk_virt MASTER_QUP_CORE_1 0 &clk_virt SLAVE_QUP_CORE_1 0>,
      <&system_noc MASTER_A2NOC_SNOC 0 &gem_noc SLAVE_LLCC 0>,
      <&aggre2_noc MASTER_QUP_1 0 &mc_virt SLAVE_EBI1 0>;
    interconnect-names = "qup-core", "qup-config", "qup-memory";
    dmas = <&gpi_dma1 0 6 QCOM_GPI_SPI>,
           <&gpi_dma1 1 6 QCOM_GPI_SPI>;
    dma-names = "tx", "rx";
    #address-cells = <1>;
    #size-cells = <0>;
    status = "disabled";
   };
  };

  rng: rng@10c3000 {
   compatible = "qcom,sm8450-trng", "qcom,trng";
   reg = <0 0x010c3000 0 0x1000>;
  };

  pcie0: pcie@1c00000 {
   compatible = "qcom,pcie-sm8450-pcie0";
   reg = <0 0x01c00000 0 0x3000>,
         <0 0x60000000 0 0xf1d>,
         <0 0x60000f20 0 0xa8>,
         <0 0x60001000 0 0x1000>,
         <0 0x60100000 0 0x100000>;
   reg-names = "parf", "dbi", "elbi", "atu", "config";
   device_type = "pci";
   linux,pci-domain = <0>;
   bus-range = <0x00 0xff>;
   num-lanes = <1>;

   #address-cells = <3>;
   #size-cells = <2>;

   ranges = <0x01000000 0x0 0x00000000 0x0 0x60200000 0x0 0x100000>,
     <0x02000000 0x0 0x60300000 0x0 0x60300000 0x0 0x3d00000>;

   msi-map = <0x0 &gic_its 0x5980 0x1>,
      <0x100 &gic_its 0x5981 0x1>;
   msi-map-mask = <0xff00>;
   interrupts = <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>,
         <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
         <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>,
         <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>,
         <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>,
         <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>,
         <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>,
         <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>,
         <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>;
   interrupt-names = "msi0",
       "msi1",
       "msi2",
       "msi3",
       "msi4",
       "msi5",
       "msi6",
       "msi7",
       "global";
   #interrupt-cells = <1>;
   interrupt-map-mask = <0 0 0 0x7>;
   interrupt-map = <0 0 0 1 &intc 0 0 0 149 IRQ_TYPE_LEVEL_HIGH>, /* int_a */
     <0 0 0 2 &intc 0 0 0 150 IRQ_TYPE_LEVEL_HIGH>, /* int_b */
     <0 0 0 3 &intc 0 0 0 151 IRQ_TYPE_LEVEL_HIGH>, /* int_c */
     <0 0 0 4 &intc 0 0 0 152 IRQ_TYPE_LEVEL_HIGH>; /* int_d */

   interconnects = <&pcie_noc MASTER_PCIE_0 QCOM_ICC_TAG_ALWAYS
      &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>,
     <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS
      &config_noc SLAVE_PCIE_0 QCOM_ICC_TAG_ALWAYS>;
   interconnect-names = "pcie-mem", "cpu-pcie";

   clocks = <&gcc GCC_PCIE_0_PIPE_CLK>,
     <&gcc GCC_PCIE_0_PIPE_CLK_SRC>,
     <&pcie0_phy>,
     <&rpmhcc RPMH_CXO_CLK>,
     <&gcc GCC_PCIE_0_AUX_CLK>,
     <&gcc GCC_PCIE_0_CFG_AHB_CLK>,
     <&gcc GCC_PCIE_0_MSTR_AXI_CLK>,
     <&gcc GCC_PCIE_0_SLV_AXI_CLK>,
     <&gcc GCC_PCIE_0_SLV_Q2A_AXI_CLK>,
     <&gcc GCC_DDRSS_PCIE_SF_TBU_CLK>,
     <&gcc GCC_AGGRE_NOC_PCIE_0_AXI_CLK>,
     <&gcc GCC_AGGRE_NOC_PCIE_1_AXI_CLK>;
   clock-names = "pipe",
          "pipe_mux",
          "phy_pipe",
          "ref",
          "aux",
          "cfg",
          "bus_master",
          "bus_slave",
          "slave_q2a",
          "ddrss_sf_tbu",
          "aggre0",
          "aggre1";

   iommu-map = <0x0   &apps_smmu 0x1c00 0x1>,
        <0x100 &apps_smmu 0x1c01 0x1>;

   resets = <&gcc GCC_PCIE_0_BCR>;
   reset-names = "pci";

   power-domains = <&gcc PCIE_0_GDSC>;

   phys = <&pcie0_phy>;
   phy-names = "pciephy";

   perst-gpios = <&tlmm 94 GPIO_ACTIVE_LOW>;
   wake-gpios = <&tlmm 96 GPIO_ACTIVE_HIGH>;

   pinctrl-names = "default";
   pinctrl-0 = <&pcie0_default_state>;

   operating-points-v2 = <&pcie0_opp_table>;

   status = "disabled";

   pcie0_opp_table: opp-table {
    compatible = "operating-points-v2";

    /* GEN 1 x1 */
    opp-2500000 {
     opp-hz = /bits/ 64 <2500000>;
     required-opps = <&rpmhpd_opp_low_svs>;
     opp-peak-kBps = <250000 1>;
    };

    /* GEN 2 x1 */
    opp-5000000 {
     opp-hz = /bits/ 64 <5000000>;
     required-opps = <&rpmhpd_opp_low_svs>;
     opp-peak-kBps = <500000 1>;
    };

    /* GEN 3 x1 */
    opp-8000000 {
     opp-hz = /bits/ 64 <8000000>;
     required-opps = <&rpmhpd_opp_nom>;
     opp-peak-kBps = <984500 1>;
    };
   };

   pcieport0: pcie@0 {
    device_type = "pci";
    reg = <0x0 0x0 0x0 0x0 0x0>;
    bus-range = <0x01 0xff>;

    #address-cells = <3>;
    #size-cells = <2>;
    ranges;
   };
  };

  pcie0_phy: phy@1c06000 {
   compatible = "qcom,sm8450-qmp-gen3x1-pcie-phy";
   reg = <0 0x01c06000 0 0x2000>;

   clocks = <&gcc GCC_PCIE_0_AUX_CLK>,
     <&gcc GCC_PCIE_0_CFG_AHB_CLK>,
     <&gcc GCC_PCIE_0_CLKREF_EN>,
     <&gcc GCC_PCIE_0_PHY_RCHNG_CLK>,
     <&gcc GCC_PCIE_0_PIPE_CLK>;
   clock-names = "aux",
          "cfg_ahb",
          "ref",
          "rchng",
          "pipe";

   clock-output-names = "pcie_0_pipe_clk";
   #clock-cells = <0>;

   #phy-cells = <0>;

   resets = <&gcc GCC_PCIE_0_PHY_BCR>;
   reset-names = "phy";

   assigned-clocks = <&gcc GCC_PCIE_0_PHY_RCHNG_CLK>;
   assigned-clock-rates = <100000000>;

   status = "disabled";
  };

  pcie1: pcie@1c08000 {
   compatible = "qcom,pcie-sm8450-pcie1";
   reg = <0 0x01c08000 0 0x3000>,
         <0 0x40000000 0 0xf1d>,
         <0 0x40000f20 0 0xa8>,
         <0 0x40001000 0 0x1000>,
         <0 0x40100000 0 0x100000>;
   reg-names = "parf", "dbi", "elbi", "atu", "config";
   device_type = "pci";
   linux,pci-domain = <1>;
   bus-range = <0x00 0xff>;
   num-lanes = <2>;

   #address-cells = <3>;
   #size-cells = <2>;

   ranges = <0x01000000 0x0 0x00000000 0x0 0x40200000 0x0 0x100000>,
     <0x02000000 0x0 0x40300000 0x0 0x40300000 0x0 0x1fd00000>;

   msi-map = <0x0 &gic_its 0x5a00 0x1>,
      <0x100 &gic_its 0x5a01 0x1>;
   msi-map-mask = <0xff00>;
   interrupts = <GIC_SPI 307 IRQ_TYPE_LEVEL_HIGH>,
         <GIC_SPI 308 IRQ_TYPE_LEVEL_HIGH>,
         <GIC_SPI 309 IRQ_TYPE_LEVEL_HIGH>,
         <GIC_SPI 312 IRQ_TYPE_LEVEL_HIGH>,
         <GIC_SPI 313 IRQ_TYPE_LEVEL_HIGH>,
         <GIC_SPI 314 IRQ_TYPE_LEVEL_HIGH>,
         <GIC_SPI 374 IRQ_TYPE_LEVEL_HIGH>,
         <GIC_SPI 375 IRQ_TYPE_LEVEL_HIGH>,
         <GIC_SPI 306 IRQ_TYPE_LEVEL_HIGH>;
   interrupt-names = "msi0",
       "msi1",
       "msi2",
       "msi3",
       "msi4",
       "msi5",
       "msi6",
       "msi7",
       "global";
   #interrupt-cells = <1>;
   interrupt-map-mask = <0 0 0 0x7>;
   interrupt-map = <0 0 0 1 &intc 0 0 0 434 IRQ_TYPE_LEVEL_HIGH>, /* int_a */
     <0 0 0 2 &intc 0 0 0 435 IRQ_TYPE_LEVEL_HIGH>, /* int_b */
     <0 0 0 3 &intc 0 0 0 438 IRQ_TYPE_LEVEL_HIGH>, /* int_c */
     <0 0 0 4 &intc 0 0 0 439 IRQ_TYPE_LEVEL_HIGH>; /* int_d */

   interconnects = <&pcie_noc MASTER_PCIE_1 QCOM_ICC_TAG_ALWAYS
      &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>,
     <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ALWAYS
      &config_noc SLAVE_PCIE_1 QCOM_ICC_TAG_ALWAYS>;
   interconnect-names = "pcie-mem", "cpu-pcie";

   clocks = <&gcc GCC_PCIE_1_PIPE_CLK>,
     <&gcc GCC_PCIE_1_PIPE_CLK_SRC>,
     <&pcie1_phy QMP_PCIE_PIPE_CLK>,
     <&rpmhcc RPMH_CXO_CLK>,
     <&gcc GCC_PCIE_1_AUX_CLK>,
     <&gcc GCC_PCIE_1_CFG_AHB_CLK>,
     <&gcc GCC_PCIE_1_MSTR_AXI_CLK>,
     <&gcc GCC_PCIE_1_SLV_AXI_CLK>,
     <&gcc GCC_PCIE_1_SLV_Q2A_AXI_CLK>,
     <&gcc GCC_DDRSS_PCIE_SF_TBU_CLK>,
     <&gcc GCC_AGGRE_NOC_PCIE_1_AXI_CLK>;
   clock-names = "pipe",
          "pipe_mux",
          "phy_pipe",
          "ref",
          "aux",
          "cfg",
          "bus_master",
          "bus_slave",
          "slave_q2a",
          "ddrss_sf_tbu",
          "aggre1";

   iommu-map = <0x0   &apps_smmu 0x1c80 0x1>,
        <0x100 &apps_smmu 0x1c81 0x1>;

   resets = <&gcc GCC_PCIE_1_BCR>;
   reset-names = "pci";

   power-domains = <&gcc PCIE_1_GDSC>;

   phys = <&pcie1_phy>;
   phy-names = "pciephy";

   perst-gpios = <&tlmm 97 GPIO_ACTIVE_LOW>;
   wake-gpios = <&tlmm 99 GPIO_ACTIVE_HIGH>;

   pinctrl-names = "default";
   pinctrl-0 = <&pcie1_default_state>;

   operating-points-v2 = <&pcie1_opp_table>;

   status = "disabled";

   pcie1_opp_table: opp-table {
    compatible = "operating-points-v2";

    /* GEN 1 x1 */
    opp-2500000 {
     opp-hz = /bits/ 64 <2500000>;
     required-opps = <&rpmhpd_opp_low_svs>;
     opp-peak-kBps = <250000 1>;
    };

    /* GEN 1 x2 and GEN 2 x1 */
    opp-5000000 {
     opp-hz = /bits/ 64 <5000000>;
     required-opps = <&rpmhpd_opp_low_svs>;
     opp-peak-kBps = <500000 1>;
    };

    /* GEN 2 x2 */
    opp-10000000 {
     opp-hz = /bits/ 64 <10000000>;
     required-opps = <&rpmhpd_opp_low_svs>;
     opp-peak-kBps = <1000000 1>;
    };

    /* GEN 3 x1 */
    opp-8000000 {
     opp-hz = /bits/ 64 <8000000>;
     required-opps = <&rpmhpd_opp_nom>;
     opp-peak-kBps = <984500 1>;
    };

    /* GEN 3 x2 and GEN 4 x1 */
    opp-16000000 {
     opp-hz = /bits/ 64 <16000000>;
     required-opps = <&rpmhpd_opp_nom>;
     opp-peak-kBps = <1969000 1>;
    };

    /* GEN 4 x2 */
    opp-32000000 {
     opp-hz = /bits/ 64 <32000000>;
     required-opps = <&rpmhpd_opp_nom>;
     opp-peak-kBps = <3938000 1>;
    };
   };

   pcie@0 {
    device_type = "pci";
    reg = <0x0 0x0 0x0 0x0 0x0>;
    bus-range = <0x01 0xff>;

    #address-cells = <3>;
    #size-cells = <2>;
    ranges;
   };
  };

  pcie1_ep: pcie-ep@1c08000 {
   compatible = "qcom,sm8450-pcie-ep";
   reg = <0x0 0x01c08000 0x0 0x3000>,
         <0x0 0x40000000 0x0 0xf1d>,
         <0x0 0x40000f20 0x0 0xa8>,
         <0x0 0x40001000 0x0 0x1000>,
         <0x0 0x40200000 0x0 0x1000000>,
         <0x0 0x01c0b000 0x0 0x1000>,
         <0x0 0x40002000 0x0 0x1000>;
   reg-names = "parf",
        "dbi",
        "elbi",
        "atu",
        "addr_space",
        "mmio",
        "dma";

   clocks = <&gcc GCC_PCIE_1_AUX_CLK>,
     <&gcc GCC_PCIE_1_CFG_AHB_CLK>,
     <&gcc GCC_PCIE_1_MSTR_AXI_CLK>,
     <&gcc GCC_PCIE_1_SLV_AXI_CLK>,
     <&gcc GCC_PCIE_1_SLV_Q2A_AXI_CLK>,
     <&rpmhcc RPMH_CXO_CLK>,
     <&gcc GCC_DDRSS_PCIE_SF_TBU_CLK>,
     <&gcc GCC_AGGRE_NOC_PCIE_1_AXI_CLK>;
   clock-names = "aux",
          "cfg",
          "bus_master",
          "bus_slave",
          "slave_q2a",
--> --------------------

--> maximum size reached

--> --------------------

[ zur Elbe Produktseite wechseln0.92Quellennavigators  ]