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/arm/juno-base.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
    2 #include "juno-clocks.dtsi"
    3 #include "juno-motherboard.dtsi"
    4 
    5 / {
    6         /*
    7          *  Devices shared by all Juno boards
    8          */
    9 
   10         memtimer: timer@2a810000 {
   11                 compatible = "arm,armv7-timer-mem";
   12                 reg = <0x0 0x2a810000 0x0 0x10000>;
   13                 clock-frequency = <50000000>;
   14                 #address-cells = <1>;
   15                 #size-cells = <1>;
   16                 ranges = <0 0x0 0x2a820000 0x20000>;
   17                 status = "disabled";
   18                 frame@2a830000 {
   19                         frame-number = <1>;
   20                         interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>;
   21                         reg = <0x10000 0x10000>;
   22                 };
   23         };
   24 
   25         mailbox: mhu@2b1f0000 {
   26                 compatible = "arm,mhu", "arm,primecell";
   27                 reg = <0x0 0x2b1f0000 0x0 0x1000>;
   28                 interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>,
   29                              <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>,
   30                              <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
   31                 #mbox-cells = <1>;
   32                 clocks = <&soc_refclk100mhz>;
   33                 clock-names = "apb_pclk";
   34         };
   35 
   36         smmu_gpu: iommu@2b400000 {
   37                 compatible = "arm,mmu-400", "arm,smmu-v1";
   38                 reg = <0x0 0x2b400000 0x0 0x10000>;
   39                 interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>,
   40                              <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
   41                 #iommu-cells = <1>;
   42                 #global-interrupts = <1>;
   43                 power-domains = <&scpi_devpd 1>;
   44                 dma-coherent;
   45                 status = "disabled";
   46         };
   47 
   48         smmu_pcie: iommu@2b500000 {
   49                 compatible = "arm,mmu-401", "arm,smmu-v1";
   50                 reg = <0x0 0x2b500000 0x0 0x10000>;
   51                 interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>,
   52                              <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
   53                 #iommu-cells = <1>;
   54                 #global-interrupts = <1>;
   55                 dma-coherent;
   56                 status = "disabled";
   57         };
   58 
   59         smmu_etr: iommu@2b600000 {
   60                 compatible = "arm,mmu-401", "arm,smmu-v1";
   61                 reg = <0x0 0x2b600000 0x0 0x10000>;
   62                 interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>,
   63                              <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
   64                 #iommu-cells = <1>;
   65                 #global-interrupts = <1>;
   66                 dma-coherent;
   67                 power-domains = <&scpi_devpd 0>;
   68         };
   69 
   70         gic: interrupt-controller@2c010000 {
   71                 compatible = "arm,gic-400", "arm,cortex-a15-gic";
   72                 reg = <0x0 0x2c010000 0 0x1000>,
   73                       <0x0 0x2c02f000 0 0x2000>,
   74                       <0x0 0x2c04f000 0 0x2000>,
   75                       <0x0 0x2c06f000 0 0x2000>;
   76                 #address-cells = <1>;
   77                 #interrupt-cells = <3>;
   78                 #size-cells = <1>;
   79                 interrupt-controller;
   80                 interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(6) | IRQ_TYPE_LEVEL_HIGH)>;
   81                 ranges = <0 0 0x2c1c0000 0x40000>;
   82 
   83                 v2m_0: v2m@0 {
   84                         compatible = "arm,gic-v2m-frame";
   85                         msi-controller;
   86                         reg = <0 0x10000>;
   87                 };
   88 
   89                 v2m@10000 {
   90                         compatible = "arm,gic-v2m-frame";
   91                         msi-controller;
   92                         reg = <0x10000 0x10000>;
   93                 };
   94 
   95                 v2m@20000 {
   96                         compatible = "arm,gic-v2m-frame";
   97                         msi-controller;
   98                         reg = <0x20000 0x10000>;
   99                 };
  100 
  101                 v2m@30000 {
  102                         compatible = "arm,gic-v2m-frame";
  103                         msi-controller;
  104                         reg = <0x30000 0x10000>;
  105                 };
  106         };
  107 
  108         timer {
  109                 compatible = "arm,armv8-timer";
  110                 interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(6) | IRQ_TYPE_LEVEL_LOW)>,
  111                              <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(6) | IRQ_TYPE_LEVEL_LOW)>,
  112                              <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(6) | IRQ_TYPE_LEVEL_LOW)>,
  113                              <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(6) | IRQ_TYPE_LEVEL_LOW)>;
  114         };
  115 
  116         /*
  117          * Juno TRMs specify the size for these coresight components as 64K.
  118          * The actual size is just 4K though 64K is reserved. Access to the
  119          * unmapped reserved region results in a DECERR response.
  120          */
  121         etf_sys0: etf@20010000 { /* etf0 */
  122                 compatible = "arm,coresight-tmc", "arm,primecell";
  123                 reg = <0 0x20010000 0 0x1000>;
  124 
  125                 clocks = <&soc_smc50mhz>;
  126                 clock-names = "apb_pclk";
  127                 power-domains = <&scpi_devpd 0>;
  128 
  129                 in-ports {
  130                         port {
  131                                 etf0_in_port: endpoint {
  132                                         remote-endpoint = <&main_funnel_out_port>;
  133                                 };
  134                         };
  135                 };
  136 
  137                 out-ports {
  138                         port {
  139                                 etf0_out_port: endpoint {
  140                                 };
  141                         };
  142                 };
  143         };
  144 
  145         tpiu_sys: tpiu@20030000 {
  146                 compatible = "arm,coresight-tpiu", "arm,primecell";
  147                 reg = <0 0x20030000 0 0x1000>;
  148 
  149                 clocks = <&soc_smc50mhz>;
  150                 clock-names = "apb_pclk";
  151                 power-domains = <&scpi_devpd 0>;
  152                 in-ports {
  153                         port {
  154                                 tpiu_in_port: endpoint {
  155                                         remote-endpoint = <&replicator_out_port0>;
  156                                 };
  157                         };
  158                 };
  159         };
  160 
  161         /* main funnel on Juno r0, cssys0 funnel on Juno r1/r2 as per TRM*/
  162         main_funnel: funnel@20040000 {
  163                 compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
  164                 reg = <0 0x20040000 0 0x1000>;
  165 
  166                 clocks = <&soc_smc50mhz>;
  167                 clock-names = "apb_pclk";
  168                 power-domains = <&scpi_devpd 0>;
  169 
  170                 out-ports {
  171                         port {
  172                                 main_funnel_out_port: endpoint {
  173                                         remote-endpoint = <&etf0_in_port>;
  174                                 };
  175                         };
  176                 };
  177 
  178                 main_funnel_in_ports: in-ports {
  179                         #address-cells = <1>;
  180                         #size-cells = <0>;
  181 
  182                         port@0 {
  183                                 reg = <0>;
  184                                 main_funnel_in_port0: endpoint {
  185                                         remote-endpoint = <&cluster0_funnel_out_port>;
  186                                 };
  187                         };
  188 
  189                         port@1 {
  190                                 reg = <1>;
  191                                 main_funnel_in_port1: endpoint {
  192                                         remote-endpoint = <&cluster1_funnel_out_port>;
  193                                 };
  194                         };
  195                 };
  196         };
  197 
  198         etr_sys: etr@20070000 {
  199                 compatible = "arm,coresight-tmc", "arm,primecell";
  200                 reg = <0 0x20070000 0 0x1000>;
  201                 iommus = <&smmu_etr 0>;
  202 
  203                 clocks = <&soc_smc50mhz>;
  204                 clock-names = "apb_pclk";
  205                 power-domains = <&scpi_devpd 0>;
  206                 arm,scatter-gather;
  207                 in-ports {
  208                         port {
  209                                 etr_in_port: endpoint {
  210                                         remote-endpoint = <&replicator_out_port1>;
  211                                 };
  212                         };
  213                 };
  214         };
  215 
  216         stm_sys: stm@20100000 {
  217                 compatible = "arm,coresight-stm", "arm,primecell";
  218                 reg = <0 0x20100000 0 0x1000>,
  219                       <0 0x28000000 0 0x1000000>;
  220                 reg-names = "stm-base", "stm-stimulus-base";
  221 
  222                 clocks = <&soc_smc50mhz>;
  223                 clock-names = "apb_pclk";
  224                 power-domains = <&scpi_devpd 0>;
  225                 out-ports {
  226                         port {
  227                                 stm_out_port: endpoint {
  228                                 };
  229                         };
  230                 };
  231         };
  232 
  233         replicator@20120000 {
  234                 compatible = "arm,coresight-dynamic-replicator", "arm,primecell";
  235                 reg = <0 0x20120000 0 0x1000>;
  236 
  237                 clocks = <&soc_smc50mhz>;
  238                 clock-names = "apb_pclk";
  239                 power-domains = <&scpi_devpd 0>;
  240 
  241                 out-ports {
  242                         #address-cells = <1>;
  243                         #size-cells = <0>;
  244 
  245                         /* replicator output ports */
  246                         port@0 {
  247                                 reg = <0>;
  248                                 replicator_out_port0: endpoint {
  249                                         remote-endpoint = <&tpiu_in_port>;
  250                                 };
  251                         };
  252 
  253                         port@1 {
  254                                 reg = <1>;
  255                                 replicator_out_port1: endpoint {
  256                                         remote-endpoint = <&etr_in_port>;
  257                                 };
  258                         };
  259                 };
  260                 in-ports {
  261                         port {
  262                                 replicator_in_port0: endpoint {
  263                                 };
  264                         };
  265                 };
  266         };
  267 
  268         cpu_debug0: cpu-debug@22010000 {
  269                 compatible = "arm,coresight-cpu-debug", "arm,primecell";
  270                 reg = <0x0 0x22010000 0x0 0x1000>;
  271 
  272                 clocks = <&soc_smc50mhz>;
  273                 clock-names = "apb_pclk";
  274                 power-domains = <&scpi_devpd 0>;
  275         };
  276 
  277         etm0: etm@22040000 {
  278                 compatible = "arm,coresight-etm4x", "arm,primecell";
  279                 reg = <0 0x22040000 0 0x1000>;
  280 
  281                 clocks = <&soc_smc50mhz>;
  282                 clock-names = "apb_pclk";
  283                 power-domains = <&scpi_devpd 0>;
  284                 out-ports {
  285                         port {
  286                                 cluster0_etm0_out_port: endpoint {
  287                                         remote-endpoint = <&cluster0_funnel_in_port0>;
  288                                 };
  289                         };
  290                 };
  291         };
  292 
  293         cti0: cti@22020000 {
  294                 compatible = "arm,coresight-cti-v8-arch", "arm,coresight-cti",
  295                              "arm,primecell";
  296                 reg = <0 0x22020000 0 0x1000>;
  297 
  298                 clocks = <&soc_smc50mhz>;
  299                 clock-names = "apb_pclk";
  300                 power-domains = <&scpi_devpd 0>;
  301 
  302                 arm,cs-dev-assoc = <&etm0>;
  303         };
  304 
  305         funnel@220c0000 { /* cluster0 funnel */
  306                 compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
  307                 reg = <0 0x220c0000 0 0x1000>;
  308 
  309                 clocks = <&soc_smc50mhz>;
  310                 clock-names = "apb_pclk";
  311                 power-domains = <&scpi_devpd 0>;
  312                 out-ports {
  313                         port {
  314                                 cluster0_funnel_out_port: endpoint {
  315                                         remote-endpoint = <&main_funnel_in_port0>;
  316                                 };
  317                         };
  318                 };
  319 
  320                 in-ports {
  321                         #address-cells = <1>;
  322                         #size-cells = <0>;
  323 
  324                         port@0 {
  325                                 reg = <0>;
  326                                 cluster0_funnel_in_port0: endpoint {
  327                                         remote-endpoint = <&cluster0_etm0_out_port>;
  328                                 };
  329                         };
  330 
  331                         port@1 {
  332                                 reg = <1>;
  333                                 cluster0_funnel_in_port1: endpoint {
  334                                         remote-endpoint = <&cluster0_etm1_out_port>;
  335                                 };
  336                         };
  337                 };
  338         };
  339 
  340         cpu_debug1: cpu-debug@22110000 {
  341                 compatible = "arm,coresight-cpu-debug", "arm,primecell";
  342                 reg = <0x0 0x22110000 0x0 0x1000>;
  343 
  344                 clocks = <&soc_smc50mhz>;
  345                 clock-names = "apb_pclk";
  346                 power-domains = <&scpi_devpd 0>;
  347         };
  348 
  349         etm1: etm@22140000 {
  350                 compatible = "arm,coresight-etm4x", "arm,primecell";
  351                 reg = <0 0x22140000 0 0x1000>;
  352 
  353                 clocks = <&soc_smc50mhz>;
  354                 clock-names = "apb_pclk";
  355                 power-domains = <&scpi_devpd 0>;
  356                 out-ports {
  357                         port {
  358                                 cluster0_etm1_out_port: endpoint {
  359                                         remote-endpoint = <&cluster0_funnel_in_port1>;
  360                                 };
  361                         };
  362                 };
  363         };
  364 
  365         cti1: cti@22120000 {
  366                 compatible = "arm,coresight-cti-v8-arch", "arm,coresight-cti",
  367                              "arm,primecell";
  368                 reg = <0 0x22120000 0 0x1000>;
  369 
  370                 clocks = <&soc_smc50mhz>;
  371                 clock-names = "apb_pclk";
  372                 power-domains = <&scpi_devpd 0>;
  373 
  374                 arm,cs-dev-assoc = <&etm1>;
  375         };
  376 
  377         cpu_debug2: cpu-debug@23010000 {
  378                 compatible = "arm,coresight-cpu-debug", "arm,primecell";
  379                 reg = <0x0 0x23010000 0x0 0x1000>;
  380 
  381                 clocks = <&soc_smc50mhz>;
  382                 clock-names = "apb_pclk";
  383                 power-domains = <&scpi_devpd 0>;
  384         };
  385 
  386         etm2: etm@23040000 {
  387                 compatible = "arm,coresight-etm4x", "arm,primecell";
  388                 reg = <0 0x23040000 0 0x1000>;
  389 
  390                 clocks = <&soc_smc50mhz>;
  391                 clock-names = "apb_pclk";
  392                 power-domains = <&scpi_devpd 0>;
  393                 out-ports {
  394                         port {
  395                                 cluster1_etm0_out_port: endpoint {
  396                                         remote-endpoint = <&cluster1_funnel_in_port0>;
  397                                 };
  398                         };
  399                 };
  400         };
  401 
  402         cti2: cti@23020000 {
  403                 compatible = "arm,coresight-cti-v8-arch", "arm,coresight-cti",
  404                              "arm,primecell";
  405                 reg = <0 0x23020000 0 0x1000>;
  406 
  407                 clocks = <&soc_smc50mhz>;
  408                 clock-names = "apb_pclk";
  409                 power-domains = <&scpi_devpd 0>;
  410 
  411                 arm,cs-dev-assoc = <&etm2>;
  412         };
  413 
  414         funnel@230c0000 { /* cluster1 funnel */
  415                 compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
  416                 reg = <0 0x230c0000 0 0x1000>;
  417 
  418                 clocks = <&soc_smc50mhz>;
  419                 clock-names = "apb_pclk";
  420                 power-domains = <&scpi_devpd 0>;
  421                 out-ports {
  422                         port {
  423                                 cluster1_funnel_out_port: endpoint {
  424                                         remote-endpoint = <&main_funnel_in_port1>;
  425                                 };
  426                         };
  427                 };
  428 
  429                 in-ports {
  430                         #address-cells = <1>;
  431                         #size-cells = <0>;
  432 
  433                         port@0 {
  434                                 reg = <0>;
  435                                 cluster1_funnel_in_port0: endpoint {
  436                                         remote-endpoint = <&cluster1_etm0_out_port>;
  437                                 };
  438                         };
  439 
  440                         port@1 {
  441                                 reg = <1>;
  442                                 cluster1_funnel_in_port1: endpoint {
  443                                         remote-endpoint = <&cluster1_etm1_out_port>;
  444                                 };
  445                         };
  446                         port@2 {
  447                                 reg = <2>;
  448                                 cluster1_funnel_in_port2: endpoint {
  449                                         remote-endpoint = <&cluster1_etm2_out_port>;
  450                                 };
  451                         };
  452                         port@3 {
  453                                 reg = <3>;
  454                                 cluster1_funnel_in_port3: endpoint {
  455                                         remote-endpoint = <&cluster1_etm3_out_port>;
  456                                 };
  457                         };
  458                 };
  459         };
  460 
  461         cpu_debug3: cpu-debug@23110000 {
  462                 compatible = "arm,coresight-cpu-debug", "arm,primecell";
  463                 reg = <0x0 0x23110000 0x0 0x1000>;
  464 
  465                 clocks = <&soc_smc50mhz>;
  466                 clock-names = "apb_pclk";
  467                 power-domains = <&scpi_devpd 0>;
  468         };
  469 
  470         etm3: etm@23140000 {
  471                 compatible = "arm,coresight-etm4x", "arm,primecell";
  472                 reg = <0 0x23140000 0 0x1000>;
  473 
  474                 clocks = <&soc_smc50mhz>;
  475                 clock-names = "apb_pclk";
  476                 power-domains = <&scpi_devpd 0>;
  477                 out-ports {
  478                         port {
  479                                 cluster1_etm1_out_port: endpoint {
  480                                         remote-endpoint = <&cluster1_funnel_in_port1>;
  481                                 };
  482                         };
  483                 };
  484         };
  485 
  486         cti3: cti@23120000 {
  487                 compatible = "arm,coresight-cti-v8-arch", "arm,coresight-cti",
  488                              "arm,primecell";
  489                 reg = <0 0x23120000 0 0x1000>;
  490 
  491                 clocks = <&soc_smc50mhz>;
  492                 clock-names = "apb_pclk";
  493                 power-domains = <&scpi_devpd 0>;
  494 
  495                 arm,cs-dev-assoc = <&etm3>;
  496         };
  497 
  498         cpu_debug4: cpu-debug@23210000 {
  499                 compatible = "arm,coresight-cpu-debug", "arm,primecell";
  500                 reg = <0x0 0x23210000 0x0 0x1000>;
  501 
  502                 clocks = <&soc_smc50mhz>;
  503                 clock-names = "apb_pclk";
  504                 power-domains = <&scpi_devpd 0>;
  505         };
  506 
  507         etm4: etm@23240000 {
  508                 compatible = "arm,coresight-etm4x", "arm,primecell";
  509                 reg = <0 0x23240000 0 0x1000>;
  510 
  511                 clocks = <&soc_smc50mhz>;
  512                 clock-names = "apb_pclk";
  513                 power-domains = <&scpi_devpd 0>;
  514                 out-ports {
  515                         port {
  516                                 cluster1_etm2_out_port: endpoint {
  517                                         remote-endpoint = <&cluster1_funnel_in_port2>;
  518                                 };
  519                         };
  520                 };
  521         };
  522 
  523         cti4: cti@23220000 {
  524                 compatible = "arm,coresight-cti-v8-arch", "arm,coresight-cti",
  525                              "arm,primecell";
  526                 reg = <0 0x23220000 0 0x1000>;
  527 
  528                 clocks = <&soc_smc50mhz>;
  529                 clock-names = "apb_pclk";
  530                 power-domains = <&scpi_devpd 0>;
  531 
  532                 arm,cs-dev-assoc = <&etm4>;
  533         };
  534 
  535         cpu_debug5: cpu-debug@23310000 {
  536                 compatible = "arm,coresight-cpu-debug", "arm,primecell";
  537                 reg = <0x0 0x23310000 0x0 0x1000>;
  538 
  539                 clocks = <&soc_smc50mhz>;
  540                 clock-names = "apb_pclk";
  541                 power-domains = <&scpi_devpd 0>;
  542         };
  543 
  544         etm5: etm@23340000 {
  545                 compatible = "arm,coresight-etm4x", "arm,primecell";
  546                 reg = <0 0x23340000 0 0x1000>;
  547 
  548                 clocks = <&soc_smc50mhz>;
  549                 clock-names = "apb_pclk";
  550                 power-domains = <&scpi_devpd 0>;
  551                 out-ports {
  552                         port {
  553                                 cluster1_etm3_out_port: endpoint {
  554                                         remote-endpoint = <&cluster1_funnel_in_port3>;
  555                                 };
  556                         };
  557                 };
  558         };
  559 
  560         cti5: cti@23320000 {
  561                 compatible = "arm,coresight-cti-v8-arch", "arm,coresight-cti",
  562                              "arm,primecell";
  563                 reg = <0 0x23320000 0 0x1000>;
  564 
  565                 clocks = <&soc_smc50mhz>;
  566                 clock-names = "apb_pclk";
  567                 power-domains = <&scpi_devpd 0>;
  568 
  569                 arm,cs-dev-assoc = <&etm5>;
  570         };
  571 
  572         cti_sys0: cti@20020000 { /* sys_cti_0 */
  573                 compatible = "arm,coresight-cti", "arm,primecell";
  574                 reg = <0 0x20020000 0 0x1000>;
  575 
  576                 clocks = <&soc_smc50mhz>;
  577                 clock-names = "apb_pclk";
  578                 power-domains = <&scpi_devpd 0>;
  579 
  580                 #address-cells = <1>;
  581                 #size-cells = <0>;
  582 
  583                 trig-conns@0 {
  584                         reg = <0>;
  585                         arm,trig-in-sigs = <2 3>;
  586                         arm,trig-in-types = <SNK_FULL SNK_ACQCOMP>;
  587                         arm,trig-out-sigs = <0 1>;
  588                         arm,trig-out-types = <SNK_FLUSHIN SNK_TRIGIN>;
  589                         arm,cs-dev-assoc = <&etr_sys>;
  590                 };
  591 
  592                 trig-conns@1 {
  593                         reg = <1>;
  594                         arm,trig-in-sigs = <0 1>;
  595                         arm,trig-in-types = <SNK_FULL SNK_ACQCOMP>;
  596                         arm,trig-out-sigs = <7 6>;
  597                         arm,trig-out-types = <SNK_FLUSHIN SNK_TRIGIN>;
  598                         arm,cs-dev-assoc = <&etf_sys0>;
  599                 };
  600 
  601                 trig-conns@2 {
  602                         reg = <2>;
  603                         arm,trig-in-sigs = <4 5 6 7>;
  604                         arm,trig-in-types = <STM_TOUT_SPTE STM_TOUT_SW
  605                                            STM_TOUT_HETE STM_ASYNCOUT>;
  606                         arm,trig-out-sigs = <4 5>;
  607                         arm,trig-out-types = <STM_HWEVENT STM_HWEVENT>;
  608                         arm,cs-dev-assoc = <&stm_sys>;
  609                 };
  610 
  611                 trig-conns@3 {
  612                         reg = <3>;
  613                         arm,trig-out-sigs = <2 3>;
  614                         arm,trig-out-types = <SNK_FLUSHIN SNK_TRIGIN>;
  615                         arm,cs-dev-assoc = <&tpiu_sys>;
  616                 };
  617         };
  618 
  619         cti_sys1: cti@20110000 { /* sys_cti_1 */
  620                 compatible = "arm,coresight-cti", "arm,primecell";
  621                 reg = <0 0x20110000 0 0x1000>;
  622 
  623                 clocks = <&soc_smc50mhz>;
  624                 clock-names = "apb_pclk";
  625                 power-domains = <&scpi_devpd 0>;
  626 
  627                 #address-cells = <1>;
  628                 #size-cells = <0>;
  629 
  630                 trig-conns@0 {
  631                         reg = <0>;
  632                         arm,trig-in-sigs = <0>;
  633                         arm,trig-in-types = <GEN_INTREQ>;
  634                         arm,trig-out-sigs = <0>;
  635                         arm,trig-out-types = <GEN_HALTREQ>;
  636                         arm,trig-conn-name = "sys_profiler";
  637                 };
  638 
  639                 trig-conns@1 {
  640                         reg = <1>;
  641                         arm,trig-out-sigs = <2 3>;
  642                         arm,trig-out-types = <GEN_HALTREQ GEN_RESTARTREQ>;
  643                         arm,trig-conn-name = "watchdog";
  644                 };
  645 
  646                 trig-conns@2 {
  647                         reg = <2>;
  648                         arm,trig-out-sigs = <1 6>;
  649                         arm,trig-out-types = <GEN_HALTREQ GEN_RESTARTREQ>;
  650                         arm,trig-conn-name = "g_counter";
  651                 };
  652         };
  653 
  654         gpu: gpu@2d000000 {
  655                 compatible = "arm,juno-mali", "arm,mali-t624";
  656                 reg = <0 0x2d000000 0 0x10000>;
  657                 interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>,
  658                              <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>,
  659                              <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
  660                 interrupt-names = "job", "mmu", "gpu";
  661                 clocks = <&scpi_dvfs 2>;
  662                 power-domains = <&scpi_devpd 1>;
  663                 dma-coherent;
  664                 /* The SMMU is only really of interest to bare-metal hypervisors */
  665                 /* iommus = <&smmu_gpu 0>; */
  666                 status = "disabled";
  667         };
  668 
  669         sram: sram@2e000000 {
  670                 compatible = "arm,juno-sram-ns", "mmio-sram";
  671                 reg = <0x0 0x2e000000 0x0 0x8000>;
  672 
  673                 #address-cells = <1>;
  674                 #size-cells = <1>;
  675                 ranges = <0 0x0 0x2e000000 0x8000>;
  676 
  677                 cpu_scp_lpri: scp-sram@0 {
  678                         compatible = "arm,juno-scp-shmem";
  679                         reg = <0x0 0x200>;
  680                 };
  681 
  682                 cpu_scp_hpri: scp-sram@200 {
  683                         compatible = "arm,juno-scp-shmem";
  684                         reg = <0x200 0x200>;
  685                 };
  686         };
  687 
  688         pcie_ctlr: pcie@40000000 {
  689                 compatible = "arm,juno-r1-pcie", "plda,xpressrich3-axi", "pci-host-ecam-generic";
  690                 device_type = "pci";
  691                 reg = <0 0x40000000 0 0x10000000>;      /* ECAM config space */
  692                 bus-range = <0 255>;
  693                 linux,pci-domain = <0>;
  694                 #address-cells = <3>;
  695                 #size-cells = <2>;
  696                 dma-coherent;
  697                 ranges = <0x01000000 0x00 0x00000000 0x00 0x5f800000 0x0 0x00800000>,
  698                          <0x02000000 0x00 0x50000000 0x00 0x50000000 0x0 0x08000000>,
  699                          <0x42000000 0x40 0x00000000 0x40 0x00000000 0x1 0x00000000>;
  700                 /* Standard AXI Translation entries as programmed by EDK2 */
  701                 dma-ranges = <0x02000000 0x0 0x80000000 0x0 0x80000000 0x0 0x80000000>,
  702                              <0x43000000 0x8 0x00000000 0x8 0x00000000 0x2 0x00000000>;
  703                 #interrupt-cells = <1>;
  704                 interrupt-map-mask = <0 0 0 7>;
  705                 interrupt-map = <0 0 0 1 &gic 0 GIC_SPI 136 IRQ_TYPE_LEVEL_HIGH>,
  706                                 <0 0 0 2 &gic 0 GIC_SPI 137 IRQ_TYPE_LEVEL_HIGH>,
  707                                 <0 0 0 3 &gic 0 GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>,
  708                                 <0 0 0 4 &gic 0 GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>;
  709                 msi-parent = <&v2m_0>;
  710                 status = "disabled";
  711                 iommu-map-mask = <0x0>; /* RC has no means to output PCI RID */
  712                 iommu-map = <0x0 &smmu_pcie 0x0 0x1>;
  713         };
  714 
  715         scpi {
  716                 compatible = "arm,scpi";
  717                 mboxes = <&mailbox 1>;
  718                 shmem = <&cpu_scp_hpri>;
  719 
  720                 clocks {
  721                         compatible = "arm,scpi-clocks";
  722 
  723                         scpi_dvfs: clocks-0 {
  724                                 compatible = "arm,scpi-dvfs-clocks";
  725                                 #clock-cells = <1>;
  726                                 clock-indices = <0>, <1>, <2>;
  727                                 clock-output-names = "atlclk", "aplclk","gpuclk";
  728                         };
  729                         scpi_clk: clocks-1 {
  730                                 compatible = "arm,scpi-variable-clocks";
  731                                 #clock-cells = <1>;
  732                                 clock-indices = <3>;
  733                                 clock-output-names = "pxlclk";
  734                         };
  735                 };
  736 
  737                 scpi_devpd: power-controller {
  738                         compatible = "arm,scpi-power-domains";
  739                         num-domains = <2>;
  740                         #power-domain-cells = <1>;
  741                 };
  742 
  743                 scpi_sensors0: sensors {
  744                         compatible = "arm,scpi-sensors";
  745                         #thermal-sensor-cells = <1>;
  746                 };
  747         };
  748 
  749         thermal-zones {
  750                 pmic {
  751                         polling-delay = <1000>;
  752                         polling-delay-passive = <100>;
  753                         thermal-sensors = <&scpi_sensors0 0>;
  754                 };
  755 
  756                 soc {
  757                         polling-delay = <1000>;
  758                         polling-delay-passive = <100>;
  759                         thermal-sensors = <&scpi_sensors0 3>;
  760                 };
  761 
  762                 big_cluster_thermal_zone: big-cluster {
  763                         polling-delay = <1000>;
  764                         polling-delay-passive = <100>;
  765                         thermal-sensors = <&scpi_sensors0 21>;
  766                         status = "disabled";
  767                 };
  768 
  769                 little_cluster_thermal_zone: little-cluster {
  770                         polling-delay = <1000>;
  771                         polling-delay-passive = <100>;
  772                         thermal-sensors = <&scpi_sensors0 22>;
  773                         status = "disabled";
  774                 };
  775 
  776                 gpu0_thermal_zone: gpu0 {
  777                         polling-delay = <1000>;
  778                         polling-delay-passive = <100>;
  779                         thermal-sensors = <&scpi_sensors0 23>;
  780                         status = "disabled";
  781                 };
  782 
  783                 gpu1_thermal_zone: gpu1 {
  784                         polling-delay = <1000>;
  785                         polling-delay-passive = <100>;
  786                         thermal-sensors = <&scpi_sensors0 24>;
  787                         status = "disabled";
  788                 };
  789         };
  790 
  791         smmu_dma: iommu@7fb00000 {
  792                 compatible = "arm,mmu-401", "arm,smmu-v1";
  793                 reg = <0x0 0x7fb00000 0x0 0x10000>;
  794                 interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>,
  795                              <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
  796                 #iommu-cells = <1>;
  797                 #global-interrupts = <1>;
  798                 dma-coherent;
  799         };
  800 
  801         smmu_hdlcd1: iommu@7fb10000 {
  802                 compatible = "arm,mmu-401", "arm,smmu-v1";
  803                 reg = <0x0 0x7fb10000 0x0 0x10000>;
  804                 interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>,
  805                              <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
  806                 #iommu-cells = <1>;
  807                 #global-interrupts = <1>;
  808         };
  809 
  810         smmu_hdlcd0: iommu@7fb20000 {
  811                 compatible = "arm,mmu-401", "arm,smmu-v1";
  812                 reg = <0x0 0x7fb20000 0x0 0x10000>;
  813                 interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>,
  814                              <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
  815                 #iommu-cells = <1>;
  816                 #global-interrupts = <1>;
  817         };
  818 
  819         smmu_usb: iommu@7fb30000 {
  820                 compatible = "arm,mmu-401", "arm,smmu-v1";
  821                 reg = <0x0 0x7fb30000 0x0 0x10000>;
  822                 interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>,
  823                              <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
  824                 #iommu-cells = <1>;
  825                 #global-interrupts = <1>;
  826                 dma-coherent;
  827         };
  828 
  829         dma-controller@7ff00000 {
  830                 compatible = "arm,pl330", "arm,primecell";
  831                 reg = <0x0 0x7ff00000 0 0x1000>;
  832                 #dma-cells = <1>;
  833                 interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>,
  834                              <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>,
  835                              <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>,
  836                              <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>,
  837                              <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>,
  838                              <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>,
  839                              <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>,
  840                              <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>,
  841                              <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>;
  842                 iommus = <&smmu_dma 0>,
  843                          <&smmu_dma 1>,
  844                          <&smmu_dma 2>,
  845                          <&smmu_dma 3>,
  846                          <&smmu_dma 4>,
  847                          <&smmu_dma 5>,
  848                          <&smmu_dma 6>,
  849                          <&smmu_dma 7>,
  850                          <&smmu_dma 8>;
  851                 clocks = <&soc_faxiclk>;
  852                 clock-names = "apb_pclk";
  853         };
  854 
  855         hdlcd@7ff50000 {
  856                 compatible = "arm,hdlcd";
  857                 reg = <0 0x7ff50000 0 0x1000>;
  858                 interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>;
  859                 iommus = <&smmu_hdlcd1 0>;
  860                 clocks = <&scpi_clk 3>;
  861                 clock-names = "pxlclk";
  862 
  863                 port {
  864                         hdlcd1_output: endpoint {
  865                                 remote-endpoint = <&tda998x_1_input>;
  866                         };
  867                 };
  868         };
  869 
  870         hdlcd@7ff60000 {
  871                 compatible = "arm,hdlcd";
  872                 reg = <0 0x7ff60000 0 0x1000>;
  873                 interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
  874                 iommus = <&smmu_hdlcd0 0>;
  875                 clocks = <&scpi_clk 3>;
  876                 clock-names = "pxlclk";
  877 
  878                 port {
  879                         hdlcd0_output: endpoint {
  880                                 remote-endpoint = <&tda998x_0_input>;
  881                         };
  882                 };
  883         };
  884 
  885         soc_uart0: serial@7ff80000 {
  886                 compatible = "arm,pl011", "arm,primecell";
  887                 reg = <0x0 0x7ff80000 0x0 0x1000>;
  888                 interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
  889                 clocks = <&soc_uartclk>, <&soc_refclk100mhz>;
  890                 clock-names = "uartclk", "apb_pclk";
  891         };
  892 
  893         i2c@7ffa0000 {
  894                 compatible = "snps,designware-i2c";
  895                 reg = <0x0 0x7ffa0000 0x0 0x1000>;
  896                 #address-cells = <1>;
  897                 #size-cells = <0>;
  898                 interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>;
  899                 clock-frequency = <400000>;
  900                 i2c-sda-hold-time-ns = <500>;
  901                 clocks = <&soc_smc50mhz>;
  902 
  903                 hdmi-transmitter@70 {
  904                         compatible = "nxp,tda998x";
  905                         reg = <0x70>;
  906                         port {
  907                                 tda998x_0_input: endpoint {
  908                                         remote-endpoint = <&hdlcd0_output>;
  909                                 };
  910                         };
  911                 };
  912 
  913                 hdmi-transmitter@71 {
  914                         compatible = "nxp,tda998x";
  915                         reg = <0x71>;
  916                         port {
  917                                 tda998x_1_input: endpoint {
  918                                         remote-endpoint = <&hdlcd1_output>;
  919                                 };
  920                         };
  921                 };
  922         };
  923 
  924         usb@7ffb0000 {
  925                 compatible = "generic-ohci";
  926                 reg = <0x0 0x7ffb0000 0x0 0x10000>;
  927                 interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
  928                 iommus = <&smmu_usb 0>;
  929                 clocks = <&soc_usb48mhz>;
  930         };
  931 
  932         usb@7ffc0000 {
  933                 compatible = "generic-ehci";
  934                 reg = <0x0 0x7ffc0000 0x0 0x10000>;
  935                 interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>;
  936                 iommus = <&smmu_usb 0>;
  937                 clocks = <&soc_usb48mhz>;
  938         };
  939 
  940         memory-controller@7ffd0000 {
  941                 compatible = "arm,pl354", "arm,primecell";
  942                 reg = <0 0x7ffd0000 0 0x1000>;
  943                 interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>,
  944                              <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
  945                 clocks = <&soc_smc50mhz>;
  946                 clock-names = "apb_pclk";
  947         };
  948 
  949         memory@80000000 {
  950                 device_type = "memory";
  951                 /* last 16MB of the first memory area is reserved for secure world use by firmware */
  952                 reg = <0x00000000 0x80000000 0x0 0x7f000000>,
  953                       <0x00000008 0x80000000 0x1 0x80000000>;
  954         };
  955 
  956         bus@8000000 {
  957                 #interrupt-cells = <1>;
  958                 interrupt-map-mask = <0 0 15>;
  959                 interrupt-map = <0 0  0 &gic 0 GIC_SPI  68 IRQ_TYPE_LEVEL_HIGH>,
  960                                 <0 0  1 &gic 0 GIC_SPI  69 IRQ_TYPE_LEVEL_HIGH>,
  961                                 <0 0  2 &gic 0 GIC_SPI  70 IRQ_TYPE_LEVEL_HIGH>,
  962                                 <0 0  3 &gic 0 GIC_SPI 160 IRQ_TYPE_LEVEL_HIGH>,
  963                                 <0 0  4 &gic 0 GIC_SPI 161 IRQ_TYPE_LEVEL_HIGH>,
  964                                 <0 0  5 &gic 0 GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>,
  965                                 <0 0  6 &gic 0 GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>,
  966                                 <0 0  7 &gic 0 GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>,
  967                                 <0 0  8 &gic 0 GIC_SPI 165 IRQ_TYPE_LEVEL_HIGH>,
  968                                 <0 0  9 &gic 0 GIC_SPI 166 IRQ_TYPE_LEVEL_HIGH>,
  969                                 <0 0 10 &gic 0 GIC_SPI 167 IRQ_TYPE_LEVEL_HIGH>,
  970                                 <0 0 11 &gic 0 GIC_SPI 168 IRQ_TYPE_LEVEL_HIGH>,
  971                                 <0 0 12 &gic 0 GIC_SPI 169 IRQ_TYPE_LEVEL_HIGH>;
  972         };
  973 
  974         site2: tlx-bus@60000000 {
  975                 compatible = "simple-bus";
  976                 #address-cells = <1>;
  977                 #size-cells = <1>;
  978                 ranges = <0 0 0x60000000 0x10000000>;
  979                 #interrupt-cells = <1>;
  980                 interrupt-map-mask = <0 0>;
  981                 interrupt-map = <0 0 &gic 0 GIC_SPI 168 IRQ_TYPE_LEVEL_HIGH>;
  982         };
  983 };

Cache object: 988ac2adec7167d70b4454ca14d5ca06


[ 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.