The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/contrib/device-tree/src/arm64/qcom/ipq6018.dtsi

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 // SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
    2 /*
    3  * IPQ6018 SoC device tree source
    4  *
    5  * Copyright (c) 2019, The Linux Foundation. All rights reserved.
    6  */
    7 
    8 #include <dt-bindings/interrupt-controller/arm-gic.h>
    9 #include <dt-bindings/clock/qcom,gcc-ipq6018.h>
   10 #include <dt-bindings/reset/qcom,gcc-ipq6018.h>
   11 #include <dt-bindings/clock/qcom,apss-ipq.h>
   12 
   13 / {
   14         #address-cells = <2>;
   15         #size-cells = <2>;
   16         interrupt-parent = <&intc>;
   17 
   18         clocks {
   19                 sleep_clk: sleep-clk {
   20                         compatible = "fixed-clock";
   21                         clock-frequency = <32000>;
   22                         #clock-cells = <0>;
   23                 };
   24 
   25                 xo: xo {
   26                         compatible = "fixed-clock";
   27                         clock-frequency = <24000000>;
   28                         #clock-cells = <0>;
   29                 };
   30         };
   31 
   32         cpus: cpus {
   33                 #address-cells = <1>;
   34                 #size-cells = <0>;
   35 
   36                 CPU0: cpu@0 {
   37                         device_type = "cpu";
   38                         compatible = "arm,cortex-a53";
   39                         reg = <0x0>;
   40                         enable-method = "psci";
   41                         next-level-cache = <&L2_0>;
   42                         clocks = <&apcs_glb APCS_ALIAS0_CORE_CLK>;
   43                         clock-names = "cpu";
   44                         operating-points-v2 = <&cpu_opp_table>;
   45                         cpu-supply = <&ipq6018_s2>;
   46                 };
   47 
   48                 CPU1: cpu@1 {
   49                         device_type = "cpu";
   50                         compatible = "arm,cortex-a53";
   51                         enable-method = "psci";
   52                         reg = <0x1>;
   53                         next-level-cache = <&L2_0>;
   54                         clocks = <&apcs_glb APCS_ALIAS0_CORE_CLK>;
   55                         clock-names = "cpu";
   56                         operating-points-v2 = <&cpu_opp_table>;
   57                         cpu-supply = <&ipq6018_s2>;
   58                 };
   59 
   60                 CPU2: cpu@2 {
   61                         device_type = "cpu";
   62                         compatible = "arm,cortex-a53";
   63                         enable-method = "psci";
   64                         reg = <0x2>;
   65                         next-level-cache = <&L2_0>;
   66                         clocks = <&apcs_glb APCS_ALIAS0_CORE_CLK>;
   67                         clock-names = "cpu";
   68                         operating-points-v2 = <&cpu_opp_table>;
   69                         cpu-supply = <&ipq6018_s2>;
   70                 };
   71 
   72                 CPU3: cpu@3 {
   73                         device_type = "cpu";
   74                         compatible = "arm,cortex-a53";
   75                         enable-method = "psci";
   76                         reg = <0x3>;
   77                         next-level-cache = <&L2_0>;
   78                         clocks = <&apcs_glb APCS_ALIAS0_CORE_CLK>;
   79                         clock-names = "cpu";
   80                         operating-points-v2 = <&cpu_opp_table>;
   81                         cpu-supply = <&ipq6018_s2>;
   82                 };
   83 
   84                 L2_0: l2-cache {
   85                         compatible = "cache";
   86                         cache-level = <0x2>;
   87                 };
   88         };
   89 
   90         cpu_opp_table: opp-table-cpu {
   91                 compatible = "operating-points-v2";
   92                 opp-shared;
   93 
   94                 opp-864000000 {
   95                         opp-hz = /bits/ 64 <864000000>;
   96                         opp-microvolt = <725000>;
   97                         clock-latency-ns = <200000>;
   98                 };
   99                 opp-1056000000 {
  100                         opp-hz = /bits/ 64 <1056000000>;
  101                         opp-microvolt = <787500>;
  102                         clock-latency-ns = <200000>;
  103                 };
  104                 opp-1320000000 {
  105                         opp-hz = /bits/ 64 <1320000000>;
  106                         opp-microvolt = <862500>;
  107                         clock-latency-ns = <200000>;
  108                 };
  109                 opp-1440000000 {
  110                         opp-hz = /bits/ 64 <1440000000>;
  111                         opp-microvolt = <925000>;
  112                         clock-latency-ns = <200000>;
  113                 };
  114                 opp-1608000000 {
  115                         opp-hz = /bits/ 64 <1608000000>;
  116                         opp-microvolt = <987500>;
  117                         clock-latency-ns = <200000>;
  118                 };
  119                 opp-1800000000 {
  120                         opp-hz = /bits/ 64 <1800000000>;
  121                         opp-microvolt = <1062500>;
  122                         clock-latency-ns = <200000>;
  123                 };
  124         };
  125 
  126         firmware {
  127                 scm {
  128                         compatible = "qcom,scm-ipq6018", "qcom,scm";
  129                 };
  130         };
  131 
  132         tcsr_mutex: hwlock {
  133                 compatible = "qcom,tcsr-mutex";
  134                 syscon = <&tcsr_mutex_regs 0 0x80>;
  135                 #hwlock-cells = <1>;
  136         };
  137 
  138         pmuv8: pmu {
  139                 compatible = "arm,cortex-a53-pmu";
  140                 interrupts = <GIC_PPI 7 (GIC_CPU_MASK_SIMPLE(4) |
  141                                          IRQ_TYPE_LEVEL_HIGH)>;
  142         };
  143 
  144         psci: psci {
  145                 compatible = "arm,psci-1.0";
  146                 method = "smc";
  147         };
  148 
  149         reserved-memory {
  150                 #address-cells = <2>;
  151                 #size-cells = <2>;
  152                 ranges;
  153 
  154                 rpm_msg_ram: memory@60000 {
  155                         reg = <0x0 0x60000 0x0 0x6000>;
  156                         no-map;
  157                 };
  158 
  159                 tz: memory@4a600000 {
  160                         reg = <0x0 0x4a600000 0x0 0x00400000>;
  161                         no-map;
  162                 };
  163 
  164                 smem_region: memory@4aa00000 {
  165                         reg = <0x0 0x4aa00000 0x0 0x00100000>;
  166                         no-map;
  167                 };
  168 
  169                 q6_region: memory@4ab00000 {
  170                         reg = <0x0 0x4ab00000 0x0 0x05500000>;
  171                         no-map;
  172                 };
  173         };
  174 
  175         smem {
  176                 compatible = "qcom,smem";
  177                 memory-region = <&smem_region>;
  178                 hwlocks = <&tcsr_mutex 0>;
  179         };
  180 
  181         soc: soc {
  182                 #address-cells = <2>;
  183                 #size-cells = <2>;
  184                 ranges = <0 0 0 0 0x0 0xffffffff>;
  185                 dma-ranges;
  186                 compatible = "simple-bus";
  187 
  188                 prng: qrng@e1000 {
  189                         compatible = "qcom,prng-ee";
  190                         reg = <0x0 0xe3000 0x0 0x1000>;
  191                         clocks = <&gcc GCC_PRNG_AHB_CLK>;
  192                         clock-names = "core";
  193                 };
  194 
  195                 cryptobam: dma-controller@704000 {
  196                         compatible = "qcom,bam-v1.7.0";
  197                         reg = <0x0 0x00704000 0x0 0x20000>;
  198                         interrupts = <GIC_SPI 207 IRQ_TYPE_LEVEL_HIGH>;
  199                         clocks = <&gcc GCC_CRYPTO_AHB_CLK>;
  200                         clock-names = "bam_clk";
  201                         #dma-cells = <1>;
  202                         qcom,ee = <1>;
  203                         qcom,controlled-remotely;
  204                 };
  205 
  206                 crypto: crypto@73a000 {
  207                         compatible = "qcom,crypto-v5.1";
  208                         reg = <0x0 0x0073a000 0x0 0x6000>;
  209                         clocks = <&gcc GCC_CRYPTO_AHB_CLK>,
  210                                 <&gcc GCC_CRYPTO_AXI_CLK>,
  211                                 <&gcc GCC_CRYPTO_CLK>;
  212                         clock-names = "iface", "bus", "core";
  213                         dmas = <&cryptobam 2>, <&cryptobam 3>;
  214                         dma-names = "rx", "tx";
  215                 };
  216 
  217                 tlmm: pinctrl@1000000 {
  218                         compatible = "qcom,ipq6018-pinctrl";
  219                         reg = <0x0 0x01000000 0x0 0x300000>;
  220                         interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;
  221                         gpio-controller;
  222                         #gpio-cells = <2>;
  223                         gpio-ranges = <&tlmm 0 0 80>;
  224                         interrupt-controller;
  225                         #interrupt-cells = <2>;
  226 
  227                         serial_3_pins: serial3-pinmux {
  228                                 pins = "gpio44", "gpio45";
  229                                 function = "blsp2_uart";
  230                                 drive-strength = <8>;
  231                                 bias-pull-down;
  232                         };
  233 
  234                         qpic_pins: qpic-pins {
  235                                 pins = "gpio1", "gpio3", "gpio4",
  236                                         "gpio5", "gpio6", "gpio7",
  237                                         "gpio8", "gpio10", "gpio11",
  238                                         "gpio12", "gpio13", "gpio14",
  239                                         "gpio15", "gpio17";
  240                                 function = "qpic_pad";
  241                                 drive-strength = <8>;
  242                                 bias-disable;
  243                         };
  244                 };
  245 
  246                 gcc: gcc@1800000 {
  247                         compatible = "qcom,gcc-ipq6018";
  248                         reg = <0x0 0x01800000 0x0 0x80000>;
  249                         clocks = <&xo>, <&sleep_clk>;
  250                         clock-names = "xo", "sleep_clk";
  251                         #clock-cells = <1>;
  252                         #reset-cells = <1>;
  253                 };
  254 
  255                 tcsr_mutex_regs: syscon@1905000 {
  256                         compatible = "syscon";
  257                         reg = <0x0 0x01905000 0x0 0x8000>;
  258                 };
  259 
  260                 tcsr: syscon@1937000 {
  261                         compatible = "syscon";
  262                         reg = <0x0 0x01937000 0x0 0x21000>;
  263                 };
  264 
  265                 blsp_dma: dma-controller@7884000 {
  266                         compatible = "qcom,bam-v1.7.0";
  267                         reg = <0x0 0x07884000 0x0 0x2b000>;
  268                         interrupts = <GIC_SPI 238 IRQ_TYPE_LEVEL_HIGH>;
  269                         clocks = <&gcc GCC_BLSP1_AHB_CLK>;
  270                         clock-names = "bam_clk";
  271                         #dma-cells = <1>;
  272                         qcom,ee = <0>;
  273                 };
  274 
  275                 blsp1_uart3: serial@78b1000 {
  276                         compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
  277                         reg = <0x0 0x078b1000 0x0 0x200>;
  278                         interrupts = <GIC_SPI 306 IRQ_TYPE_LEVEL_HIGH>;
  279                         clocks = <&gcc GCC_BLSP1_UART3_APPS_CLK>,
  280                                 <&gcc GCC_BLSP1_AHB_CLK>;
  281                         clock-names = "core", "iface";
  282                         status = "disabled";
  283                 };
  284 
  285                 blsp1_spi1: spi@78b5000 {
  286                         compatible = "qcom,spi-qup-v2.2.1";
  287                         #address-cells = <1>;
  288                         #size-cells = <0>;
  289                         reg = <0x0 0x078b5000 0x0 0x600>;
  290                         interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
  291                         spi-max-frequency = <50000000>;
  292                         clocks = <&gcc GCC_BLSP1_QUP1_SPI_APPS_CLK>,
  293                                 <&gcc GCC_BLSP1_AHB_CLK>;
  294                         clock-names = "core", "iface";
  295                         dmas = <&blsp_dma 12>, <&blsp_dma 13>;
  296                         dma-names = "tx", "rx";
  297                         status = "disabled";
  298                 };
  299 
  300                 blsp1_spi2: spi@78b6000 {
  301                         compatible = "qcom,spi-qup-v2.2.1";
  302                         #address-cells = <1>;
  303                         #size-cells = <0>;
  304                         reg = <0x0 0x078b6000 0x0 0x600>;
  305                         interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
  306                         spi-max-frequency = <50000000>;
  307                         clocks = <&gcc GCC_BLSP1_QUP2_SPI_APPS_CLK>,
  308                                 <&gcc GCC_BLSP1_AHB_CLK>;
  309                         clock-names = "core", "iface";
  310                         dmas = <&blsp_dma 14>, <&blsp_dma 15>;
  311                         dma-names = "tx", "rx";
  312                         status = "disabled";
  313                 };
  314 
  315                 blsp1_i2c2: i2c@78b6000 {
  316                         compatible = "qcom,i2c-qup-v2.2.1";
  317                         #address-cells = <1>;
  318                         #size-cells = <0>;
  319                         reg = <0x0 0x078b6000 0x0 0x600>;
  320                         interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
  321                         clocks = <&gcc GCC_BLSP1_QUP2_I2C_APPS_CLK>,
  322                                  <&gcc GCC_BLSP1_AHB_CLK>;
  323                         clock-names = "core", "iface";
  324                         clock-frequency = <400000>;
  325                         dmas = <&blsp_dma 14>, <&blsp_dma 15>;
  326                         dma-names = "tx", "rx";
  327                         status = "disabled";
  328                 };
  329 
  330                 blsp1_i2c3: i2c@78b7000 {
  331                         compatible = "qcom,i2c-qup-v2.2.1";
  332                         #address-cells = <1>;
  333                         #size-cells = <0>;
  334                         reg = <0x0 0x078b7000 0x0 0x600>;
  335                         interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
  336                         clocks = <&gcc GCC_BLSP1_QUP3_I2C_APPS_CLK>,
  337                                  <&gcc GCC_BLSP1_AHB_CLK>;
  338                         clock-names = "core", "iface";
  339                         clock-frequency = <400000>;
  340                         dmas = <&blsp_dma 16>, <&blsp_dma 17>;
  341                         dma-names = "tx", "rx";
  342                         status = "disabled";
  343                 };
  344 
  345                 qpic_bam: dma-controller@7984000 {
  346                         compatible = "qcom,bam-v1.7.0";
  347                         reg = <0x0 0x07984000 0x0 0x1a000>;
  348                         interrupts = <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>;
  349                         clocks = <&gcc GCC_QPIC_AHB_CLK>;
  350                         clock-names = "bam_clk";
  351                         #dma-cells = <1>;
  352                         qcom,ee = <0>;
  353                         status = "disabled";
  354                 };
  355 
  356                 qpic_nand: nand@79b0000 {
  357                         compatible = "qcom,ipq6018-nand";
  358                         reg = <0x0 0x079b0000 0x0 0x10000>;
  359                         #address-cells = <1>;
  360                         #size-cells = <0>;
  361                         clocks = <&gcc GCC_QPIC_CLK>,
  362                                  <&gcc GCC_QPIC_AHB_CLK>;
  363                         clock-names = "core", "aon";
  364 
  365                         dmas = <&qpic_bam 0>,
  366                                 <&qpic_bam 1>,
  367                                 <&qpic_bam 2>;
  368                         dma-names = "tx", "rx", "cmd";
  369                         pinctrl-0 = <&qpic_pins>;
  370                         pinctrl-names = "default";
  371                         status = "disabled";
  372                 };
  373 
  374                 intc: interrupt-controller@b000000 {
  375                         compatible = "qcom,msm-qgic2";
  376                         #address-cells = <2>;
  377                         #size-cells = <2>;
  378                         interrupt-controller;
  379                         #interrupt-cells = <0x3>;
  380                         reg =   <0x0 0x0b000000 0x0 0x1000>,  /*GICD*/
  381                                 <0x0 0x0b002000 0x0 0x1000>,  /*GICC*/
  382                                 <0x0 0x0b001000 0x0 0x1000>,  /*GICH*/
  383                                 <0x0 0x0b004000 0x0 0x1000>;  /*GICV*/
  384                         interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
  385                         ranges = <0 0 0 0xb00a000 0 0xffd>;
  386 
  387                         v2m@0 {
  388                                 compatible = "arm,gic-v2m-frame";
  389                                 msi-controller;
  390                                 reg = <0x0 0x0 0x0 0xffd>;
  391                         };
  392                 };
  393 
  394                 pcie_phy: phy@84000 {
  395                         compatible = "qcom,ipq6018-qmp-pcie-phy";
  396                         reg = <0x0 0x84000 0x0 0x1bc>; /* Serdes PLL */
  397                         status = "disabled";
  398                         #address-cells = <2>;
  399                         #size-cells = <2>;
  400                         ranges;
  401 
  402                         clocks = <&gcc GCC_PCIE0_AUX_CLK>,
  403                                 <&gcc GCC_PCIE0_AHB_CLK>;
  404                         clock-names = "aux", "cfg_ahb";
  405 
  406                         resets = <&gcc GCC_PCIE0_PHY_BCR>,
  407                                 <&gcc GCC_PCIE0PHY_PHY_BCR>;
  408                         reset-names = "phy",
  409                                       "common";
  410 
  411                         pcie_phy0: phy@84200 {
  412                                 reg = <0x0 0x84200 0x0 0x16c>, /* Serdes Tx */
  413                                       <0x0 0x84400 0x0 0x200>, /* Serdes Rx */
  414                                       <0x0 0x84800 0x0 0x4f4>; /* PCS: Lane0, COM, PCIE */
  415                                 #phy-cells = <0>;
  416 
  417                                 clocks = <&gcc GCC_PCIE0_PIPE_CLK>;
  418                                 clock-names = "pipe0";
  419                                 clock-output-names = "gcc_pcie0_pipe_clk_src";
  420                                 #clock-cells = <0>;
  421                         };
  422                 };
  423 
  424                 pcie0: pci@20000000 {
  425                         compatible = "qcom,pcie-ipq6018";
  426                         reg = <0x0 0x20000000 0x0 0xf1d>,
  427                               <0x0 0x20000f20 0x0 0xa8>,
  428                               <0x0 0x20001000 0x0 0x1000>,
  429                               <0x0 0x80000 0x0 0x4000>,
  430                               <0x0 0x20100000 0x0 0x1000>;
  431                         reg-names = "dbi", "elbi", "atu", "parf", "config";
  432 
  433                         device_type = "pci";
  434                         linux,pci-domain = <0>;
  435                         bus-range = <0x00 0xff>;
  436                         num-lanes = <1>;
  437                         max-link-speed = <3>;
  438                         #address-cells = <3>;
  439                         #size-cells = <2>;
  440 
  441                         phys = <&pcie_phy0>;
  442                         phy-names = "pciephy";
  443 
  444                         ranges = <0x81000000 0 0x20200000 0 0x20200000
  445                                   0 0x10000>, /* downstream I/O */
  446                                  <0x82000000 0 0x20220000 0 0x20220000
  447                                   0 0xfde0000>; /* non-prefetchable memory */
  448 
  449                         interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>;
  450                         interrupt-names = "msi";
  451 
  452                         #interrupt-cells = <1>;
  453                         interrupt-map-mask = <0 0 0 0x7>;
  454                         interrupt-map = <0 0 0 1 &intc 0 75
  455                                          IRQ_TYPE_LEVEL_HIGH>, /* int_a */
  456                                         <0 0 0 2 &intc 0 78
  457                                          IRQ_TYPE_LEVEL_HIGH>, /* int_b */
  458                                         <0 0 0 3 &intc 0 79
  459                                          IRQ_TYPE_LEVEL_HIGH>, /* int_c */
  460                                         <0 0 0 4 &intc 0 83
  461                                          IRQ_TYPE_LEVEL_HIGH>; /* int_d */
  462 
  463                         clocks = <&gcc GCC_SYS_NOC_PCIE0_AXI_CLK>,
  464                                  <&gcc GCC_PCIE0_AXI_M_CLK>,
  465                                  <&gcc GCC_PCIE0_AXI_S_CLK>,
  466                                  <&gcc GCC_PCIE0_AXI_S_BRIDGE_CLK>,
  467                                  <&gcc PCIE0_RCHNG_CLK>;
  468                         clock-names = "iface",
  469                                       "axi_m",
  470                                       "axi_s",
  471                                       "axi_bridge",
  472                                       "rchng";
  473 
  474                         resets = <&gcc GCC_PCIE0_PIPE_ARES>,
  475                                  <&gcc GCC_PCIE0_SLEEP_ARES>,
  476                                  <&gcc GCC_PCIE0_CORE_STICKY_ARES>,
  477                                  <&gcc GCC_PCIE0_AXI_MASTER_ARES>,
  478                                  <&gcc GCC_PCIE0_AXI_SLAVE_ARES>,
  479                                  <&gcc GCC_PCIE0_AHB_ARES>,
  480                                  <&gcc GCC_PCIE0_AXI_MASTER_STICKY_ARES>,
  481                                  <&gcc GCC_PCIE0_AXI_SLAVE_STICKY_ARES>;
  482                         reset-names = "pipe",
  483                                       "sleep",
  484                                       "sticky",
  485                                       "axi_m",
  486                                       "axi_s",
  487                                       "ahb",
  488                                       "axi_m_sticky",
  489                                       "axi_s_sticky";
  490 
  491                         status = "disabled";
  492                 };
  493 
  494                 watchdog@b017000 {
  495                         compatible = "qcom,kpss-wdt";
  496                         interrupts = <GIC_SPI 3 IRQ_TYPE_EDGE_RISING>;
  497                         reg = <0x0 0x0b017000 0x0 0x40>;
  498                         clocks = <&sleep_clk>;
  499                         timeout-sec = <10>;
  500                 };
  501 
  502                 apcs_glb: mailbox@b111000 {
  503                         compatible = "qcom,ipq6018-apcs-apps-global";
  504                         reg = <0x0 0x0b111000 0x0 0x1000>;
  505                         #clock-cells = <1>;
  506                         clocks = <&a53pll>, <&xo>;
  507                         clock-names = "pll", "xo";
  508                         #mbox-cells = <1>;
  509                 };
  510 
  511                 a53pll: clock@b116000 {
  512                         compatible = "qcom,ipq6018-a53pll";
  513                         reg = <0x0 0x0b116000 0x0 0x40>;
  514                         #clock-cells = <0>;
  515                         clocks = <&xo>;
  516                         clock-names = "xo";
  517                 };
  518 
  519                 timer {
  520                         compatible = "arm,armv8-timer";
  521                         interrupts = <GIC_PPI 2 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
  522                                      <GIC_PPI 3 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
  523                                      <GIC_PPI 4 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
  524                                      <GIC_PPI 1 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
  525                 };
  526 
  527                 timer@b120000 {
  528                         #address-cells = <1>;
  529                         #size-cells = <1>;
  530                         ranges = <0 0 0 0x10000000>;
  531                         compatible = "arm,armv7-timer-mem";
  532                         reg = <0x0 0x0b120000 0x0 0x1000>;
  533 
  534                         frame@b120000 {
  535                                 frame-number = <0>;
  536                                 interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
  537                                              <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
  538                                 reg = <0x0b121000 0x1000>,
  539                                       <0x0b122000 0x1000>;
  540                         };
  541 
  542                         frame@b123000 {
  543                                 frame-number = <1>;
  544                                 interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
  545                                 reg = <0x0b123000 0x1000>;
  546                                 status = "disabled";
  547                         };
  548 
  549                         frame@b124000 {
  550                                 frame-number = <2>;
  551                                 interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
  552                                 reg = <0x0b124000 0x1000>;
  553                                 status = "disabled";
  554                         };
  555 
  556                         frame@b125000 {
  557                                 frame-number = <3>;
  558                                 interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
  559                                 reg = <0x0b125000 0x1000>;
  560                                 status = "disabled";
  561                         };
  562 
  563                         frame@b126000 {
  564                                 frame-number = <4>;
  565                                 interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
  566                                 reg = <0x0b126000 0x1000>;
  567                                 status = "disabled";
  568                         };
  569 
  570                         frame@b127000 {
  571                                 frame-number = <5>;
  572                                 interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
  573                                 reg = <0x0b127000 0x1000>;
  574                                 status = "disabled";
  575                         };
  576 
  577                         frame@b128000 {
  578                                 frame-number = <6>;
  579                                 interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
  580                                 reg = <0x0b128000 0x1000>;
  581                                 status = "disabled";
  582                         };
  583                 };
  584 
  585                 q6v5_wcss: remoteproc@cd00000 {
  586                         compatible = "qcom,ipq6018-wcss-pil";
  587                         reg = <0x0 0x0cd00000 0x0 0x4040>,
  588                               <0x0 0x004ab000 0x0 0x20>;
  589                         reg-names = "qdsp6",
  590                                     "rmb";
  591                         interrupts-extended = <&intc GIC_SPI 325 IRQ_TYPE_EDGE_RISING>,
  592                                               <&wcss_smp2p_in 0 0>,
  593                                               <&wcss_smp2p_in 1 0>,
  594                                               <&wcss_smp2p_in 2 0>,
  595                                               <&wcss_smp2p_in 3 0>;
  596                         interrupt-names = "wdog",
  597                                           "fatal",
  598                                           "ready",
  599                                           "handover",
  600                                           "stop-ack";
  601 
  602                         resets = <&gcc GCC_WCSSAON_RESET>,
  603                                  <&gcc GCC_WCSS_BCR>,
  604                                  <&gcc GCC_WCSS_Q6_BCR>;
  605 
  606                         reset-names = "wcss_aon_reset",
  607                                       "wcss_reset",
  608                                       "wcss_q6_reset";
  609 
  610                         clocks = <&gcc GCC_PRNG_AHB_CLK>;
  611                         clock-names = "prng";
  612 
  613                         qcom,halt-regs = <&tcsr 0x18000 0x1b000 0xe000>;
  614 
  615                         qcom,smem-states = <&wcss_smp2p_out 0>,
  616                                            <&wcss_smp2p_out 1>;
  617                         qcom,smem-state-names = "shutdown",
  618                                                 "stop";
  619 
  620                         memory-region = <&q6_region>;
  621 
  622                         glink-edge {
  623                                 interrupts = <GIC_SPI 321 IRQ_TYPE_EDGE_RISING>;
  624                                 label = "rtr";
  625                                 qcom,remote-pid = <1>;
  626                                 mboxes = <&apcs_glb 8>;
  627 
  628                                 qrtr_requests {
  629                                         qcom,glink-channels = "IPCRTR";
  630                                 };
  631                         };
  632                 };
  633 
  634                 mdio: mdio@90000 {
  635                         #address-cells = <1>;
  636                         #size-cells = <0>;
  637                         compatible = "qcom,ipq6018-mdio", "qcom,ipq4019-mdio";
  638                         reg = <0x0 0x90000 0x0 0x64>;
  639                         clocks = <&gcc GCC_MDIO_AHB_CLK>;
  640                         clock-names = "gcc_mdio_ahb_clk";
  641                         status = "disabled";
  642                 };
  643 
  644                 qusb_phy_1: qusb@59000 {
  645                         compatible = "qcom,ipq6018-qusb2-phy";
  646                         reg = <0x0 0x059000 0x0 0x180>;
  647                         #phy-cells = <0>;
  648 
  649                         clocks = <&gcc GCC_USB1_PHY_CFG_AHB_CLK>,
  650                                  <&xo>;
  651                         clock-names = "cfg_ahb", "ref";
  652 
  653                         resets = <&gcc GCC_QUSB2_1_PHY_BCR>;
  654                         status = "disabled";
  655                 };
  656 
  657                 usb2: usb@70f8800 {
  658                         compatible = "qcom,ipq6018-dwc3", "qcom,dwc3";
  659                         reg = <0x0 0x070F8800 0x0 0x400>;
  660                         #address-cells = <2>;
  661                         #size-cells = <2>;
  662                         ranges;
  663                         clocks = <&gcc GCC_USB1_MASTER_CLK>,
  664                                  <&gcc GCC_USB1_SLEEP_CLK>,
  665                                  <&gcc GCC_USB1_MOCK_UTMI_CLK>;
  666                         clock-names = "core",
  667                                       "sleep",
  668                                       "mock_utmi";
  669 
  670                         assigned-clocks = <&gcc GCC_USB1_MASTER_CLK>,
  671                                           <&gcc GCC_USB1_MOCK_UTMI_CLK>;
  672                         assigned-clock-rates = <133330000>,
  673                                                <24000000>;
  674                         resets = <&gcc GCC_USB1_BCR>;
  675                         status = "disabled";
  676 
  677                         dwc_1: usb@7000000 {
  678                                compatible = "snps,dwc3";
  679                                reg = <0x0 0x7000000 0x0 0xcd00>;
  680                                interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
  681                                phys = <&qusb_phy_1>;
  682                                phy-names = "usb2-phy";
  683                                tx-fifo-resize;
  684                                snps,is-utmi-l1-suspend;
  685                                snps,hird-threshold = /bits/ 8 <0x0>;
  686                                snps,dis_u2_susphy_quirk;
  687                                snps,dis_u3_susphy_quirk;
  688                                dr_mode = "host";
  689                         };
  690                 };
  691 
  692                 ssphy_0: ssphy@78000 {
  693                         compatible = "qcom,ipq6018-qmp-usb3-phy";
  694                         reg = <0x0 0x78000 0x0 0x1C4>;
  695                         #address-cells = <2>;
  696                         #size-cells = <2>;
  697                         ranges;
  698 
  699                         clocks = <&gcc GCC_USB0_AUX_CLK>,
  700                                  <&gcc GCC_USB0_PHY_CFG_AHB_CLK>, <&xo>;
  701                         clock-names = "aux", "cfg_ahb", "ref";
  702 
  703                         resets = <&gcc GCC_USB0_PHY_BCR>,
  704                                  <&gcc GCC_USB3PHY_0_PHY_BCR>;
  705                         reset-names = "phy","common";
  706                         status = "disabled";
  707 
  708                         usb0_ssphy: phy@78200 {
  709                                 reg = <0x0 0x00078200 0x0 0x130>, /* Tx */
  710                                       <0x0 0x00078400 0x0 0x200>, /* Rx */
  711                                       <0x0 0x00078800 0x0 0x1F8>, /* PCS */
  712                                       <0x0 0x00078600 0x0 0x044>; /* PCS misc */
  713                                 #phy-cells = <0>;
  714                                 #clock-cells = <0>;
  715                                 clocks = <&gcc GCC_USB0_PIPE_CLK>;
  716                                 clock-names = "pipe0";
  717                                 clock-output-names = "gcc_usb0_pipe_clk_src";
  718                         };
  719                 };
  720 
  721                 qusb_phy_0: qusb@79000 {
  722                         compatible = "qcom,ipq6018-qusb2-phy";
  723                         reg = <0x0 0x079000 0x0 0x180>;
  724                         #phy-cells = <0>;
  725 
  726                         clocks = <&gcc GCC_USB0_PHY_CFG_AHB_CLK>,
  727                                 <&xo>;
  728                         clock-names = "cfg_ahb", "ref";
  729 
  730                         resets = <&gcc GCC_QUSB2_0_PHY_BCR>;
  731                         status = "disabled";
  732                 };
  733 
  734                 usb3: usb@8af8800 {
  735                         compatible = "qcom,ipq6018-dwc3", "qcom,dwc3";
  736                         reg = <0x0 0x8AF8800 0x0 0x400>;
  737                         #address-cells = <2>;
  738                         #size-cells = <2>;
  739                         ranges;
  740 
  741                         clocks = <&gcc GCC_SYS_NOC_USB0_AXI_CLK>,
  742                                 <&gcc GCC_USB0_MASTER_CLK>,
  743                                 <&gcc GCC_USB0_SLEEP_CLK>,
  744                                 <&gcc GCC_USB0_MOCK_UTMI_CLK>;
  745                         clock-names = "cfg_noc",
  746                                 "core",
  747                                 "sleep",
  748                                 "mock_utmi";
  749 
  750                         assigned-clocks = <&gcc GCC_SYS_NOC_USB0_AXI_CLK>,
  751                                           <&gcc GCC_USB0_MASTER_CLK>,
  752                                           <&gcc GCC_USB0_MOCK_UTMI_CLK>;
  753                         assigned-clock-rates = <133330000>,
  754                                                <133330000>,
  755                                                <20000000>;
  756 
  757                         resets = <&gcc GCC_USB0_BCR>;
  758                         status = "disabled";
  759 
  760                         dwc_0: usb@8a00000 {
  761                                 compatible = "snps,dwc3";
  762                                 reg = <0x0 0x8A00000 0x0 0xcd00>;
  763                                 interrupts = <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>;
  764                                 phys = <&qusb_phy_0>, <&usb0_ssphy>;
  765                                 phy-names = "usb2-phy", "usb3-phy";
  766                                 clocks = <&xo>;
  767                                 clock-names = "ref";
  768                                 tx-fifo-resize;
  769                                 snps,is-utmi-l1-suspend;
  770                                 snps,hird-threshold = /bits/ 8 <0x0>;
  771                                 snps,dis_u2_susphy_quirk;
  772                                 snps,dis_u3_susphy_quirk;
  773                                 dr_mode = "host";
  774                         };
  775                 };
  776         };
  777 
  778         wcss: wcss-smp2p {
  779                 compatible = "qcom,smp2p";
  780                 qcom,smem = <435>, <428>;
  781 
  782                 interrupt-parent = <&intc>;
  783                 interrupts = <GIC_SPI 322 IRQ_TYPE_EDGE_RISING>;
  784 
  785                 mboxes = <&apcs_glb 9>;
  786 
  787                 qcom,local-pid = <0>;
  788                 qcom,remote-pid = <1>;
  789 
  790                 wcss_smp2p_out: master-kernel {
  791                         qcom,entry-name = "master-kernel";
  792                         #qcom,smem-state-cells = <1>;
  793                 };
  794 
  795                 wcss_smp2p_in: slave-kernel {
  796                         qcom,entry-name = "slave-kernel";
  797                         interrupt-controller;
  798                         #interrupt-cells = <2>;
  799                 };
  800         };
  801 
  802         rpm-glink {
  803                 compatible = "qcom,glink-rpm";
  804                 interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>;
  805                 qcom,rpm-msg-ram = <&rpm_msg_ram>;
  806                 mboxes = <&apcs_glb 0>;
  807 
  808                 rpm_requests: glink-channel {
  809                         compatible = "qcom,rpm-ipq6018";
  810                         qcom,glink-channels = "rpm_requests";
  811 
  812                         regulators {
  813                                 compatible = "qcom,rpm-mp5496-regulators";
  814 
  815                                 ipq6018_s2: s2 {
  816                                         regulator-min-microvolt = <725000>;
  817                                         regulator-max-microvolt = <1062500>;
  818                                         regulator-always-on;
  819                                 };
  820                         };
  821                 };
  822         };
  823 };

Cache object: e53996e0c49136e2f288daba630510fc


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.