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/armada-3720-turris-mox.dts

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 file for CZ.NIC Turris Mox Board
    4  * 2019 by Marek BehĂșn <kabel@kernel.org>
    5  */
    6 
    7 /dts-v1/;
    8 
    9 #include <dt-bindings/bus/moxtet.h>
   10 #include <dt-bindings/gpio/gpio.h>
   11 #include <dt-bindings/input/input.h>
   12 #include "armada-372x.dtsi"
   13 
   14 / {
   15         model = "CZ.NIC Turris Mox Board";
   16         compatible = "cznic,turris-mox", "marvell,armada3720",
   17                      "marvell,armada3710";
   18 
   19         aliases {
   20                 spi0 = &spi0;
   21                 ethernet0 = &eth0;
   22                 ethernet1 = &eth1;
   23                 mmc0 = &sdhci0;
   24                 mmc1 = &sdhci1;
   25         };
   26 
   27         chosen {
   28                 stdout-path = "serial0:115200n8";
   29         };
   30 
   31         memory@0 {
   32                 device_type = "memory";
   33                 reg = <0x00000000 0x00000000 0x00000000 0x20000000>;
   34         };
   35 
   36         leds {
   37                 compatible = "gpio-leds";
   38                 led {
   39                         label = "mox:red:activity";
   40                         gpios = <&gpiosb 21 GPIO_ACTIVE_LOW>;
   41                         linux,default-trigger = "default-on";
   42                 };
   43         };
   44 
   45         gpio-keys {
   46                 compatible = "gpio-keys";
   47 
   48                 key-reset {
   49                         label = "reset";
   50                         linux,code = <KEY_RESTART>;
   51                         gpios = <&gpiosb 20 GPIO_ACTIVE_LOW>;
   52                         debounce-interval = <60>;
   53                 };
   54         };
   55 
   56         exp_usb3_vbus: usb3-vbus {
   57                 compatible = "regulator-fixed";
   58                 regulator-name = "usb3-vbus";
   59                 regulator-min-microvolt = <5000000>;
   60                 regulator-max-microvolt = <5000000>;
   61                 enable-active-high;
   62                 regulator-always-on;
   63                 gpio = <&gpiosb 0 GPIO_ACTIVE_HIGH>;
   64         };
   65 
   66         vsdc_reg: vsdc-reg {
   67                 compatible = "regulator-gpio";
   68                 regulator-name = "vsdc";
   69                 regulator-min-microvolt = <1800000>;
   70                 regulator-max-microvolt = <3300000>;
   71                 regulator-boot-on;
   72 
   73                 gpios = <&gpiosb 23 GPIO_ACTIVE_HIGH>;
   74                 gpios-states = <0>;
   75                 states = <1800000 0x1
   76                           3300000 0x0>;
   77                 enable-active-high;
   78         };
   79 
   80         vsdio_reg: vsdio-reg {
   81                 compatible = "regulator-gpio";
   82                 regulator-name = "vsdio";
   83                 regulator-min-microvolt = <1800000>;
   84                 regulator-max-microvolt = <3300000>;
   85                 regulator-boot-on;
   86 
   87                 gpios = <&gpiosb 22 GPIO_ACTIVE_HIGH>;
   88                 gpios-states = <0>;
   89                 states = <1800000 0x1
   90                           3300000 0x0>;
   91                 enable-active-high;
   92         };
   93 
   94         sdhci1_pwrseq: sdhci1-pwrseq {
   95                 compatible = "mmc-pwrseq-simple";
   96                 reset-gpios = <&gpionb 19 GPIO_ACTIVE_HIGH>;
   97                 status = "okay";
   98         };
   99 
  100         sfp: sfp {
  101                 compatible = "sff,sfp";
  102                 i2c-bus = <&i2c0>;
  103                 los-gpios = <&moxtet_sfp 0 GPIO_ACTIVE_HIGH>;
  104                 tx-fault-gpios = <&moxtet_sfp 1 GPIO_ACTIVE_HIGH>;
  105                 mod-def0-gpios = <&moxtet_sfp 2 GPIO_ACTIVE_LOW>;
  106                 tx-disable-gpios = <&moxtet_sfp 4 GPIO_ACTIVE_HIGH>;
  107                 rate-select0-gpios = <&moxtet_sfp 5 GPIO_ACTIVE_HIGH>;
  108                 maximum-power-milliwatt = <3000>;
  109 
  110                 /* enabled by U-Boot if SFP module is present */
  111                 status = "disabled";
  112         };
  113 
  114         firmware {
  115                 armada-3700-rwtm {
  116                         compatible = "marvell,armada-3700-rwtm-firmware", "cznic,turris-mox-rwtm";
  117                 };
  118         };
  119 };
  120 
  121 &i2c0 {
  122         pinctrl-names = "default";
  123         pinctrl-0 = <&i2c1_pins>;
  124         clock-frequency = <100000>;
  125         /delete-property/ mrvl,i2c-fast-mode;
  126         status = "okay";
  127 
  128         rtc@6f {
  129                 compatible = "microchip,mcp7940x";
  130                 reg = <0x6f>;
  131         };
  132 };
  133 
  134 &pcie0 {
  135         pinctrl-names = "default";
  136         pinctrl-0 = <&pcie_reset_pins &pcie_clkreq_pins>;
  137         status = "okay";
  138         reset-gpios = <&gpiosb 3 GPIO_ACTIVE_LOW>;
  139         /*
  140          * U-Boot port for Turris Mox has a bug which always expects that "ranges" DT property
  141          * contains exactly 2 ranges with 3 (child) address cells, 2 (parent) address cells and
  142          * 2 size cells and also expects that the second range starts at 16 MB offset. Also it
  143          * expects that first range uses same address for PCI (child) and CPU (parent) cells (so
  144          * no remapping) and that this address is the lowest from all specified ranges. If these
  145          * conditions are not met then U-Boot crashes during loading kernel DTB file. PCIe address
  146          * space is 128 MB long, so the best split between MEM and IO is to use fixed 16 MB window
  147          * for IO and the rest 112 MB (64+32+16) for MEM, despite that maximal IO size is just 64 kB.
  148          * This bug is not present in U-Boot ports for other Armada 3700 devices and is fixed in
  149          * U-Boot version 2021.07. See relevant U-Boot commits (the last one contains fix):
  150          * https://source.denx.de/u-boot/u-boot/-/commit/cb2ddb291ee6fcbddd6d8f4ff49089dfe580f5d7
  151          * https://source.denx.de/u-boot/u-boot/-/commit/c64ac3b3185aeb3846297ad7391fc6df8ecd73bf
  152          * https://source.denx.de/u-boot/u-boot/-/commit/4a82fca8e330157081fc132a591ebd99ba02ee33
  153          * Bug related to requirement of same child and parent addresses for first range is fixed
  154          * in U-Boot version 2022.04 by following commit:
  155          * https://source.denx.de/u-boot/u-boot/-/commit/1fd54253bca7d43d046bba4853fe5fafd034bc17
  156          */
  157         #address-cells = <3>;
  158         #size-cells = <2>;
  159         ranges = <0x81000000 0 0xe8000000   0 0xe8000000   0 0x01000000   /* Port 0 IO */
  160                   0x82000000 0 0xe9000000   0 0xe9000000   0 0x07000000>; /* Port 0 MEM */
  161 
  162         /* enabled by U-Boot if PCIe module is present */
  163         status = "disabled";
  164 };
  165 
  166 &uart0 {
  167         status = "okay";
  168 };
  169 
  170 &eth0 {
  171         pinctrl-names = "default";
  172         pinctrl-0 = <&rgmii_pins>;
  173         phy-mode = "rgmii-id";
  174         phy-handle = <&phy1>;
  175         status = "okay";
  176 };
  177 
  178 &eth1 {
  179         phy-mode = "2500base-x";
  180         managed = "in-band-status";
  181         phys = <&comphy0 1>;
  182 };
  183 
  184 &sdhci0 {
  185         wp-inverted;
  186         bus-width = <4>;
  187         cd-gpios = <&gpionb 10 GPIO_ACTIVE_HIGH>;
  188         vqmmc-supply = <&vsdc_reg>;
  189         marvell,pad-type = "sd";
  190         status = "okay";
  191 };
  192 
  193 &sdhci1 {
  194         pinctrl-names = "default";
  195         pinctrl-0 = <&sdio_pins>;
  196         non-removable;
  197         bus-width = <4>;
  198         marvell,pad-type = "sd";
  199         vqmmc-supply = <&vsdio_reg>;
  200         mmc-pwrseq = <&sdhci1_pwrseq>;
  201         /* forbid SDR104 for FCC purposes */
  202         sdhci-caps-mask = <0x2 0x0>;
  203         status = "okay";
  204 };
  205 
  206 &spi0 {
  207         status = "okay";
  208         pinctrl-names = "default";
  209         pinctrl-0 = <&spi_quad_pins &spi_cs1_pins>;
  210         assigned-clocks = <&nb_periph_clk 7>;
  211         assigned-clock-parents = <&tbg 1>;
  212         assigned-clock-rates = <20000000>;
  213 
  214         flash@0 {
  215                 #address-cells = <1>;
  216                 #size-cells = <1>;
  217                 compatible = "jedec,spi-nor";
  218                 reg = <0>;
  219                 spi-max-frequency = <20000000>;
  220 
  221                 partitions {
  222                         compatible = "fixed-partitions";
  223                         #address-cells = <1>;
  224                         #size-cells = <1>;
  225 
  226                         partition@0 {
  227                                 label = "secure-firmware";
  228                                 reg = <0x0 0x20000>;
  229                         };
  230 
  231                         partition@20000 {
  232                                 label = "a53-firmware";
  233                                 reg = <0x20000 0x160000>;
  234                         };
  235 
  236                         partition@180000 {
  237                                 label = "u-boot-env";
  238                                 reg = <0x180000 0x10000>;
  239                         };
  240 
  241                         partition@190000 {
  242                                 label = "Rescue system";
  243                                 reg = <0x190000 0x660000>;
  244                         };
  245 
  246                         partition@7f0000 {
  247                                 label = "dtb";
  248                                 reg = <0x7f0000 0x10000>;
  249                         };
  250                 };
  251         };
  252 
  253         moxtet: moxtet@1 {
  254                 #address-cells = <1>;
  255                 #size-cells = <0>;
  256                 compatible = "cznic,moxtet";
  257                 reg = <1>;
  258                 reset-gpios = <&gpiosb 2 GPIO_ACTIVE_LOW>;
  259                 spi-max-frequency = <10000000>;
  260                 spi-cpol;
  261                 spi-cpha;
  262                 interrupt-controller;
  263                 #interrupt-cells = <1>;
  264                 interrupt-parent = <&gpiosb>;
  265                 interrupts = <5 IRQ_TYPE_EDGE_FALLING>;
  266                 status = "okay";
  267 
  268                 moxtet_sfp: gpio@0 {
  269                         compatible = "cznic,moxtet-gpio";
  270                         gpio-controller;
  271                         #gpio-cells = <2>;
  272                         reg = <0>;
  273                         status = "disabled";
  274                 };
  275         };
  276 };
  277 
  278 &usb2 {
  279         status = "okay";
  280 };
  281 
  282 &comphy2 {
  283         connector {
  284                 compatible = "usb-a-connector";
  285                 phy-supply = <&exp_usb3_vbus>;
  286         };
  287 };
  288 
  289 &usb3 {
  290         status = "okay";
  291         phys = <&comphy2 0>;
  292 };
  293 
  294 &mdio {
  295         pinctrl-names = "default";
  296         pinctrl-0 = <&smi_pins>;
  297         status = "okay";
  298 
  299         phy1: ethernet-phy@1 {
  300                 reg = <1>;
  301         };
  302 
  303         /* switch nodes are enabled by U-Boot if modules are present */
  304         switch0@10 {
  305                 compatible = "marvell,mv88e6190";
  306                 reg = <0x10>;
  307                 dsa,member = <0 0>;
  308                 interrupt-parent = <&moxtet>;
  309                 interrupts = <MOXTET_IRQ_PERIDOT(0)>;
  310                 status = "disabled";
  311 
  312                 mdio {
  313                         #address-cells = <1>;
  314                         #size-cells = <0>;
  315 
  316                         switch0phy1: switch0phy1@1 {
  317                                 reg = <0x1>;
  318                         };
  319 
  320                         switch0phy2: switch0phy2@2 {
  321                                 reg = <0x2>;
  322                         };
  323 
  324                         switch0phy3: switch0phy3@3 {
  325                                 reg = <0x3>;
  326                         };
  327 
  328                         switch0phy4: switch0phy4@4 {
  329                                 reg = <0x4>;
  330                         };
  331 
  332                         switch0phy5: switch0phy5@5 {
  333                                 reg = <0x5>;
  334                         };
  335 
  336                         switch0phy6: switch0phy6@6 {
  337                                 reg = <0x6>;
  338                         };
  339 
  340                         switch0phy7: switch0phy7@7 {
  341                                 reg = <0x7>;
  342                         };
  343 
  344                         switch0phy8: switch0phy8@8 {
  345                                 reg = <0x8>;
  346                         };
  347                 };
  348 
  349                 ports {
  350                         #address-cells = <1>;
  351                         #size-cells = <0>;
  352 
  353                         port@1 {
  354                                 reg = <0x1>;
  355                                 label = "lan1";
  356                                 phy-handle = <&switch0phy1>;
  357                         };
  358 
  359                         port@2 {
  360                                 reg = <0x2>;
  361                                 label = "lan2";
  362                                 phy-handle = <&switch0phy2>;
  363                         };
  364 
  365                         port@3 {
  366                                 reg = <0x3>;
  367                                 label = "lan3";
  368                                 phy-handle = <&switch0phy3>;
  369                         };
  370 
  371                         port@4 {
  372                                 reg = <0x4>;
  373                                 label = "lan4";
  374                                 phy-handle = <&switch0phy4>;
  375                         };
  376 
  377                         port@5 {
  378                                 reg = <0x5>;
  379                                 label = "lan5";
  380                                 phy-handle = <&switch0phy5>;
  381                         };
  382 
  383                         port@6 {
  384                                 reg = <0x6>;
  385                                 label = "lan6";
  386                                 phy-handle = <&switch0phy6>;
  387                         };
  388 
  389                         port@7 {
  390                                 reg = <0x7>;
  391                                 label = "lan7";
  392                                 phy-handle = <&switch0phy7>;
  393                         };
  394 
  395                         port@8 {
  396                                 reg = <0x8>;
  397                                 label = "lan8";
  398                                 phy-handle = <&switch0phy8>;
  399                         };
  400 
  401                         port@9 {
  402                                 reg = <0x9>;
  403                                 label = "cpu";
  404                                 ethernet = <&eth1>;
  405                                 phy-mode = "2500base-x";
  406                                 managed = "in-band-status";
  407                         };
  408 
  409                         switch0port10: port@a {
  410                                 reg = <0xa>;
  411                                 label = "dsa";
  412                                 phy-mode = "2500base-x";
  413                                 managed = "in-band-status";
  414                                 link = <&switch1port9 &switch2port9>;
  415                                 status = "disabled";
  416                         };
  417 
  418                         port-sfp@a {
  419                                 reg = <0xa>;
  420                                 label = "sfp";
  421                                 sfp = <&sfp>;
  422                                 phy-mode = "sgmii";
  423                                 managed = "in-band-status";
  424                                 status = "disabled";
  425                         };
  426                 };
  427         };
  428 
  429         switch0@2 {
  430                 compatible = "marvell,mv88e6085";
  431                 reg = <0x2>;
  432                 dsa,member = <0 0>;
  433                 interrupt-parent = <&moxtet>;
  434                 interrupts = <MOXTET_IRQ_TOPAZ>;
  435                 status = "disabled";
  436 
  437                 mdio {
  438                         #address-cells = <1>;
  439                         #size-cells = <0>;
  440 
  441                         switch0phy1_topaz: switch0phy1@11 {
  442                                 reg = <0x11>;
  443                         };
  444 
  445                         switch0phy2_topaz: switch0phy2@12 {
  446                                 reg = <0x12>;
  447                         };
  448 
  449                         switch0phy3_topaz: switch0phy3@13 {
  450                                 reg = <0x13>;
  451                         };
  452 
  453                         switch0phy4_topaz: switch0phy4@14 {
  454                                 reg = <0x14>;
  455                         };
  456                 };
  457 
  458                 ports {
  459                         #address-cells = <1>;
  460                         #size-cells = <0>;
  461 
  462                         port@1 {
  463                                 reg = <0x1>;
  464                                 label = "lan1";
  465                                 phy-handle = <&switch0phy1_topaz>;
  466                         };
  467 
  468                         port@2 {
  469                                 reg = <0x2>;
  470                                 label = "lan2";
  471                                 phy-handle = <&switch0phy2_topaz>;
  472                         };
  473 
  474                         port@3 {
  475                                 reg = <0x3>;
  476                                 label = "lan3";
  477                                 phy-handle = <&switch0phy3_topaz>;
  478                         };
  479 
  480                         port@4 {
  481                                 reg = <0x4>;
  482                                 label = "lan4";
  483                                 phy-handle = <&switch0phy4_topaz>;
  484                         };
  485 
  486                         port@5 {
  487                                 reg = <0x5>;
  488                                 label = "cpu";
  489                                 phy-mode = "2500base-x";
  490                                 managed = "in-band-status";
  491                                 ethernet = <&eth1>;
  492                         };
  493                 };
  494         };
  495 
  496         switch1@11 {
  497                 compatible = "marvell,mv88e6190";
  498                 reg = <0x11>;
  499                 dsa,member = <0 1>;
  500                 interrupt-parent = <&moxtet>;
  501                 interrupts = <MOXTET_IRQ_PERIDOT(1)>;
  502                 status = "disabled";
  503 
  504                 mdio {
  505                         #address-cells = <1>;
  506                         #size-cells = <0>;
  507 
  508                         switch1phy1: switch1phy1@1 {
  509                                 reg = <0x1>;
  510                         };
  511 
  512                         switch1phy2: switch1phy2@2 {
  513                                 reg = <0x2>;
  514                         };
  515 
  516                         switch1phy3: switch1phy3@3 {
  517                                 reg = <0x3>;
  518                         };
  519 
  520                         switch1phy4: switch1phy4@4 {
  521                                 reg = <0x4>;
  522                         };
  523 
  524                         switch1phy5: switch1phy5@5 {
  525                                 reg = <0x5>;
  526                         };
  527 
  528                         switch1phy6: switch1phy6@6 {
  529                                 reg = <0x6>;
  530                         };
  531 
  532                         switch1phy7: switch1phy7@7 {
  533                                 reg = <0x7>;
  534                         };
  535 
  536                         switch1phy8: switch1phy8@8 {
  537                                 reg = <0x8>;
  538                         };
  539                 };
  540 
  541                 ports {
  542                         #address-cells = <1>;
  543                         #size-cells = <0>;
  544 
  545                         port@1 {
  546                                 reg = <0x1>;
  547                                 label = "lan9";
  548                                 phy-handle = <&switch1phy1>;
  549                         };
  550 
  551                         port@2 {
  552                                 reg = <0x2>;
  553                                 label = "lan10";
  554                                 phy-handle = <&switch1phy2>;
  555                         };
  556 
  557                         port@3 {
  558                                 reg = <0x3>;
  559                                 label = "lan11";
  560                                 phy-handle = <&switch1phy3>;
  561                         };
  562 
  563                         port@4 {
  564                                 reg = <0x4>;
  565                                 label = "lan12";
  566                                 phy-handle = <&switch1phy4>;
  567                         };
  568 
  569                         port@5 {
  570                                 reg = <0x5>;
  571                                 label = "lan13";
  572                                 phy-handle = <&switch1phy5>;
  573                         };
  574 
  575                         port@6 {
  576                                 reg = <0x6>;
  577                                 label = "lan14";
  578                                 phy-handle = <&switch1phy6>;
  579                         };
  580 
  581                         port@7 {
  582                                 reg = <0x7>;
  583                                 label = "lan15";
  584                                 phy-handle = <&switch1phy7>;
  585                         };
  586 
  587                         port@8 {
  588                                 reg = <0x8>;
  589                                 label = "lan16";
  590                                 phy-handle = <&switch1phy8>;
  591                         };
  592 
  593                         switch1port9: port@9 {
  594                                 reg = <0x9>;
  595                                 label = "dsa";
  596                                 phy-mode = "2500base-x";
  597                                 managed = "in-band-status";
  598                                 link = <&switch0port10>;
  599                         };
  600 
  601                         switch1port10: port@a {
  602                                 reg = <0xa>;
  603                                 label = "dsa";
  604                                 phy-mode = "2500base-x";
  605                                 managed = "in-band-status";
  606                                 link = <&switch2port9>;
  607                                 status = "disabled";
  608                         };
  609 
  610                         port-sfp@a {
  611                                 reg = <0xa>;
  612                                 label = "sfp";
  613                                 sfp = <&sfp>;
  614                                 phy-mode = "sgmii";
  615                                 managed = "in-band-status";
  616                                 status = "disabled";
  617                         };
  618                 };
  619         };
  620 
  621         switch1@2 {
  622                 compatible = "marvell,mv88e6085";
  623                 reg = <0x2>;
  624                 dsa,member = <0 1>;
  625                 interrupt-parent = <&moxtet>;
  626                 interrupts = <MOXTET_IRQ_TOPAZ>;
  627                 status = "disabled";
  628 
  629                 mdio {
  630                         #address-cells = <1>;
  631                         #size-cells = <0>;
  632 
  633                         switch1phy1_topaz: switch1phy1@11 {
  634                                 reg = <0x11>;
  635                         };
  636 
  637                         switch1phy2_topaz: switch1phy2@12 {
  638                                 reg = <0x12>;
  639                         };
  640 
  641                         switch1phy3_topaz: switch1phy3@13 {
  642                                 reg = <0x13>;
  643                         };
  644 
  645                         switch1phy4_topaz: switch1phy4@14 {
  646                                 reg = <0x14>;
  647                         };
  648                 };
  649 
  650                 ports {
  651                         #address-cells = <1>;
  652                         #size-cells = <0>;
  653 
  654                         port@1 {
  655                                 reg = <0x1>;
  656                                 label = "lan9";
  657                                 phy-handle = <&switch1phy1_topaz>;
  658                         };
  659 
  660                         port@2 {
  661                                 reg = <0x2>;
  662                                 label = "lan10";
  663                                 phy-handle = <&switch1phy2_topaz>;
  664                         };
  665 
  666                         port@3 {
  667                                 reg = <0x3>;
  668                                 label = "lan11";
  669                                 phy-handle = <&switch1phy3_topaz>;
  670                         };
  671 
  672                         port@4 {
  673                                 reg = <0x4>;
  674                                 label = "lan12";
  675                                 phy-handle = <&switch1phy4_topaz>;
  676                         };
  677 
  678                         port@5 {
  679                                 reg = <0x5>;
  680                                 label = "dsa";
  681                                 phy-mode = "2500base-x";
  682                                 managed = "in-band-status";
  683                                 link = <&switch0port10>;
  684                         };
  685                 };
  686         };
  687 
  688         switch2@12 {
  689                 compatible = "marvell,mv88e6190";
  690                 reg = <0x12>;
  691                 dsa,member = <0 2>;
  692                 interrupt-parent = <&moxtet>;
  693                 interrupts = <MOXTET_IRQ_PERIDOT(2)>;
  694                 status = "disabled";
  695 
  696                 mdio {
  697                         #address-cells = <1>;
  698                         #size-cells = <0>;
  699 
  700                         switch2phy1: switch2phy1@1 {
  701                                 reg = <0x1>;
  702                         };
  703 
  704                         switch2phy2: switch2phy2@2 {
  705                                 reg = <0x2>;
  706                         };
  707 
  708                         switch2phy3: switch2phy3@3 {
  709                                 reg = <0x3>;
  710                         };
  711 
  712                         switch2phy4: switch2phy4@4 {
  713                                 reg = <0x4>;
  714                         };
  715 
  716                         switch2phy5: switch2phy5@5 {
  717                                 reg = <0x5>;
  718                         };
  719 
  720                         switch2phy6: switch2phy6@6 {
  721                                 reg = <0x6>;
  722                         };
  723 
  724                         switch2phy7: switch2phy7@7 {
  725                                 reg = <0x7>;
  726                         };
  727 
  728                         switch2phy8: switch2phy8@8 {
  729                                 reg = <0x8>;
  730                         };
  731                 };
  732 
  733                 ports {
  734                         #address-cells = <1>;
  735                         #size-cells = <0>;
  736 
  737                         port@1 {
  738                                 reg = <0x1>;
  739                                 label = "lan17";
  740                                 phy-handle = <&switch2phy1>;
  741                         };
  742 
  743                         port@2 {
  744                                 reg = <0x2>;
  745                                 label = "lan18";
  746                                 phy-handle = <&switch2phy2>;
  747                         };
  748 
  749                         port@3 {
  750                                 reg = <0x3>;
  751                                 label = "lan19";
  752                                 phy-handle = <&switch2phy3>;
  753                         };
  754 
  755                         port@4 {
  756                                 reg = <0x4>;
  757                                 label = "lan20";
  758                                 phy-handle = <&switch2phy4>;
  759                         };
  760 
  761                         port@5 {
  762                                 reg = <0x5>;
  763                                 label = "lan21";
  764                                 phy-handle = <&switch2phy5>;
  765                         };
  766 
  767                         port@6 {
  768                                 reg = <0x6>;
  769                                 label = "lan22";
  770                                 phy-handle = <&switch2phy6>;
  771                         };
  772 
  773                         port@7 {
  774                                 reg = <0x7>;
  775                                 label = "lan23";
  776                                 phy-handle = <&switch2phy7>;
  777                         };
  778 
  779                         port@8 {
  780                                 reg = <0x8>;
  781                                 label = "lan24";
  782                                 phy-handle = <&switch2phy8>;
  783                         };
  784 
  785                         switch2port9: port@9 {
  786                                 reg = <0x9>;
  787                                 label = "dsa";
  788                                 phy-mode = "2500base-x";
  789                                 managed = "in-band-status";
  790                                 link = <&switch1port10 &switch0port10>;
  791                         };
  792 
  793                         port-sfp@a {
  794                                 reg = <0xa>;
  795                                 label = "sfp";
  796                                 sfp = <&sfp>;
  797                                 phy-mode = "sgmii";
  798                                 managed = "in-band-status";
  799                                 status = "disabled";
  800                         };
  801                 };
  802         };
  803 
  804         switch2@2 {
  805                 compatible = "marvell,mv88e6085";
  806                 reg = <0x2>;
  807                 dsa,member = <0 2>;
  808                 interrupt-parent = <&moxtet>;
  809                 interrupts = <MOXTET_IRQ_TOPAZ>;
  810                 status = "disabled";
  811 
  812                 mdio {
  813                         #address-cells = <1>;
  814                         #size-cells = <0>;
  815 
  816                         switch2phy1_topaz: switch2phy1@11 {
  817                                 reg = <0x11>;
  818                         };
  819 
  820                         switch2phy2_topaz: switch2phy2@12 {
  821                                 reg = <0x12>;
  822                         };
  823 
  824                         switch2phy3_topaz: switch2phy3@13 {
  825                                 reg = <0x13>;
  826                         };
  827 
  828                         switch2phy4_topaz: switch2phy4@14 {
  829                                 reg = <0x14>;
  830                         };
  831                 };
  832 
  833                 ports {
  834                         #address-cells = <1>;
  835                         #size-cells = <0>;
  836 
  837                         port@1 {
  838                                 reg = <0x1>;
  839                                 label = "lan17";
  840                                 phy-handle = <&switch2phy1_topaz>;
  841                         };
  842 
  843                         port@2 {
  844                                 reg = <0x2>;
  845                                 label = "lan18";
  846                                 phy-handle = <&switch2phy2_topaz>;
  847                         };
  848 
  849                         port@3 {
  850                                 reg = <0x3>;
  851                                 label = "lan19";
  852                                 phy-handle = <&switch2phy3_topaz>;
  853                         };
  854 
  855                         port@4 {
  856                                 reg = <0x4>;
  857                                 label = "lan20";
  858                                 phy-handle = <&switch2phy4_topaz>;
  859                         };
  860 
  861                         port@5 {
  862                                 reg = <0x5>;
  863                                 label = "dsa";
  864                                 phy-mode = "2500base-x";
  865                                 managed = "in-band-status";
  866                                 link = <&switch1port10 &switch0port10>;
  867                         };
  868                 };
  869         };
  870 };

Cache object: 781e2824a06314187c73740a73fbdb9f


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