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/marvell/ac5-98dx25xx.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  * Device Tree For AC5.
    4  *
    5  * Copyright (C) 2021 Marvell
    6  * Copyright (C) 2022 Allied Telesis Labs
    7  */
    8 
    9 #include <dt-bindings/gpio/gpio.h>
   10 #include <dt-bindings/interrupt-controller/arm-gic.h>
   11 
   12 / {
   13         model = "Marvell AC5 SoC";
   14         compatible = "marvell,ac5";
   15         interrupt-parent = <&gic>;
   16         #address-cells = <2>;
   17         #size-cells = <2>;
   18 
   19         cpus {
   20                 #address-cells = <2>;
   21                 #size-cells = <0>;
   22 
   23                 cpu-map {
   24                         cluster0 {
   25                                 core0 {
   26                                         cpu = <&cpu0>;
   27                                 };
   28                                 core1 {
   29                                         cpu = <&cpu1>;
   30                                 };
   31                         };
   32                 };
   33 
   34                 cpu0: cpu@0 {
   35                         device_type = "cpu";
   36                         compatible = "arm,cortex-a55";
   37                         reg = <0x0 0x0>;
   38                         enable-method = "psci";
   39                         next-level-cache = <&l2>;
   40                 };
   41 
   42                 cpu1: cpu@1 {
   43                         device_type = "cpu";
   44                         compatible = "arm,cortex-a55";
   45                         reg = <0x0 0x100>;
   46                         enable-method = "psci";
   47                         next-level-cache = <&l2>;
   48                 };
   49 
   50                 l2: l2-cache {
   51                         compatible = "cache";
   52                 };
   53         };
   54 
   55         psci {
   56                 compatible = "arm,psci-0.2";
   57                 method = "smc";
   58         };
   59 
   60         timer {
   61                 compatible = "arm,armv8-timer";
   62                 interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>,
   63                              <GIC_PPI 8 IRQ_TYPE_LEVEL_HIGH>,
   64                              <GIC_PPI 10 IRQ_TYPE_LEVEL_HIGH>,
   65                              <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH>;
   66         };
   67 
   68         pmu {
   69                 compatible = "arm,armv8-pmuv3";
   70                 interrupts = <GIC_PPI 12 IRQ_TYPE_LEVEL_HIGH>;
   71         };
   72 
   73         soc {
   74                 compatible = "simple-bus";
   75                 #address-cells = <2>;
   76                 #size-cells = <2>;
   77                 ranges;
   78                 dma-ranges;
   79 
   80                 internal-regs@7f000000 {
   81                         #address-cells = <1>;
   82                         #size-cells = <1>;
   83                         compatible = "simple-bus";
   84                         /* 16M internal register @ 0x7f00_0000 */
   85                         ranges = <0x0 0x0 0x7f000000 0x1000000>;
   86                         dma-coherent;
   87 
   88                         uart0: serial@12000 {
   89                                 compatible = "snps,dw-apb-uart";
   90                                 reg = <0x12000 0x100>;
   91                                 reg-shift = <2>;
   92                                 interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
   93                                 reg-io-width = <1>;
   94                                 clocks = <&cnm_clock>;
   95                                 status = "okay";
   96                         };
   97 
   98                         mdio: mdio@22004 {
   99                                 #address-cells = <1>;
  100                                 #size-cells = <0>;
  101                                 compatible = "marvell,orion-mdio";
  102                                 reg = <0x22004 0x4>;
  103                                 clocks = <&cnm_clock>;
  104                         };
  105 
  106                         i2c0: i2c@11000{
  107                                 compatible = "marvell,mv78230-i2c";
  108                                 reg = <0x11000 0x20>;
  109                                 #address-cells = <1>;
  110                                 #size-cells = <0>;
  111 
  112                                 clocks = <&cnm_clock>;
  113                                 clock-names = "core";
  114                                 interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
  115                                 clock-frequency=<100000>;
  116 
  117                                 pinctrl-names = "default", "gpio";
  118                                 pinctrl-0 = <&i2c0_pins>;
  119                                 pinctrl-1 = <&i2c0_gpio>;
  120                                 scl_gpio = <&gpio0 26 GPIO_ACTIVE_HIGH>;
  121                                 sda_gpio = <&gpio0 27 GPIO_ACTIVE_HIGH>;
  122                                 status = "disabled";
  123                         };
  124 
  125                         i2c1: i2c@11100{
  126                                 compatible = "marvell,mv78230-i2c";
  127                                 reg = <0x11100 0x20>;
  128                                 #address-cells = <1>;
  129                                 #size-cells = <0>;
  130 
  131                                 clocks = <&cnm_clock>;
  132                                 clock-names = "core";
  133                                 interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>;
  134                                 clock-frequency=<100000>;
  135 
  136                                 pinctrl-names = "default", "gpio";
  137                                 pinctrl-0 = <&i2c1_pins>;
  138                                 pinctrl-1 = <&i2c1_gpio>;
  139                                 scl_gpio = <&gpio0 20 GPIO_ACTIVE_HIGH>;
  140                                 sda_gpio = <&gpio0 21 GPIO_ACTIVE_HIGH>;
  141                                 status = "disabled";
  142                         };
  143 
  144                         gpio0: gpio@18100 {
  145                                 compatible = "marvell,orion-gpio";
  146                                 reg = <0x18100 0x40>;
  147                                 ngpios = <32>;
  148                                 gpio-controller;
  149                                 #gpio-cells = <2>;
  150                                 gpio-ranges = <&pinctrl0 0 0 32>;
  151                                 marvell,pwm-offset = <0x1f0>;
  152                                 interrupt-controller;
  153                                 #interrupt-cells = <2>;
  154                                 interrupts = <GIC_SPI 75 IRQ_TYPE_LEVEL_HIGH>,
  155                                              <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>,
  156                                              <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>,
  157                                              <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>;
  158                         };
  159 
  160                         gpio1: gpio@18140 {
  161                                 reg = <0x18140 0x40>;
  162                                 compatible = "marvell,orion-gpio";
  163                                 ngpios = <14>;
  164                                 gpio-controller;
  165                                 #gpio-cells = <2>;
  166                                 gpio-ranges = <&pinctrl0 0 32 14>;
  167                                 marvell,pwm-offset = <0x1f0>;
  168                                 interrupt-controller;
  169                                 #interrupt-cells = <2>;
  170                                 interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>,
  171                                              <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>;
  172                         };
  173                 };
  174 
  175                 /*
  176                  * Dedicated section for devices behind 32bit controllers so we
  177                  * can configure specific DMA mapping for them
  178                  */
  179                 behind-32bit-controller@7f000000 {
  180                         compatible = "simple-bus";
  181                         #address-cells = <0x2>;
  182                         #size-cells = <0x2>;
  183                         ranges = <0x0 0x0 0x0 0x7f000000 0x0 0x1000000>;
  184                         /* Host phy ram starts at 0x200M */
  185                         dma-ranges = <0x0 0x0 0x2 0x0 0x1 0x0>;
  186                         dma-coherent;
  187 
  188                         eth0: ethernet@20000 {
  189                                 compatible = "marvell,armada-ac5-neta";
  190                                 reg = <0x0 0x20000 0x0 0x4000>;
  191                                 interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
  192                                 clocks = <&cnm_clock>;
  193                                 phy-mode = "sgmii";
  194                                 status = "disabled";
  195                         };
  196 
  197                         eth1: ethernet@24000 {
  198                                 compatible = "marvell,armada-ac5-neta";
  199                                 reg = <0x0 0x24000 0x0 0x4000>;
  200                                 interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
  201                                 clocks = <&cnm_clock>;
  202                                 phy-mode = "sgmii";
  203                                 status = "disabled";
  204                         };
  205 
  206                         usb0: usb@80000 {
  207                                 compatible = "marvell,orion-ehci";
  208                                 reg = <0x0 0x80000 0x0 0x500>;
  209                                 interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>;
  210                                 status = "disabled";
  211                         };
  212 
  213                         usb1: usb@a0000 {
  214                                 compatible = "marvell,orion-ehci";
  215                                 reg = <0x0 0xa0000 0x0 0x500>;
  216                                 interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
  217                                 status = "disabled";
  218                         };
  219                 };
  220 
  221                 pinctrl0: pinctrl@80020100 {
  222                         compatible = "marvell,ac5-pinctrl";
  223                         reg = <0 0x80020100 0 0x20>;
  224 
  225                         i2c0_pins: i2c0-pins {
  226                                 marvell,pins = "mpp26", "mpp27";
  227                                 marvell,function = "i2c0";
  228                         };
  229 
  230                         i2c0_gpio: i2c0-gpio-pins {
  231                                 marvell,pins = "mpp26", "mpp27";
  232                                 marvell,function = "gpio";
  233                         };
  234 
  235                         i2c1_pins: i2c1-pins {
  236                                 marvell,pins = "mpp20", "mpp21";
  237                                 marvell,function = "i2c1";
  238                         };
  239 
  240                         i2c1_gpio: i2c1-gpio-pins {
  241                                 marvell,pins = "mpp20", "mpp21";
  242                                 marvell,function = "i2c1";
  243                         };
  244                 };
  245 
  246                 spi0: spi@805a0000 {
  247                         compatible = "marvell,armada-3700-spi";
  248                         reg = <0x0 0x805a0000 0x0 0x50>;
  249                         #address-cells = <0x1>;
  250                         #size-cells = <0x0>;
  251                         clocks = <&spi_clock>;
  252                         interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
  253                         num-cs = <1>;
  254                         status = "disabled";
  255                 };
  256 
  257                 spi1: spi@805a8000 {
  258                         compatible = "marvell,armada-3700-spi";
  259                         reg = <0x0 0x805a8000 0x0 0x50>;
  260                         #address-cells = <0x1>;
  261                         #size-cells = <0x0>;
  262                         clocks = <&spi_clock>;
  263                         interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>;
  264                         num-cs = <1>;
  265                         status = "disabled";
  266                 };
  267 
  268                 gic: interrupt-controller@80600000 {
  269                         compatible = "arm,gic-v3";
  270                         #interrupt-cells = <3>;
  271                         interrupt-controller;
  272                         reg = <0x0 0x80600000 0x0 0x10000>, /* GICD */
  273                               <0x0 0x80660000 0x0 0x40000>; /* GICR */
  274                         interrupts = <GIC_PPI 6 IRQ_TYPE_LEVEL_HIGH>;
  275                 };
  276         };
  277 
  278         clocks {
  279                 cnm_clock: cnm-clock {
  280                         compatible = "fixed-clock";
  281                         #clock-cells = <0>;
  282                         clock-frequency = <328000000>;
  283                 };
  284 
  285                 spi_clock: spi-clock {
  286                         compatible = "fixed-clock";
  287                         #clock-cells = <0>;
  288                         clock-frequency = <200000000>;
  289                 };
  290         };
  291 };

Cache object: b2eb8709184834ee1d83714b01186656


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