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/mips/ralink/mt7621.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-only OR BSD-2-Clause)
    2 #include <dt-bindings/interrupt-controller/mips-gic.h>
    3 #include <dt-bindings/gpio/gpio.h>
    4 #include <dt-bindings/clock/mt7621-clk.h>
    5 #include <dt-bindings/reset/mt7621-reset.h>
    6 
    7 / {
    8         #address-cells = <1>;
    9         #size-cells = <1>;
   10         compatible = "mediatek,mt7621-soc";
   11 
   12         cpus {
   13                 #address-cells = <1>;
   14                 #size-cells = <0>;
   15 
   16                 cpu@0 {
   17                         device_type = "cpu";
   18                         compatible = "mips,mips1004Kc";
   19                         reg = <0>;
   20                 };
   21 
   22                 cpu@1 {
   23                         device_type = "cpu";
   24                         compatible = "mips,mips1004Kc";
   25                         reg = <1>;
   26                 };
   27         };
   28 
   29         cpuintc: cpuintc {
   30                 #address-cells = <0>;
   31                 #interrupt-cells = <1>;
   32                 interrupt-controller;
   33                 compatible = "mti,cpu-interrupt-controller";
   34         };
   35 
   36         aliases {
   37                 serial0 = &uartlite;
   38         };
   39 
   40 
   41         mmc_fixed_3v3: regulator-3v3 {
   42                 compatible = "regulator-fixed";
   43                 regulator-name = "mmc_power";
   44                 regulator-min-microvolt = <3300000>;
   45                 regulator-max-microvolt = <3300000>;
   46                 enable-active-high;
   47                 regulator-always-on;
   48         };
   49 
   50         mmc_fixed_1v8_io: regulator-1v8 {
   51                 compatible = "regulator-fixed";
   52                 regulator-name = "mmc_io";
   53                 regulator-min-microvolt = <1800000>;
   54                 regulator-max-microvolt = <1800000>;
   55                 enable-active-high;
   56                 regulator-always-on;
   57         };
   58 
   59         palmbus: palmbus@1e000000 {
   60                 compatible = "palmbus";
   61                 reg = <0x1e000000 0x100000>;
   62                 ranges = <0x0 0x1e000000 0x0fffff>;
   63 
   64                 #address-cells = <1>;
   65                 #size-cells = <1>;
   66 
   67                 sysc: syscon@0 {
   68                         compatible = "mediatek,mt7621-sysc", "syscon";
   69                         reg = <0x0 0x100>;
   70                         #clock-cells = <1>;
   71                         #reset-cells = <1>;
   72                         ralink,memctl = <&memc>;
   73                         clock-output-names = "xtal", "cpu", "bus",
   74                                              "50m", "125m", "150m",
   75                                              "250m", "270m";
   76                 };
   77 
   78                 wdt: wdt@100 {
   79                         compatible = "mediatek,mt7621-wdt";
   80                         reg = <0x100 0x100>;
   81                 };
   82 
   83                 gpio: gpio@600 {
   84                         #gpio-cells = <2>;
   85                         #interrupt-cells = <2>;
   86                         compatible = "mediatek,mt7621-gpio";
   87                         gpio-controller;
   88                         gpio-ranges = <&pinctrl 0 0 95>;
   89                         interrupt-controller;
   90                         reg = <0x600 0x100>;
   91                         interrupt-parent = <&gic>;
   92                         interrupts = <GIC_SHARED 12 IRQ_TYPE_LEVEL_HIGH>;
   93                 };
   94 
   95                 i2c: i2c@900 {
   96                         compatible = "mediatek,mt7621-i2c";
   97                         reg = <0x900 0x100>;
   98 
   99                         clocks = <&sysc MT7621_CLK_I2C>;
  100                         clock-names = "i2c";
  101                         resets = <&sysc MT7621_RST_I2C>;
  102                         reset-names = "i2c";
  103 
  104                         #address-cells = <1>;
  105                         #size-cells = <0>;
  106 
  107                         status = "disabled";
  108 
  109                         pinctrl-names = "default";
  110                         pinctrl-0 = <&i2c_pins>;
  111                 };
  112 
  113                 memc: syscon@5000 {
  114                         compatible = "mediatek,mt7621-memc", "syscon";
  115                         reg = <0x5000 0x1000>;
  116                 };
  117 
  118                 uartlite: uartlite@c00 {
  119                         compatible = "ns16550a";
  120                         reg = <0xc00 0x100>;
  121 
  122                         clocks = <&sysc MT7621_CLK_UART1>;
  123                         clock-names = "uart1";
  124 
  125                         interrupt-parent = <&gic>;
  126                         interrupts = <GIC_SHARED 26 IRQ_TYPE_LEVEL_HIGH>;
  127 
  128                         reg-shift = <2>;
  129                         reg-io-width = <4>;
  130                         no-loopback-test;
  131                 };
  132 
  133                 spi0: spi@b00 {
  134                         status = "disabled";
  135 
  136                         compatible = "ralink,mt7621-spi";
  137                         reg = <0xb00 0x100>;
  138 
  139                         clocks = <&sysc MT7621_CLK_SPI>;
  140                         clock-names = "spi";
  141 
  142                         resets = <&sysc MT7621_RST_SPI>;
  143                         reset-names = "spi";
  144 
  145                         #address-cells = <1>;
  146                         #size-cells = <0>;
  147 
  148                         pinctrl-names = "default";
  149                         pinctrl-0 = <&spi_pins>;
  150                 };
  151         };
  152 
  153         pinctrl: pinctrl {
  154                 compatible = "ralink,mt7621-pinctrl";
  155 
  156                 i2c_pins: i2c0-pins {
  157                         pinmux {
  158                                 groups = "i2c";
  159                                 function = "i2c";
  160                         };
  161                 };
  162 
  163                 spi_pins: spi0-pins {
  164                         pinmux {
  165                                 groups = "spi";
  166                                 function = "spi";
  167                         };
  168                 };
  169 
  170                 uart1_pins: uart1-pins {
  171                         pinmux {
  172                                 groups = "uart1";
  173                                 function = "uart1";
  174                         };
  175                 };
  176 
  177                 uart2_pins: uart2-pins {
  178                         pinmux {
  179                                 groups = "uart2";
  180                                 function = "uart2";
  181                         };
  182                 };
  183 
  184                 uart3_pins: uart3-pins {
  185                         pinmux {
  186                                 groups = "uart3";
  187                                 function = "uart3";
  188                         };
  189                 };
  190 
  191                 rgmii1_pins: rgmii1-pins {
  192                         pinmux {
  193                                 groups = "rgmii1";
  194                                 function = "rgmii1";
  195                         };
  196                 };
  197 
  198                 rgmii2_pins: rgmii2-pins {
  199                         pinmux {
  200                                 groups = "rgmii2";
  201                                 function = "rgmii2";
  202                         };
  203                 };
  204 
  205                 mdio_pins: mdio0-pins {
  206                         pinmux {
  207                                 groups = "mdio";
  208                                 function = "mdio";
  209                         };
  210                 };
  211 
  212                 pcie_pins: pcie0-pins {
  213                         pinmux {
  214                                 groups = "pcie";
  215                                 function = "gpio";
  216                         };
  217                 };
  218 
  219                 nand_pins: nand0-pins {
  220                         spi-pinmux {
  221                                 groups = "spi";
  222                                 function = "nand1";
  223                         };
  224 
  225                         sdhci-pinmux {
  226                                 groups = "sdhci";
  227                                 function = "nand2";
  228                         };
  229                 };
  230 
  231                 sdhci_pins: sdhci0-pins {
  232                         pinmux {
  233                                 groups = "sdhci";
  234                                 function = "sdhci";
  235                         };
  236                 };
  237         };
  238 
  239         sdhci: sdhci@1e130000 {
  240                 status = "disabled";
  241 
  242                 compatible = "mediatek,mt7620-mmc";
  243                 reg = <0x1e130000 0x4000>;
  244 
  245                 bus-width = <4>;
  246                 max-frequency = <48000000>;
  247                 cap-sd-highspeed;
  248                 cap-mmc-highspeed;
  249                 vmmc-supply = <&mmc_fixed_3v3>;
  250                 vqmmc-supply = <&mmc_fixed_1v8_io>;
  251                 disable-wp;
  252 
  253                 pinctrl-names = "default", "state_uhs";
  254                 pinctrl-0 = <&sdhci_pins>;
  255                 pinctrl-1 = <&sdhci_pins>;
  256 
  257                 clocks = <&sysc MT7621_CLK_SHXC>,
  258                          <&sysc MT7621_CLK_50M>;
  259                 clock-names = "source", "hclk";
  260 
  261                 interrupt-parent = <&gic>;
  262                 interrupts = <GIC_SHARED 20 IRQ_TYPE_LEVEL_HIGH>;
  263         };
  264 
  265         xhci: xhci@1e1c0000 {
  266                 compatible = "mediatek,mt8173-xhci";
  267                 reg = <0x1e1c0000 0x1000
  268                        0x1e1d0700 0x0100>;
  269                 reg-names = "mac", "ippc";
  270 
  271                 clocks = <&sysc MT7621_CLK_XTAL>;
  272                 clock-names = "sys_ck";
  273 
  274                 interrupt-parent = <&gic>;
  275                 interrupts = <GIC_SHARED 22 IRQ_TYPE_LEVEL_HIGH>;
  276         };
  277 
  278         gic: interrupt-controller@1fbc0000 {
  279                 compatible = "mti,gic";
  280                 reg = <0x1fbc0000 0x2000>;
  281 
  282                 interrupt-controller;
  283                 #interrupt-cells = <3>;
  284 
  285                 mti,reserved-cpu-vectors = <7>;
  286 
  287                 timer {
  288                         compatible = "mti,gic-timer";
  289                         interrupts = <GIC_LOCAL 1 IRQ_TYPE_NONE>;
  290                         clocks = <&sysc MT7621_CLK_CPU>;
  291                 };
  292         };
  293 
  294         cpc: cpc@1fbf0000 {
  295                 compatible = "mti,mips-cpc";
  296                 reg = <0x1fbf0000 0x8000>;
  297         };
  298 
  299         cdmm: cdmm@1fbf8000 {
  300                 compatible = "mti,mips-cdmm";
  301                 reg = <0x1fbf8000 0x8000>;
  302         };
  303 
  304         ethernet: ethernet@1e100000 {
  305                 compatible = "mediatek,mt7621-eth";
  306                 reg = <0x1e100000 0x10000>;
  307 
  308                 clocks = <&sysc MT7621_CLK_FE>,
  309                          <&sysc MT7621_CLK_ETH>;
  310                 clock-names = "fe", "ethif";
  311 
  312                 #address-cells = <1>;
  313                 #size-cells = <0>;
  314 
  315                 resets = <&sysc MT7621_RST_FE &sysc MT7621_RST_ETH>;
  316                 reset-names = "fe", "eth";
  317 
  318                 interrupt-parent = <&gic>;
  319                 interrupts = <GIC_SHARED 3 IRQ_TYPE_LEVEL_HIGH>;
  320 
  321                 mediatek,ethsys = <&sysc>;
  322 
  323                 pinctrl-names = "default";
  324                 pinctrl-0 = <&mdio_pins>, <&rgmii1_pins>, <&rgmii2_pins>;
  325 
  326                 gmac0: mac@0 {
  327                         compatible = "mediatek,eth-mac";
  328                         reg = <0>;
  329                         phy-mode = "trgmii";
  330 
  331                         fixed-link {
  332                                 speed = <1000>;
  333                                 full-duplex;
  334                                 pause;
  335                         };
  336                 };
  337 
  338                 gmac1: mac@1 {
  339                         compatible = "mediatek,eth-mac";
  340                         reg = <1>;
  341                         status = "off";
  342                         phy-mode = "rgmii-rxid";
  343                 };
  344 
  345                 mdio: mdio-bus {
  346                         #address-cells = <1>;
  347                         #size-cells = <0>;
  348 
  349                         switch0: switch0@0 {
  350                                 compatible = "mediatek,mt7621";
  351                                 reg = <0>;
  352                                 mediatek,mcm;
  353                                 resets = <&sysc MT7621_RST_MCM>;
  354                                 reset-names = "mcm";
  355                                 interrupt-controller;
  356                                 #interrupt-cells = <1>;
  357                                 interrupt-parent = <&gic>;
  358                                 interrupts = <GIC_SHARED 23 IRQ_TYPE_LEVEL_HIGH>;
  359 
  360                                 ports {
  361                                         #address-cells = <1>;
  362                                         #size-cells = <0>;
  363 
  364                                         port@0 {
  365                                                 status = "off";
  366                                                 reg = <0>;
  367                                                 label = "lan0";
  368                                         };
  369 
  370                                         port@1 {
  371                                                 status = "off";
  372                                                 reg = <1>;
  373                                                 label = "lan1";
  374                                         };
  375 
  376                                         port@2 {
  377                                                 status = "off";
  378                                                 reg = <2>;
  379                                                 label = "lan2";
  380                                         };
  381 
  382                                         port@3 {
  383                                                 status = "off";
  384                                                 reg = <3>;
  385                                                 label = "lan3";
  386                                         };
  387 
  388                                         port@4 {
  389                                                 status = "off";
  390                                                 reg = <4>;
  391                                                 label = "lan4";
  392                                         };
  393 
  394                                         port@6 {
  395                                                 reg = <6>;
  396                                                 label = "cpu";
  397                                                 ethernet = <&gmac0>;
  398                                                 phy-mode = "trgmii";
  399 
  400                                                 fixed-link {
  401                                                         speed = <1000>;
  402                                                         full-duplex;
  403                                                         pause;
  404                                                 };
  405                                         };
  406                                 };
  407                         };
  408                 };
  409         };
  410 
  411         pcie: pcie@1e140000 {
  412                 compatible = "mediatek,mt7621-pci";
  413                 reg = <0x1e140000 0x100>, /* host-pci bridge registers */
  414                       <0x1e142000 0x100>, /* pcie port 0 RC control registers */
  415                       <0x1e143000 0x100>, /* pcie port 1 RC control registers */
  416                       <0x1e144000 0x100>; /* pcie port 2 RC control registers */
  417                 #address-cells = <3>;
  418                 #size-cells = <2>;
  419 
  420                 pinctrl-names = "default";
  421                 pinctrl-0 = <&pcie_pins>;
  422 
  423                 device_type = "pci";
  424 
  425                 ranges = <0x02000000 0 0x60000000 0x60000000 0 0x10000000>, /* pci memory */
  426                          <0x01000000 0 0x00000000 0x1e160000 0 0x00010000>; /* io space */
  427 
  428                 #interrupt-cells = <1>;
  429                 interrupt-map-mask = <0xF800 0 0 0>;
  430                 interrupt-map = <0x0000 0 0 0 &gic GIC_SHARED 4 IRQ_TYPE_LEVEL_HIGH>,
  431                                 <0x0800 0 0 0 &gic GIC_SHARED 24 IRQ_TYPE_LEVEL_HIGH>,
  432                                 <0x1000 0 0 0 &gic GIC_SHARED 25 IRQ_TYPE_LEVEL_HIGH>;
  433 
  434                 status = "disabled";
  435 
  436                 reset-gpios = <&gpio 19 GPIO_ACTIVE_LOW>;
  437 
  438                 pcie@0,0 {
  439                         reg = <0x0000 0 0 0 0>;
  440                         #address-cells = <3>;
  441                         #size-cells = <2>;
  442                         device_type = "pci";
  443                         #interrupt-cells = <1>;
  444                         interrupt-map-mask = <0 0 0 0>;
  445                         interrupt-map = <0 0 0 0 &gic GIC_SHARED 4 IRQ_TYPE_LEVEL_HIGH>;
  446                         resets = <&sysc MT7621_RST_PCIE0>;
  447                         clocks = <&sysc MT7621_CLK_PCIE0>;
  448                         phys = <&pcie0_phy 1>;
  449                         phy-names = "pcie-phy0";
  450                         ranges;
  451                 };
  452 
  453                 pcie@1,0 {
  454                         reg = <0x0800 0 0 0 0>;
  455                         #address-cells = <3>;
  456                         #size-cells = <2>;
  457                         device_type = "pci";
  458                         #interrupt-cells = <1>;
  459                         interrupt-map-mask = <0 0 0 0>;
  460                         interrupt-map = <0 0 0 0 &gic GIC_SHARED 24 IRQ_TYPE_LEVEL_HIGH>;
  461                         resets = <&sysc MT7621_RST_PCIE1>;
  462                         clocks = <&sysc MT7621_CLK_PCIE1>;
  463                         phys = <&pcie0_phy 1>;
  464                         phy-names = "pcie-phy1";
  465                         ranges;
  466                 };
  467 
  468                 pcie@2,0 {
  469                         reg = <0x1000 0 0 0 0>;
  470                         #address-cells = <3>;
  471                         #size-cells = <2>;
  472                         device_type = "pci";
  473                         #interrupt-cells = <1>;
  474                         interrupt-map-mask = <0 0 0 0>;
  475                         interrupt-map = <0 0 0 0 &gic GIC_SHARED 25 IRQ_TYPE_LEVEL_HIGH>;
  476                         resets = <&sysc MT7621_RST_PCIE2>;
  477                         clocks = <&sysc MT7621_CLK_PCIE2>;
  478                         phys = <&pcie2_phy 0>;
  479                         phy-names = "pcie-phy2";
  480                         ranges;
  481                 };
  482         };
  483 
  484         pcie0_phy: pcie-phy@1e149000 {
  485                 compatible = "mediatek,mt7621-pci-phy";
  486                 reg = <0x1e149000 0x0700>;
  487                 clocks = <&sysc MT7621_CLK_XTAL>;
  488                 #phy-cells = <1>;
  489         };
  490 
  491         pcie2_phy: pcie-phy@1e14a000 {
  492                 compatible = "mediatek,mt7621-pci-phy";
  493                 reg = <0x1e14a000 0x0700>;
  494                 clocks = <&sysc MT7621_CLK_XTAL>;
  495                 #phy-cells = <1>;
  496         };
  497 };

Cache object: bb40a8145bbd531d93a1d016ba6bb563


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