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/synaptics/berlin4ct.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) 2015 Marvell Technology Group Ltd.
    4  *
    5  * Author: Jisheng Zhang <jszhang@marvell.com>
    6  */
    7 
    8 #include <dt-bindings/interrupt-controller/arm-gic.h>
    9 
   10 / {
   11         compatible = "marvell,berlin4ct", "marvell,berlin";
   12         interrupt-parent = <&gic>;
   13         #address-cells = <2>;
   14         #size-cells = <2>;
   15 
   16         aliases {
   17                 serial0 = &uart0;
   18         };
   19 
   20         psci {
   21                 compatible = "arm,psci-1.0", "arm,psci-0.2";
   22                 method = "smc";
   23         };
   24 
   25         cpus {
   26                 #address-cells = <1>;
   27                 #size-cells = <0>;
   28 
   29                 cpu0: cpu@0 {
   30                         compatible = "arm,cortex-a53";
   31                         device_type = "cpu";
   32                         reg = <0x0>;
   33                         enable-method = "psci";
   34                         next-level-cache = <&l2>;
   35                         cpu-idle-states = <&CPU_SLEEP_0>;
   36                 };
   37 
   38                 cpu1: cpu@1 {
   39                         compatible = "arm,cortex-a53";
   40                         device_type = "cpu";
   41                         reg = <0x1>;
   42                         enable-method = "psci";
   43                         next-level-cache = <&l2>;
   44                         cpu-idle-states = <&CPU_SLEEP_0>;
   45                 };
   46 
   47                 cpu2: cpu@2 {
   48                         compatible = "arm,cortex-a53";
   49                         device_type = "cpu";
   50                         reg = <0x2>;
   51                         enable-method = "psci";
   52                         next-level-cache = <&l2>;
   53                         cpu-idle-states = <&CPU_SLEEP_0>;
   54                 };
   55 
   56                 cpu3: cpu@3 {
   57                         compatible = "arm,cortex-a53";
   58                         device_type = "cpu";
   59                         reg = <0x3>;
   60                         enable-method = "psci";
   61                         next-level-cache = <&l2>;
   62                         cpu-idle-states = <&CPU_SLEEP_0>;
   63                 };
   64 
   65                 l2: cache {
   66                         compatible = "cache";
   67                 };
   68 
   69                 idle-states {
   70                         entry-method = "psci";
   71                         CPU_SLEEP_0: cpu-sleep-0 {
   72                                 compatible = "arm,idle-state";
   73                                 local-timer-stop;
   74                                 arm,psci-suspend-param = <0x0010000>;
   75                                 entry-latency-us = <75>;
   76                                 exit-latency-us = <155>;
   77                                 min-residency-us = <1000>;
   78                         };
   79                 };
   80         };
   81 
   82         osc: osc {
   83                 compatible = "fixed-clock";
   84                 #clock-cells = <0>;
   85                 clock-frequency = <25000000>;
   86         };
   87 
   88         pmu {
   89                 compatible = "arm,cortex-a53-pmu", "arm,armv8-pmuv3";
   90                 interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>,
   91                              <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>,
   92                              <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>,
   93                              <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
   94                 interrupt-affinity = <&cpu0>,
   95                                      <&cpu1>,
   96                                      <&cpu2>,
   97                                      <&cpu3>;
   98         };
   99 
  100         timer {
  101                 compatible = "arm,armv8-timer";
  102                 interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
  103                              <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
  104                              <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
  105                              <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
  106         };
  107 
  108         soc@f7000000 {
  109                 compatible = "simple-bus";
  110                 #address-cells = <1>;
  111                 #size-cells = <1>;
  112                 ranges = <0 0 0xf7000000 0x1000000>;
  113 
  114                 gic: interrupt-controller@901000 {
  115                         compatible = "arm,gic-400";
  116                         #interrupt-cells = <3>;
  117                         interrupt-controller;
  118                         reg = <0x901000 0x1000>,
  119                               <0x902000 0x2000>,
  120                               <0x904000 0x2000>,
  121                               <0x906000 0x2000>;
  122                         interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
  123                 };
  124 
  125                 apb@e80000 {
  126                         compatible = "simple-bus";
  127                         #address-cells = <1>;
  128                         #size-cells = <1>;
  129 
  130                         ranges = <0 0xe80000 0x10000>;
  131                         interrupt-parent = <&aic>;
  132 
  133                         gpio0: gpio@400 {
  134                                 compatible = "snps,dw-apb-gpio";
  135                                 reg = <0x0400 0x400>;
  136                                 #address-cells = <1>;
  137                                 #size-cells = <0>;
  138 
  139                                 porta: gpio-port@0 {
  140                                         compatible = "snps,dw-apb-gpio-port";
  141                                         gpio-controller;
  142                                         #gpio-cells = <2>;
  143                                         ngpios = <32>;
  144                                         reg = <0>;
  145                                         interrupt-controller;
  146                                         #interrupt-cells = <2>;
  147                                         interrupts = <0>;
  148                                 };
  149                         };
  150 
  151                         gpio1: gpio@800 {
  152                                 compatible = "snps,dw-apb-gpio";
  153                                 reg = <0x0800 0x400>;
  154                                 #address-cells = <1>;
  155                                 #size-cells = <0>;
  156 
  157                                 portb: gpio-port@1 {
  158                                         compatible = "snps,dw-apb-gpio-port";
  159                                         gpio-controller;
  160                                         #gpio-cells = <2>;
  161                                         ngpios = <32>;
  162                                         reg = <0>;
  163                                         interrupt-controller;
  164                                         #interrupt-cells = <2>;
  165                                         interrupts = <1>;
  166                                 };
  167                         };
  168 
  169                         gpio2: gpio@c00 {
  170                                 compatible = "snps,dw-apb-gpio";
  171                                 reg = <0x0c00 0x400>;
  172                                 #address-cells = <1>;
  173                                 #size-cells = <0>;
  174 
  175                                 portc: gpio-port@2 {
  176                                         compatible = "snps,dw-apb-gpio-port";
  177                                         gpio-controller;
  178                                         #gpio-cells = <2>;
  179                                         ngpios = <32>;
  180                                         reg = <0>;
  181                                         interrupt-controller;
  182                                         #interrupt-cells = <2>;
  183                                         interrupts = <2>;
  184                                 };
  185                         };
  186 
  187                         gpio3: gpio@1000 {
  188                                 compatible = "snps,dw-apb-gpio";
  189                                 reg = <0x1000 0x400>;
  190                                 #address-cells = <1>;
  191                                 #size-cells = <0>;
  192 
  193                                 portd: gpio-port@3 {
  194                                         compatible = "snps,dw-apb-gpio-port";
  195                                         gpio-controller;
  196                                         #gpio-cells = <2>;
  197                                         ngpios = <32>;
  198                                         reg = <0>;
  199                                         interrupt-controller;
  200                                         #interrupt-cells = <2>;
  201                                         interrupts = <3>;
  202                                 };
  203                         };
  204 
  205                         aic: interrupt-controller@3800 {
  206                                 compatible = "snps,dw-apb-ictl";
  207                                 reg = <0x3800 0x30>;
  208                                 interrupt-controller;
  209                                 #interrupt-cells = <1>;
  210                                 interrupt-parent = <&gic>;
  211                                 interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
  212                         };
  213                 };
  214 
  215                 soc_pinctrl: pin-controller@ea8000 {
  216                         compatible = "marvell,berlin4ct-soc-pinctrl";
  217                         reg = <0xea8000 0x14>;
  218                 };
  219 
  220                 avio_pinctrl: pin-controller@ea8400 {
  221                         compatible = "marvell,berlin4ct-avio-pinctrl";
  222                         reg = <0xea8400 0x8>;
  223                 };
  224 
  225                 apb@fc0000 {
  226                         compatible = "simple-bus";
  227                         #address-cells = <1>;
  228                         #size-cells = <1>;
  229                         ranges = <0 0xfc0000 0x10000>;
  230                         interrupt-parent = <&sic>;
  231 
  232                         sic: interrupt-controller@1000 {
  233                                 compatible = "snps,dw-apb-ictl";
  234                                 reg = <0x1000 0x30>;
  235                                 interrupt-controller;
  236                                 #interrupt-cells = <1>;
  237                                 interrupt-parent = <&gic>;
  238                                 interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
  239                         };
  240 
  241                         wdt0: watchdog@3000 {
  242                                 compatible = "snps,dw-wdt";
  243                                 reg = <0x3000 0x100>;
  244                                 clocks = <&osc>;
  245                                 interrupts = <0>;
  246                         };
  247 
  248                         wdt1: watchdog@4000 {
  249                                 compatible = "snps,dw-wdt";
  250                                 reg = <0x4000 0x100>;
  251                                 clocks = <&osc>;
  252                                 interrupts = <1>;
  253                         };
  254 
  255                         wdt2: watchdog@5000 {
  256                                 compatible = "snps,dw-wdt";
  257                                 reg = <0x5000 0x100>;
  258                                 clocks = <&osc>;
  259                                 interrupts = <2>;
  260                         };
  261 
  262                         sm_gpio0: gpio@8000 {
  263                                 compatible = "snps,dw-apb-gpio";
  264                                 reg = <0x8000 0x400>;
  265                                 #address-cells = <1>;
  266                                 #size-cells = <0>;
  267 
  268                                 porte: gpio-port@4 {
  269                                         compatible = "snps,dw-apb-gpio-port";
  270                                         gpio-controller;
  271                                         #gpio-cells = <2>;
  272                                         ngpios = <32>;
  273                                         reg = <0>;
  274                                 };
  275                         };
  276 
  277                         sm_gpio1: gpio@9000 {
  278                                 compatible = "snps,dw-apb-gpio";
  279                                 reg = <0x9000 0x400>;
  280                                 #address-cells = <1>;
  281                                 #size-cells = <0>;
  282 
  283                                 portf: gpio-port@5 {
  284                                         compatible = "snps,dw-apb-gpio-port";
  285                                         gpio-controller;
  286                                         #gpio-cells = <2>;
  287                                         ngpios = <32>;
  288                                         reg = <0>;
  289                                 };
  290                         };
  291 
  292                         uart0: uart@d000 {
  293                                 compatible = "snps,dw-apb-uart";
  294                                 reg = <0xd000 0x100>;
  295                                 interrupts = <8>;
  296                                 clocks = <&osc>;
  297                                 reg-shift = <2>;
  298                                 status = "disabled";
  299                                 pinctrl-0 = <&uart0_pmux>;
  300                                 pinctrl-names = "default";
  301                         };
  302                 };
  303 
  304                 system_pinctrl: pin-controller@fe2200 {
  305                         compatible = "marvell,berlin4ct-system-pinctrl";
  306                         reg = <0xfe2200 0xc>;
  307 
  308                         uart0_pmux: uart0-pmux {
  309                                 groups = "SM_URT0_TXD", "SM_URT0_RXD";
  310                                 function = "uart0";
  311                         };
  312                 };
  313         };
  314 };

Cache object: 3304175fef7eebd06c3e3ff82cea3673


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