Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: (GPL-2.0 OR MIT)
0002 /*
0003  * Copyright (C) 2015, 2016 Zodiac Inflight Innovations
0004  */
0005 
0006 /dts-v1/;
0007 #include "vf610-zii-dev.dtsi"
0008 
0009 / {
0010         model = "ZII VF610 Development Board, Rev B";
0011         compatible = "zii,vf610dev-b", "zii,vf610dev", "fsl,vf610";
0012 
0013         mdio-mux {
0014                 compatible = "mdio-mux-gpio";
0015                 pinctrl-0 = <&pinctrl_mdio_mux>;
0016                 pinctrl-names = "default";
0017                 gpios = <&gpio0 8  GPIO_ACTIVE_HIGH
0018                          &gpio0 9  GPIO_ACTIVE_HIGH
0019                          &gpio0 24 GPIO_ACTIVE_HIGH
0020                          &gpio0 25 GPIO_ACTIVE_HIGH>;
0021                 mdio-parent-bus = <&mdio1>;
0022                 #address-cells = <1>;
0023                 #size-cells = <0>;
0024 
0025                 mdio_mux_1: mdio@1 {
0026                         reg = <1>;
0027                         #address-cells = <1>;
0028                         #size-cells = <0>;
0029 
0030                         switch0: switch@0 {
0031                                 compatible = "marvell,mv88e6085";
0032                                 pinctrl-0 = <&pinctrl_gpio_switch0>;
0033                                 pinctrl-names = "default";
0034                                 reg = <0>;
0035                                 dsa,member = <0 0>;
0036                                 interrupt-parent = <&gpio0>;
0037                                 interrupts = <27 IRQ_TYPE_LEVEL_LOW>;
0038                                 interrupt-controller;
0039                                 #interrupt-cells = <2>;
0040                                 eeprom-length = <512>;
0041 
0042                                 ports {
0043                                         #address-cells = <1>;
0044                                         #size-cells = <0>;
0045 
0046                                         port@0 {
0047                                                 reg = <0>;
0048                                                 label = "lan0";
0049                                                 phy-handle = <&switch0phy0>;
0050                                         };
0051 
0052                                         port@1 {
0053                                                 reg = <1>;
0054                                                 label = "lan1";
0055                                                 phy-handle = <&switch0phy1>;
0056                                         };
0057 
0058                                         port@2 {
0059                                                 reg = <2>;
0060                                                 label = "lan2";
0061                                                 phy-handle = <&switch0phy2>;
0062                                         };
0063 
0064                                         switch0port5: port@5 {
0065                                                 reg = <5>;
0066                                                 label = "dsa";
0067                                                 phy-mode = "rgmii-txid";
0068                                                 link = <&switch1port6
0069                                                         &switch2port9>;
0070                                                 fixed-link {
0071                                                         speed = <1000>;
0072                                                         full-duplex;
0073                                                 };
0074                                         };
0075 
0076                                         port@6 {
0077                                                 reg = <6>;
0078                                                 label = "cpu";
0079                                                 ethernet = <&fec1>;
0080 
0081                                                 fixed-link {
0082                                                         speed = <100>;
0083                                                         full-duplex;
0084                                                 };
0085                                         };
0086                                 };
0087                                 mdio {
0088                                         #address-cells = <1>;
0089                                         #size-cells = <0>;
0090                                         switch0phy0: switch0phy0@0 {
0091                                                 reg = <0>;
0092                                                 interrupt-parent = <&switch0>;
0093                                                 interrupts = <0 IRQ_TYPE_LEVEL_HIGH>;
0094                                         };
0095                                         switch0phy1: switch1phy0@1 {
0096                                                 reg = <1>;
0097                                                 interrupt-parent = <&switch0>;
0098                                                 interrupts = <1 IRQ_TYPE_LEVEL_HIGH>;
0099                                         };
0100                                         switch0phy2: switch1phy0@2 {
0101                                                 reg = <2>;
0102                                                 interrupt-parent = <&switch0>;
0103                                                 interrupts = <2 IRQ_TYPE_LEVEL_HIGH>;
0104                                         };
0105                                 };
0106                         };
0107                 };
0108 
0109                 mdio_mux_2: mdio@2 {
0110                         reg = <2>;
0111                         #address-cells = <1>;
0112                         #size-cells = <0>;
0113 
0114                         switch1: switch@0 {
0115                                 compatible = "marvell,mv88e6085";
0116                                 pinctrl-0 = <&pinctrl_gpio_switch1>;
0117                                 pinctrl-names = "default";
0118                                 reg = <0>;
0119                                 dsa,member = <0 1>;
0120                                 interrupt-parent = <&gpio0>;
0121                                 interrupts = <26 IRQ_TYPE_LEVEL_LOW>;
0122                                 interrupt-controller;
0123                                 #interrupt-cells = <2>;
0124                                 eeprom-length = <512>;
0125 
0126                                 ports {
0127                                         #address-cells = <1>;
0128                                         #size-cells = <0>;
0129 
0130                                         port@0 {
0131                                                 reg = <0>;
0132                                                 label = "lan3";
0133                                                 phy-handle = <&switch1phy0>;
0134                                         };
0135 
0136                                         port@1 {
0137                                                 reg = <1>;
0138                                                 label = "lan4";
0139                                                 phy-handle = <&switch1phy1>;
0140                                         };
0141 
0142                                         port@2 {
0143                                                 reg = <2>;
0144                                                 label = "lan5";
0145                                                 phy-handle = <&switch1phy2>;
0146                                         };
0147 
0148                                         switch1port5: port@5 {
0149                                                 reg = <5>;
0150                                                 label = "dsa";
0151                                                 link = <&switch2port9>;
0152                                                 phy-mode = "1000base-x";
0153 
0154                                                 fixed-link {
0155                                                         speed = <1000>;
0156                                                         full-duplex;
0157                                                 };
0158                                         };
0159 
0160                                         switch1port6: port@6 {
0161                                                 reg = <6>;
0162                                                 label = "dsa";
0163                                                 phy-mode = "rgmii-txid";
0164                                                 link = <&switch0port5>;
0165                                                 fixed-link {
0166                                                         speed = <1000>;
0167                                                         full-duplex;
0168                                                 };
0169                                         };
0170                                 };
0171                                 mdio {
0172                                         #address-cells = <1>;
0173                                         #size-cells = <0>;
0174 
0175                                         switch1phy0: switch1phy0@0 {
0176                                                 reg = <0>;
0177                                                 interrupt-parent = <&switch1>;
0178                                                 interrupts = <0 IRQ_TYPE_LEVEL_HIGH>;
0179                                         };
0180 
0181                                         switch1phy1: switch1phy0@1 {
0182                                                 reg = <1>;
0183                                                 interrupt-parent = <&switch1>;
0184                                                 interrupts = <1 IRQ_TYPE_LEVEL_HIGH>;
0185                                         };
0186 
0187                                         switch1phy2: switch1phy0@2 {
0188                                                 reg = <2>;
0189                                                 interrupt-parent = <&switch1>;
0190                                                 interrupts = <2 IRQ_TYPE_LEVEL_HIGH>;
0191                                         };
0192                                 };
0193                         };
0194                 };
0195 
0196                 mdio_mux_4: mdio@4 {
0197                         #address-cells = <1>;
0198                         #size-cells = <0>;
0199                         reg = <4>;
0200 
0201                         switch2: switch@0 {
0202                                 compatible = "marvell,mv88e6085";
0203                                 reg = <0>;
0204                                 dsa,member = <0 2>;
0205 
0206                                 ports {
0207                                         #address-cells = <1>;
0208                                         #size-cells = <0>;
0209 
0210                                         port@0 {
0211                                                 reg = <0>;
0212                                                 label = "lan6";
0213                                                 phy-handle = <&switch2phy0>;
0214                                                 phy-mode = "sgmii";
0215                                         };
0216 
0217                                         port@1 {
0218                                                 reg = <1>;
0219                                                 label = "lan7";
0220                                                 phy-handle = <&switch2phy1>;
0221                                                 phy-mode = "sgmii";
0222                                         };
0223 
0224                                         port@2 {
0225                                                 reg = <2>;
0226                                                 label = "lan8";
0227                                                 phy-handle = <&switch2phy2>;
0228                                         };
0229 
0230                                         port@3 {
0231                                                 reg = <3>;
0232                                                 label = "optical3";
0233 
0234                                                 fixed-link {
0235                                                         speed = <1000>;
0236                                                         full-duplex;
0237                                                         link-gpios = <&gpio6 2
0238                                                               GPIO_ACTIVE_HIGH>;
0239                                                 };
0240                                         };
0241 
0242                                         port@4 {
0243                                                 reg = <4>;
0244                                                 label = "optical4";
0245 
0246                                                 fixed-link {
0247                                                         speed = <1000>;
0248                                                         full-duplex;
0249                                                         link-gpios = <&gpio6 3
0250                                                               GPIO_ACTIVE_HIGH>;
0251                                                 };
0252                                         };
0253 
0254                                         switch2port9: port@9 {
0255                                                 reg = <9>;
0256                                                 label = "dsa";
0257                                                 phy-mode = "1000base-x";
0258                                                 link = <&switch1port5
0259                                                         &switch0port5>;
0260 
0261                                                 fixed-link {
0262                                                         speed = <1000>;
0263                                                         full-duplex;
0264                                                 };
0265                                         };
0266                                 };
0267                                 mdio {
0268                                         #address-cells = <1>;
0269                                         #size-cells = <0>;
0270 
0271                                         switch2phy0: phy@0 {
0272                                                 reg = <0>;
0273                                         };
0274                                         switch2phy1: phy@1 {
0275                                                 reg = <1>;
0276                                         };
0277                                         switch2phy2: phy@2 {
0278                                                 reg = <2>;
0279                                         };
0280                                 };
0281                         };
0282                 };
0283 
0284                 mdio_mux_8: mdio@8 {
0285                         reg = <8>;
0286                         #address-cells = <1>;
0287                         #size-cells = <0>;
0288                 };
0289         };
0290 
0291         spi0 {
0292                 compatible = "spi-gpio";
0293                 pinctrl-0 = <&pinctrl_gpio_spi0>;
0294                 pinctrl-names = "default";
0295                 #address-cells = <1>;
0296                 #size-cells = <0>;
0297                 gpio-sck  = <&gpio1 12 GPIO_ACTIVE_HIGH>;
0298                 gpio-mosi = <&gpio1 11 GPIO_ACTIVE_HIGH>;
0299                 gpio-miso = <&gpio1 10 GPIO_ACTIVE_HIGH>;
0300                 cs-gpios  = <&gpio1  9 GPIO_ACTIVE_LOW
0301                              &gpio1  8 GPIO_ACTIVE_HIGH>;
0302                 num-chipselects = <2>;
0303 
0304                 flash@0 {
0305                         compatible = "m25p128", "jedec,spi-nor";
0306                         #address-cells = <1>;
0307                         #size-cells = <1>;
0308                         reg = <0>;
0309                         spi-max-frequency = <1000000>;
0310                 };
0311 
0312                 at93c46d@1 {
0313                         compatible = "atmel,at93c46d";
0314                         pinctrl-0 = <&pinctrl_gpio_e6185_eeprom_sel>;
0315                         pinctrl-names = "default";
0316                         reg = <1>;
0317                         spi-max-frequency = <500000>;
0318                         spi-cs-high;
0319                         data-size = <16>;
0320                         select-gpios = <&gpio4 4 GPIO_ACTIVE_HIGH>;
0321                 };
0322         };
0323 };
0324 
0325 &i2c0 {
0326         gpio5: io-expander@20 {
0327                 compatible = "nxp,pca9554";
0328                 reg = <0x20>;
0329                 gpio-controller;
0330                 #gpio-cells = <2>;
0331 
0332         };
0333 
0334         gpio6: io-expander@22 {
0335                 compatible = "nxp,pca9554";
0336                 pinctrl-names = "default";
0337                 pinctrl-0 = <&pinctrl_pca9554_22>;
0338                 reg = <0x22>;
0339                 gpio-controller;
0340                 #gpio-cells = <2>;
0341                 interrupt-controller;
0342                 interrupt-parent = <&gpio3>;
0343                 interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
0344         };
0345 };
0346 
0347 &i2c2 {
0348         tca9548@70 {
0349                 compatible = "nxp,pca9548";
0350                 pinctrl-0 = <&pinctrl_i2c_mux_reset>;
0351                 pinctrl-names = "default";
0352                 #address-cells = <1>;
0353                 #size-cells = <0>;
0354                 reg = <0x70>;
0355                 reset-gpios = <&gpio3 23 GPIO_ACTIVE_LOW>;
0356 
0357                 i2c@0 {
0358                         #address-cells = <1>;
0359                         #size-cells = <0>;
0360                         reg = <0>;
0361 
0362                         sfp1: eeprom@50 {
0363                                 compatible = "atmel,24c02";
0364                                 reg = <0x50>;
0365                         };
0366                 };
0367 
0368                 i2c@1 {
0369                         #address-cells = <1>;
0370                         #size-cells = <0>;
0371                         reg = <1>;
0372 
0373                         sfp2: eeprom@50 {
0374                                 compatible = "atmel,24c02";
0375                                 reg = <0x50>;
0376                         };
0377                 };
0378 
0379                 i2c@2 {
0380                         #address-cells = <1>;
0381                         #size-cells = <0>;
0382                         reg = <2>;
0383 
0384                         sfp3: eeprom@50 {
0385                                 compatible = "atmel,24c02";
0386                                 reg = <0x50>;
0387                         };
0388                 };
0389 
0390                 i2c@3 {
0391                         #address-cells = <1>;
0392                         #size-cells = <0>;
0393                         reg = <3>;
0394 
0395                         sfp4: eeprom@50 {
0396                                 compatible = "atmel,24c02";
0397                                 reg = <0x50>;
0398                         };
0399                 };
0400 
0401                 i2c@4 {
0402                         #address-cells = <1>;
0403                         #size-cells = <0>;
0404                         reg = <4>;
0405                 };
0406         };
0407 };
0408 
0409 &mdio1 {
0410         clock-frequency = <5000000>;
0411 };
0412 
0413 &iomuxc {
0414         pinctrl_gpio_e6185_eeprom_sel: pinctrl-gpio-e6185-eeprom-spi0 {
0415                 fsl,pins = <
0416                         VF610_PAD_PTE27__GPIO_132       0x33e2
0417                 >;
0418         };
0419 
0420         pinctrl_gpio_spi0: pinctrl-gpio-spi0 {
0421                 fsl,pins = <
0422                         VF610_PAD_PTB22__GPIO_44        0x33e2
0423                         VF610_PAD_PTB21__GPIO_43        0x33e2
0424                         VF610_PAD_PTB20__GPIO_42        0x33e1
0425                         VF610_PAD_PTB19__GPIO_41        0x33e2
0426                         VF610_PAD_PTB18__GPIO_40        0x33e2
0427                 >;
0428         };
0429 
0430         pinctrl_mdio_mux: pinctrl-mdio-mux {
0431                 fsl,pins = <
0432                         VF610_PAD_PTA18__GPIO_8         0x31c2
0433                         VF610_PAD_PTA19__GPIO_9         0x31c2
0434                         VF610_PAD_PTB2__GPIO_24         0x31c2
0435                         VF610_PAD_PTB3__GPIO_25         0x31c2
0436                 >;
0437         };
0438 
0439         pinctrl_pca9554_22: pinctrl-pca95540-22 {
0440                 fsl,pins = <
0441                         VF610_PAD_PTB28__GPIO_98        0x219d
0442                 >;
0443         };
0444 };