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/actions/s900.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 MIT)
    2 /*
    3  * Copyright (c) 2017 Andreas Färber
    4  */
    5 
    6 #include <dt-bindings/clock/actions,s900-cmu.h>
    7 #include <dt-bindings/gpio/gpio.h>
    8 #include <dt-bindings/interrupt-controller/arm-gic.h>
    9 #include <dt-bindings/reset/actions,s900-reset.h>
   10 
   11 / {
   12         compatible = "actions,s900";
   13         interrupt-parent = <&gic>;
   14         #address-cells = <2>;
   15         #size-cells = <2>;
   16 
   17         cpus {
   18                 #address-cells = <2>;
   19                 #size-cells = <0>;
   20 
   21                 cpu0: cpu@0 {
   22                         device_type = "cpu";
   23                         compatible = "arm,cortex-a53";
   24                         reg = <0x0 0x0>;
   25                         enable-method = "psci";
   26                 };
   27 
   28                 cpu1: cpu@1 {
   29                         device_type = "cpu";
   30                         compatible = "arm,cortex-a53";
   31                         reg = <0x0 0x1>;
   32                         enable-method = "psci";
   33                 };
   34 
   35                 cpu2: cpu@2 {
   36                         device_type = "cpu";
   37                         compatible = "arm,cortex-a53";
   38                         reg = <0x0 0x2>;
   39                         enable-method = "psci";
   40                 };
   41 
   42                 cpu3: cpu@3 {
   43                         device_type = "cpu";
   44                         compatible = "arm,cortex-a53";
   45                         reg = <0x0 0x3>;
   46                         enable-method = "psci";
   47                 };
   48         };
   49 
   50         reserved-memory {
   51                 #address-cells = <2>;
   52                 #size-cells = <2>;
   53                 ranges;
   54 
   55                 secmon@1f000000 {
   56                         reg = <0x0 0x1f000000 0x0 0x1000000>;
   57                         no-map;
   58                 };
   59         };
   60 
   61         psci {
   62                 compatible = "arm,psci-0.2";
   63                 method = "smc";
   64         };
   65 
   66         arm-pmu {
   67                 compatible = "arm,cortex-a53-pmu";
   68                 interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
   69                              <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>,
   70                              <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
   71                              <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
   72                 interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>;
   73         };
   74 
   75         timer {
   76                 compatible = "arm,armv8-timer";
   77                 interrupts = <GIC_PPI 13
   78                         (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
   79                              <GIC_PPI 14
   80                         (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
   81                              <GIC_PPI 11
   82                         (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
   83                              <GIC_PPI 10
   84                         (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
   85         };
   86 
   87         hosc: hosc {
   88                 compatible = "fixed-clock";
   89                 clock-frequency = <24000000>;
   90                 #clock-cells = <0>;
   91         };
   92 
   93         losc: losc {
   94                 compatible = "fixed-clock";
   95                 clock-frequency = <32768>;
   96                 #clock-cells = <0>;
   97         };
   98 
   99         diff24M: diff24M {
  100                 compatible = "fixed-clock";
  101                 clock-frequency = <24000000>;
  102                 #clock-cells = <0>;
  103         };
  104 
  105         soc {
  106                 compatible = "simple-bus";
  107                 #address-cells = <2>;
  108                 #size-cells = <2>;
  109                 ranges;
  110 
  111                 gic: interrupt-controller@e00f1000 {
  112                         compatible = "arm,gic-400";
  113                         reg = <0x0 0xe00f1000 0x0 0x1000>,
  114                               <0x0 0xe00f2000 0x0 0x2000>,
  115                               <0x0 0xe00f4000 0x0 0x2000>,
  116                               <0x0 0xe00f6000 0x0 0x2000>;
  117                         interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
  118                         interrupt-controller;
  119                         #interrupt-cells = <3>;
  120                 };
  121 
  122                 uart0: serial@e0120000 {
  123                         compatible = "actions,s900-uart", "actions,owl-uart";
  124                         reg = <0x0 0xe0120000 0x0 0x2000>;
  125                         clocks = <&cmu CLK_UART0>;
  126                         interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
  127                         status = "disabled";
  128                 };
  129 
  130                 uart1: serial@e0122000 {
  131                         compatible = "actions,s900-uart", "actions,owl-uart";
  132                         reg = <0x0 0xe0122000 0x0 0x2000>;
  133                         clocks = <&cmu CLK_UART1>;
  134                         interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
  135                         status = "disabled";
  136                 };
  137 
  138                 uart2: serial@e0124000 {
  139                         compatible = "actions,s900-uart", "actions,owl-uart";
  140                         reg = <0x0 0xe0124000 0x0 0x2000>;
  141                         clocks = <&cmu CLK_UART2>;
  142                         interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
  143                         status = "disabled";
  144                 };
  145 
  146                 uart3: serial@e0126000 {
  147                         compatible = "actions,s900-uart", "actions,owl-uart";
  148                         reg = <0x0 0xe0126000 0x0 0x2000>;
  149                         clocks = <&cmu CLK_UART3>;
  150                         interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
  151                         status = "disabled";
  152                 };
  153 
  154                 uart4: serial@e0128000 {
  155                         compatible = "actions,s900-uart", "actions,owl-uart";
  156                         reg = <0x0 0xe0128000 0x0 0x2000>;
  157                         clocks = <&cmu CLK_UART4>;
  158                         interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
  159                         status = "disabled";
  160                 };
  161 
  162                 uart5: serial@e012a000 {
  163                         compatible = "actions,s900-uart", "actions,owl-uart";
  164                         reg = <0x0 0xe012a000 0x0 0x2000>;
  165                         clocks = <&cmu CLK_UART5>;
  166                         interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
  167                         status = "disabled";
  168                 };
  169 
  170                 uart6: serial@e012c000 {
  171                         compatible = "actions,s900-uart", "actions,owl-uart";
  172                         reg = <0x0 0xe012c000 0x0 0x2000>;
  173                         clocks = <&cmu CLK_UART6>;
  174                         interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
  175                         status = "disabled";
  176                 };
  177 
  178                 sps: power-controller@e012e000 {
  179                         compatible = "actions,s900-sps";
  180                         reg = <0x0 0xe012e000 0x0 0x2000>;
  181                         #power-domain-cells = <1>;
  182                 };
  183 
  184                 cmu: clock-controller@e0160000 {
  185                         compatible = "actions,s900-cmu";
  186                         reg = <0x0 0xe0160000 0x0 0x1000>;
  187                         clocks = <&hosc>, <&losc>;
  188                         #clock-cells = <1>;
  189                         #reset-cells = <1>;
  190                 };
  191 
  192                 i2c0: i2c@e0170000 {
  193                         compatible = "actions,s900-i2c";
  194                         reg = <0 0xe0170000 0 0x1000>;
  195                         clocks = <&cmu CLK_I2C0>;
  196                         interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
  197                         #address-cells = <1>;
  198                         #size-cells = <0>;
  199                         status = "disabled";
  200                 };
  201 
  202                 i2c1: i2c@e0172000 {
  203                         compatible = "actions,s900-i2c";
  204                         reg = <0 0xe0172000 0 0x1000>;
  205                         clocks = <&cmu CLK_I2C1>;
  206                         interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
  207                         #address-cells = <1>;
  208                         #size-cells = <0>;
  209                         status = "disabled";
  210                 };
  211 
  212                 i2c2: i2c@e0174000 {
  213                         compatible = "actions,s900-i2c";
  214                         reg = <0 0xe0174000 0 0x1000>;
  215                         clocks = <&cmu CLK_I2C2>;
  216                         interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
  217                         #address-cells = <1>;
  218                         #size-cells = <0>;
  219                         status = "disabled";
  220                 };
  221 
  222                 i2c3: i2c@e0176000 {
  223                         compatible = "actions,s900-i2c";
  224                         reg = <0 0xe0176000 0 0x1000>;
  225                         clocks = <&cmu CLK_I2C3>;
  226                         interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
  227                         #address-cells = <1>;
  228                         #size-cells = <0>;
  229                         status = "disabled";
  230                 };
  231 
  232                 i2c4: i2c@e0178000 {
  233                         compatible = "actions,s900-i2c";
  234                         reg = <0 0xe0178000 0 0x1000>;
  235                         clocks = <&cmu CLK_I2C4>;
  236                         interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
  237                         #address-cells = <1>;
  238                         #size-cells = <0>;
  239                         status = "disabled";
  240                 };
  241 
  242                 i2c5: i2c@e017a000 {
  243                         compatible = "actions,s900-i2c";
  244                         reg = <0 0xe017a000 0 0x1000>;
  245                         clocks = <&cmu CLK_I2C5>;
  246                         interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
  247                         #address-cells = <1>;
  248                         #size-cells = <0>;
  249                         status = "disabled";
  250                 };
  251 
  252                 pinctrl: pinctrl@e01b0000 {
  253                         compatible = "actions,s900-pinctrl";
  254                         reg = <0x0 0xe01b0000 0x0 0x1000>;
  255                         clocks = <&cmu CLK_GPIO>;
  256                         gpio-controller;
  257                         gpio-ranges = <&pinctrl 0 0 146>;
  258                         #gpio-cells = <2>;
  259                         interrupt-controller;
  260                         #interrupt-cells = <2>;
  261                         interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>,
  262                                      <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>,
  263                                      <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>,
  264                                      <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>,
  265                                      <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>,
  266                                      <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
  267                 };
  268 
  269                 timer: timer@e0228000 {
  270                         compatible = "actions,s900-timer";
  271                         reg = <0x0 0xe0228000 0x0 0x8000>;
  272                         interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
  273                         interrupt-names = "timer1";
  274                 };
  275 
  276                 dma: dma-controller@e0260000 {
  277                         compatible = "actions,s900-dma";
  278                         reg = <0x0 0xe0260000 0x0 0x1000>;
  279                         interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>,
  280                                      <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>,
  281                                      <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>,
  282                                      <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>;
  283                         #dma-cells = <1>;
  284                         dma-channels = <12>;
  285                         dma-requests = <46>;
  286                         clocks = <&cmu CLK_DMAC>;
  287                 };
  288 
  289                 mmc0: mmc@e0330000 {
  290                         compatible = "actions,owl-mmc";
  291                         reg = <0x0 0xe0330000 0x0 0x4000>;
  292                         interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
  293                         clocks = <&cmu CLK_SD0>;
  294                         resets = <&cmu RESET_SD0>;
  295                         dmas = <&dma 2>;
  296                         dma-names = "mmc";
  297                         status = "disabled";
  298                 };
  299 
  300                 mmc1: mmc@e0334000 {
  301                         compatible = "actions,owl-mmc";
  302                         reg = <0x0 0xe0334000 0x0 0x4000>;
  303                         interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>;
  304                         clocks = <&cmu CLK_SD1>;
  305                         resets = <&cmu RESET_SD1>;
  306                         dmas = <&dma 3>;
  307                         dma-names = "mmc";
  308                         status = "disabled";
  309                 };
  310 
  311                 mmc2: mmc@e0338000 {
  312                         compatible = "actions,owl-mmc";
  313                         reg = <0x0 0xe0338000 0x0 0x4000>;
  314                         interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>;
  315                         clocks = <&cmu CLK_SD2>;
  316                         resets = <&cmu RESET_SD2>;
  317                         dmas = <&dma 4>;
  318                         dma-names = "mmc";
  319                         status = "disabled";
  320                 };
  321 
  322                 mmc3: mmc@e033c000 {
  323                         compatible = "actions,owl-mmc";
  324                         reg = <0x0 0xe033c000 0x0 0x4000>;
  325                         interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>;
  326                         clocks = <&cmu CLK_SD3>;
  327                         resets = <&cmu RESET_SD3>;
  328                         dmas = <&dma 46>;
  329                         dma-names = "mmc";
  330                         status = "disabled";
  331                 };
  332         };
  333 };

Cache object: 57021b764964fc4b7b110bec98d3f05f


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