1724ba675SRob Herring// SPDX-License-Identifier: (GPL-2.0 OR MIT) 2724ba675SRob Herring/* 3724ba675SRob Herring * Copyright (C) 2015, 2016 Zodiac Inflight Innovations 4724ba675SRob Herring */ 5724ba675SRob Herring 6724ba675SRob Herring/dts-v1/; 7724ba675SRob Herring#include "vf610-zii-dev.dtsi" 8724ba675SRob Herring 9724ba675SRob Herring/ { 10724ba675SRob Herring model = "ZII VF610 Development Board, Rev B"; 11724ba675SRob Herring compatible = "zii,vf610dev-b", "zii,vf610dev", "fsl,vf610"; 12724ba675SRob Herring 13724ba675SRob Herring mdio-mux { 14724ba675SRob Herring compatible = "mdio-mux-gpio"; 15724ba675SRob Herring pinctrl-0 = <&pinctrl_mdio_mux>; 16724ba675SRob Herring pinctrl-names = "default"; 17724ba675SRob Herring gpios = <&gpio0 8 GPIO_ACTIVE_HIGH 18724ba675SRob Herring &gpio0 9 GPIO_ACTIVE_HIGH 19724ba675SRob Herring &gpio0 24 GPIO_ACTIVE_HIGH 20724ba675SRob Herring &gpio0 25 GPIO_ACTIVE_HIGH>; 21724ba675SRob Herring mdio-parent-bus = <&mdio1>; 22724ba675SRob Herring #address-cells = <1>; 23724ba675SRob Herring #size-cells = <0>; 24724ba675SRob Herring 25724ba675SRob Herring mdio_mux_1: mdio@1 { 26724ba675SRob Herring reg = <1>; 27724ba675SRob Herring #address-cells = <1>; 28724ba675SRob Herring #size-cells = <0>; 29724ba675SRob Herring 30724ba675SRob Herring switch0: switch@0 { 31724ba675SRob Herring compatible = "marvell,mv88e6085"; 32724ba675SRob Herring pinctrl-0 = <&pinctrl_gpio_switch0>; 33724ba675SRob Herring pinctrl-names = "default"; 34724ba675SRob Herring reg = <0>; 35724ba675SRob Herring dsa,member = <0 0>; 36724ba675SRob Herring interrupt-parent = <&gpio0>; 37724ba675SRob Herring interrupts = <27 IRQ_TYPE_LEVEL_LOW>; 38724ba675SRob Herring interrupt-controller; 39724ba675SRob Herring #interrupt-cells = <2>; 40724ba675SRob Herring eeprom-length = <512>; 41724ba675SRob Herring 42724ba675SRob Herring ports { 43724ba675SRob Herring #address-cells = <1>; 44724ba675SRob Herring #size-cells = <0>; 45724ba675SRob Herring 46724ba675SRob Herring port@0 { 47724ba675SRob Herring reg = <0>; 48724ba675SRob Herring label = "lan0"; 49724ba675SRob Herring phy-handle = <&switch0phy0>; 50724ba675SRob Herring }; 51724ba675SRob Herring 52724ba675SRob Herring port@1 { 53724ba675SRob Herring reg = <1>; 54724ba675SRob Herring label = "lan1"; 55724ba675SRob Herring phy-handle = <&switch0phy1>; 56724ba675SRob Herring }; 57724ba675SRob Herring 58724ba675SRob Herring port@2 { 59724ba675SRob Herring reg = <2>; 60724ba675SRob Herring label = "lan2"; 61724ba675SRob Herring phy-handle = <&switch0phy2>; 62724ba675SRob Herring }; 63724ba675SRob Herring 64724ba675SRob Herring switch0port5: port@5 { 65724ba675SRob Herring reg = <5>; 66724ba675SRob Herring label = "dsa"; 67724ba675SRob Herring phy-mode = "rgmii-txid"; 68724ba675SRob Herring link = <&switch1port6 69724ba675SRob Herring &switch2port9>; 70724ba675SRob Herring fixed-link { 71724ba675SRob Herring speed = <1000>; 72724ba675SRob Herring full-duplex; 73724ba675SRob Herring }; 74724ba675SRob Herring }; 75724ba675SRob Herring 76724ba675SRob Herring port@6 { 77724ba675SRob Herring reg = <6>; 78724ba675SRob Herring phy-mode = "rmii"; 79724ba675SRob Herring ethernet = <&fec1>; 80724ba675SRob Herring 81724ba675SRob Herring fixed-link { 82724ba675SRob Herring speed = <100>; 83724ba675SRob Herring full-duplex; 84724ba675SRob Herring }; 85724ba675SRob Herring }; 86724ba675SRob Herring }; 87724ba675SRob Herring mdio { 88724ba675SRob Herring #address-cells = <1>; 89724ba675SRob Herring #size-cells = <0>; 90724ba675SRob Herring switch0phy0: switch0phy0@0 { 91724ba675SRob Herring reg = <0>; 92724ba675SRob Herring interrupt-parent = <&switch0>; 93724ba675SRob Herring interrupts = <0 IRQ_TYPE_LEVEL_HIGH>; 94724ba675SRob Herring }; 95724ba675SRob Herring switch0phy1: switch1phy0@1 { 96724ba675SRob Herring reg = <1>; 97724ba675SRob Herring interrupt-parent = <&switch0>; 98724ba675SRob Herring interrupts = <1 IRQ_TYPE_LEVEL_HIGH>; 99724ba675SRob Herring }; 100724ba675SRob Herring switch0phy2: switch1phy0@2 { 101724ba675SRob Herring reg = <2>; 102724ba675SRob Herring interrupt-parent = <&switch0>; 103724ba675SRob Herring interrupts = <2 IRQ_TYPE_LEVEL_HIGH>; 104724ba675SRob Herring }; 105724ba675SRob Herring }; 106724ba675SRob Herring }; 107724ba675SRob Herring }; 108724ba675SRob Herring 109724ba675SRob Herring mdio_mux_2: mdio@2 { 110724ba675SRob Herring reg = <2>; 111724ba675SRob Herring #address-cells = <1>; 112724ba675SRob Herring #size-cells = <0>; 113724ba675SRob Herring 114724ba675SRob Herring switch1: switch@0 { 115724ba675SRob Herring compatible = "marvell,mv88e6085"; 116724ba675SRob Herring pinctrl-0 = <&pinctrl_gpio_switch1>; 117724ba675SRob Herring pinctrl-names = "default"; 118724ba675SRob Herring reg = <0>; 119724ba675SRob Herring dsa,member = <0 1>; 120724ba675SRob Herring interrupt-parent = <&gpio0>; 121724ba675SRob Herring interrupts = <26 IRQ_TYPE_LEVEL_LOW>; 122724ba675SRob Herring interrupt-controller; 123724ba675SRob Herring #interrupt-cells = <2>; 124724ba675SRob Herring eeprom-length = <512>; 125724ba675SRob Herring 126724ba675SRob Herring ports { 127724ba675SRob Herring #address-cells = <1>; 128724ba675SRob Herring #size-cells = <0>; 129724ba675SRob Herring 130724ba675SRob Herring port@0 { 131724ba675SRob Herring reg = <0>; 132724ba675SRob Herring label = "lan3"; 133724ba675SRob Herring phy-handle = <&switch1phy0>; 134724ba675SRob Herring }; 135724ba675SRob Herring 136724ba675SRob Herring port@1 { 137724ba675SRob Herring reg = <1>; 138724ba675SRob Herring label = "lan4"; 139724ba675SRob Herring phy-handle = <&switch1phy1>; 140724ba675SRob Herring }; 141724ba675SRob Herring 142724ba675SRob Herring port@2 { 143724ba675SRob Herring reg = <2>; 144724ba675SRob Herring label = "lan5"; 145724ba675SRob Herring phy-handle = <&switch1phy2>; 146724ba675SRob Herring }; 147724ba675SRob Herring 148724ba675SRob Herring switch1port5: port@5 { 149724ba675SRob Herring reg = <5>; 150724ba675SRob Herring label = "dsa"; 151724ba675SRob Herring link = <&switch2port9>; 152724ba675SRob Herring phy-mode = "1000base-x"; 153724ba675SRob Herring 154724ba675SRob Herring fixed-link { 155724ba675SRob Herring speed = <1000>; 156724ba675SRob Herring full-duplex; 157724ba675SRob Herring }; 158724ba675SRob Herring }; 159724ba675SRob Herring 160724ba675SRob Herring switch1port6: port@6 { 161724ba675SRob Herring reg = <6>; 162724ba675SRob Herring label = "dsa"; 163724ba675SRob Herring phy-mode = "rgmii-txid"; 164724ba675SRob Herring link = <&switch0port5>; 165724ba675SRob Herring fixed-link { 166724ba675SRob Herring speed = <1000>; 167724ba675SRob Herring full-duplex; 168724ba675SRob Herring }; 169724ba675SRob Herring }; 170724ba675SRob Herring }; 171724ba675SRob Herring mdio { 172724ba675SRob Herring #address-cells = <1>; 173724ba675SRob Herring #size-cells = <0>; 174724ba675SRob Herring 175724ba675SRob Herring switch1phy0: switch1phy0@0 { 176724ba675SRob Herring reg = <0>; 177724ba675SRob Herring interrupt-parent = <&switch1>; 178724ba675SRob Herring interrupts = <0 IRQ_TYPE_LEVEL_HIGH>; 179724ba675SRob Herring }; 180724ba675SRob Herring 181724ba675SRob Herring switch1phy1: switch1phy0@1 { 182724ba675SRob Herring reg = <1>; 183724ba675SRob Herring interrupt-parent = <&switch1>; 184724ba675SRob Herring interrupts = <1 IRQ_TYPE_LEVEL_HIGH>; 185724ba675SRob Herring }; 186724ba675SRob Herring 187724ba675SRob Herring switch1phy2: switch1phy0@2 { 188724ba675SRob Herring reg = <2>; 189724ba675SRob Herring interrupt-parent = <&switch1>; 190724ba675SRob Herring interrupts = <2 IRQ_TYPE_LEVEL_HIGH>; 191724ba675SRob Herring }; 192724ba675SRob Herring }; 193724ba675SRob Herring }; 194724ba675SRob Herring }; 195724ba675SRob Herring 196724ba675SRob Herring mdio_mux_4: mdio@4 { 197724ba675SRob Herring #address-cells = <1>; 198724ba675SRob Herring #size-cells = <0>; 199724ba675SRob Herring reg = <4>; 200724ba675SRob Herring 201724ba675SRob Herring switch2: switch@0 { 202724ba675SRob Herring compatible = "marvell,mv88e6085"; 203724ba675SRob Herring reg = <0>; 204724ba675SRob Herring dsa,member = <0 2>; 205724ba675SRob Herring 206724ba675SRob Herring ports { 207724ba675SRob Herring #address-cells = <1>; 208724ba675SRob Herring #size-cells = <0>; 209724ba675SRob Herring 210724ba675SRob Herring port@0 { 211724ba675SRob Herring reg = <0>; 212724ba675SRob Herring label = "lan6"; 213724ba675SRob Herring phy-handle = <&switch2phy0>; 214724ba675SRob Herring phy-mode = "sgmii"; 215724ba675SRob Herring }; 216724ba675SRob Herring 217724ba675SRob Herring port@1 { 218724ba675SRob Herring reg = <1>; 219724ba675SRob Herring label = "lan7"; 220724ba675SRob Herring phy-handle = <&switch2phy1>; 221724ba675SRob Herring phy-mode = "sgmii"; 222724ba675SRob Herring }; 223724ba675SRob Herring 224724ba675SRob Herring port@2 { 225724ba675SRob Herring reg = <2>; 226724ba675SRob Herring label = "lan8"; 227724ba675SRob Herring phy-handle = <&switch2phy2>; 228724ba675SRob Herring }; 229724ba675SRob Herring 230724ba675SRob Herring port@3 { 231724ba675SRob Herring reg = <3>; 232724ba675SRob Herring label = "optical3"; 233724ba675SRob Herring 234724ba675SRob Herring fixed-link { 235724ba675SRob Herring speed = <1000>; 236724ba675SRob Herring full-duplex; 237724ba675SRob Herring link-gpios = <&gpio6 2 238724ba675SRob Herring GPIO_ACTIVE_HIGH>; 239724ba675SRob Herring }; 240724ba675SRob Herring }; 241724ba675SRob Herring 242724ba675SRob Herring port@4 { 243724ba675SRob Herring reg = <4>; 244724ba675SRob Herring label = "optical4"; 245724ba675SRob Herring 246724ba675SRob Herring fixed-link { 247724ba675SRob Herring speed = <1000>; 248724ba675SRob Herring full-duplex; 249724ba675SRob Herring link-gpios = <&gpio6 3 250724ba675SRob Herring GPIO_ACTIVE_HIGH>; 251724ba675SRob Herring }; 252724ba675SRob Herring }; 253724ba675SRob Herring 254724ba675SRob Herring switch2port9: port@9 { 255724ba675SRob Herring reg = <9>; 256724ba675SRob Herring label = "dsa"; 257724ba675SRob Herring phy-mode = "1000base-x"; 258724ba675SRob Herring link = <&switch1port5 259724ba675SRob Herring &switch0port5>; 260724ba675SRob Herring 261724ba675SRob Herring fixed-link { 262724ba675SRob Herring speed = <1000>; 263724ba675SRob Herring full-duplex; 264724ba675SRob Herring }; 265724ba675SRob Herring }; 266724ba675SRob Herring }; 267724ba675SRob Herring mdio { 268724ba675SRob Herring #address-cells = <1>; 269724ba675SRob Herring #size-cells = <0>; 270724ba675SRob Herring 271724ba675SRob Herring switch2phy0: phy@0 { 272724ba675SRob Herring reg = <0>; 273724ba675SRob Herring }; 274724ba675SRob Herring switch2phy1: phy@1 { 275724ba675SRob Herring reg = <1>; 276724ba675SRob Herring }; 277724ba675SRob Herring switch2phy2: phy@2 { 278724ba675SRob Herring reg = <2>; 279724ba675SRob Herring }; 280724ba675SRob Herring }; 281724ba675SRob Herring }; 282724ba675SRob Herring }; 283724ba675SRob Herring 284724ba675SRob Herring mdio_mux_8: mdio@8 { 285724ba675SRob Herring reg = <8>; 286724ba675SRob Herring #address-cells = <1>; 287724ba675SRob Herring #size-cells = <0>; 288724ba675SRob Herring }; 289724ba675SRob Herring }; 290724ba675SRob Herring 291724ba675SRob Herring spi-0 { 292724ba675SRob Herring compatible = "spi-gpio"; 293724ba675SRob Herring pinctrl-0 = <&pinctrl_gpio_spi0>; 294724ba675SRob Herring pinctrl-names = "default"; 295724ba675SRob Herring #address-cells = <1>; 296724ba675SRob Herring #size-cells = <0>; 297724ba675SRob Herring sck-gpios = <&gpio1 12 GPIO_ACTIVE_HIGH>; 298724ba675SRob Herring mosi-gpios = <&gpio1 11 GPIO_ACTIVE_HIGH>; 299724ba675SRob Herring miso-gpios = <&gpio1 10 GPIO_ACTIVE_HIGH>; 300724ba675SRob Herring cs-gpios = <&gpio1 9 GPIO_ACTIVE_LOW 301724ba675SRob Herring &gpio1 8 GPIO_ACTIVE_HIGH>; 302724ba675SRob Herring num-chipselects = <2>; 303724ba675SRob Herring 304724ba675SRob Herring flash@0 { 305724ba675SRob Herring compatible = "m25p128", "jedec,spi-nor"; 306724ba675SRob Herring #address-cells = <1>; 307724ba675SRob Herring #size-cells = <1>; 308724ba675SRob Herring reg = <0>; 309724ba675SRob Herring spi-max-frequency = <1000000>; 310724ba675SRob Herring }; 311724ba675SRob Herring 312724ba675SRob Herring at93c46d@1 { 313724ba675SRob Herring compatible = "atmel,at93c46d"; 314724ba675SRob Herring pinctrl-0 = <&pinctrl_gpio_e6185_eeprom_sel>; 315724ba675SRob Herring pinctrl-names = "default"; 316724ba675SRob Herring reg = <1>; 317724ba675SRob Herring spi-max-frequency = <500000>; 318724ba675SRob Herring spi-cs-high; 319724ba675SRob Herring data-size = <16>; 320724ba675SRob Herring select-gpios = <&gpio4 4 GPIO_ACTIVE_HIGH>; 321724ba675SRob Herring }; 322724ba675SRob Herring }; 323724ba675SRob Herring}; 324724ba675SRob Herring 325724ba675SRob Herring&i2c0 { 326724ba675SRob Herring gpio5: io-expander@20 { 327724ba675SRob Herring compatible = "nxp,pca9554"; 328724ba675SRob Herring reg = <0x20>; 329724ba675SRob Herring gpio-controller; 330724ba675SRob Herring #gpio-cells = <2>; 331724ba675SRob Herring 332724ba675SRob Herring }; 333724ba675SRob Herring 334724ba675SRob Herring gpio6: io-expander@22 { 335724ba675SRob Herring compatible = "nxp,pca9554"; 336724ba675SRob Herring pinctrl-names = "default"; 337724ba675SRob Herring pinctrl-0 = <&pinctrl_pca9554_22>; 338724ba675SRob Herring reg = <0x22>; 339724ba675SRob Herring gpio-controller; 340724ba675SRob Herring #gpio-cells = <2>; 341*ab7e3fe1SRob Herring #interrupt-cells = <2>; 342724ba675SRob Herring interrupt-controller; 343724ba675SRob Herring interrupt-parent = <&gpio3>; 344724ba675SRob Herring interrupts = <2 IRQ_TYPE_LEVEL_LOW>; 345724ba675SRob Herring }; 346724ba675SRob Herring}; 347724ba675SRob Herring 348724ba675SRob Herring&i2c2 { 349724ba675SRob Herring i2c-mux@70 { 350724ba675SRob Herring compatible = "nxp,pca9548"; 351724ba675SRob Herring pinctrl-0 = <&pinctrl_i2c_mux_reset>; 352724ba675SRob Herring pinctrl-names = "default"; 353724ba675SRob Herring #address-cells = <1>; 354724ba675SRob Herring #size-cells = <0>; 355724ba675SRob Herring reg = <0x70>; 356724ba675SRob Herring reset-gpios = <&gpio3 23 GPIO_ACTIVE_LOW>; 357724ba675SRob Herring 358724ba675SRob Herring i2c@0 { 359724ba675SRob Herring #address-cells = <1>; 360724ba675SRob Herring #size-cells = <0>; 361724ba675SRob Herring reg = <0>; 362724ba675SRob Herring 363724ba675SRob Herring sfp1: eeprom@50 { 364724ba675SRob Herring compatible = "atmel,24c02"; 365724ba675SRob Herring reg = <0x50>; 366724ba675SRob Herring }; 367724ba675SRob Herring }; 368724ba675SRob Herring 369724ba675SRob Herring i2c@1 { 370724ba675SRob Herring #address-cells = <1>; 371724ba675SRob Herring #size-cells = <0>; 372724ba675SRob Herring reg = <1>; 373724ba675SRob Herring 374724ba675SRob Herring sfp2: eeprom@50 { 375724ba675SRob Herring compatible = "atmel,24c02"; 376724ba675SRob Herring reg = <0x50>; 377724ba675SRob Herring }; 378724ba675SRob Herring }; 379724ba675SRob Herring 380724ba675SRob Herring i2c@2 { 381724ba675SRob Herring #address-cells = <1>; 382724ba675SRob Herring #size-cells = <0>; 383724ba675SRob Herring reg = <2>; 384724ba675SRob Herring 385724ba675SRob Herring sfp3: eeprom@50 { 386724ba675SRob Herring compatible = "atmel,24c02"; 387724ba675SRob Herring reg = <0x50>; 388724ba675SRob Herring }; 389724ba675SRob Herring }; 390724ba675SRob Herring 391724ba675SRob Herring i2c@3 { 392724ba675SRob Herring #address-cells = <1>; 393724ba675SRob Herring #size-cells = <0>; 394724ba675SRob Herring reg = <3>; 395724ba675SRob Herring 396724ba675SRob Herring sfp4: eeprom@50 { 397724ba675SRob Herring compatible = "atmel,24c02"; 398724ba675SRob Herring reg = <0x50>; 399724ba675SRob Herring }; 400724ba675SRob Herring }; 401724ba675SRob Herring 402724ba675SRob Herring i2c@4 { 403724ba675SRob Herring #address-cells = <1>; 404724ba675SRob Herring #size-cells = <0>; 405724ba675SRob Herring reg = <4>; 406724ba675SRob Herring }; 407724ba675SRob Herring }; 408724ba675SRob Herring}; 409724ba675SRob Herring 410724ba675SRob Herring&mdio1 { 411724ba675SRob Herring clock-frequency = <5000000>; 412724ba675SRob Herring}; 413724ba675SRob Herring 414724ba675SRob Herring&iomuxc { 415724ba675SRob Herring pinctrl_gpio_e6185_eeprom_sel: pinctrl-gpio-e6185-eeprom-spi0 { 416724ba675SRob Herring fsl,pins = < 417724ba675SRob Herring VF610_PAD_PTE27__GPIO_132 0x33e2 418724ba675SRob Herring >; 419724ba675SRob Herring }; 420724ba675SRob Herring 421724ba675SRob Herring pinctrl_gpio_spi0: pinctrl-gpio-spi0 { 422724ba675SRob Herring fsl,pins = < 423724ba675SRob Herring VF610_PAD_PTB22__GPIO_44 0x33e2 424724ba675SRob Herring VF610_PAD_PTB21__GPIO_43 0x33e2 425724ba675SRob Herring VF610_PAD_PTB20__GPIO_42 0x33e1 426724ba675SRob Herring VF610_PAD_PTB19__GPIO_41 0x33e2 427724ba675SRob Herring VF610_PAD_PTB18__GPIO_40 0x33e2 428724ba675SRob Herring >; 429724ba675SRob Herring }; 430724ba675SRob Herring 431724ba675SRob Herring pinctrl_mdio_mux: pinctrl-mdio-mux { 432724ba675SRob Herring fsl,pins = < 433724ba675SRob Herring VF610_PAD_PTA18__GPIO_8 0x31c2 434724ba675SRob Herring VF610_PAD_PTA19__GPIO_9 0x31c2 435724ba675SRob Herring VF610_PAD_PTB2__GPIO_24 0x31c2 436724ba675SRob Herring VF610_PAD_PTB3__GPIO_25 0x31c2 437724ba675SRob Herring >; 438724ba675SRob Herring }; 439724ba675SRob Herring 440724ba675SRob Herring pinctrl_pca9554_22: pinctrl-pca95540-22 { 441724ba675SRob Herring fsl,pins = < 442724ba675SRob Herring VF610_PAD_PTB28__GPIO_98 0x219d 443724ba675SRob Herring >; 444724ba675SRob Herring }; 445724ba675SRob Herring}; 446