1*724ba675SRob Herring// SPDX-License-Identifier: (GPL-2.0 OR MIT) 2*724ba675SRob Herring/* 3*724ba675SRob Herring * Device Tree file for the Turris Omnia 4*724ba675SRob Herring * 5*724ba675SRob Herring * Copyright (C) 2016 Uwe Kleine-König <uwe@kleine-koenig.org> 6*724ba675SRob Herring * Copyright (C) 2016 Tomas Hlavacek <tmshlvkc@gmail.com> 7*724ba675SRob Herring * 8*724ba675SRob Herring * Schematic available at https://www.turris.cz/doc/_media/rtrom01-schema.pdf 9*724ba675SRob Herring */ 10*724ba675SRob Herring 11*724ba675SRob Herring/dts-v1/; 12*724ba675SRob Herring 13*724ba675SRob Herring#include <dt-bindings/gpio/gpio.h> 14*724ba675SRob Herring#include <dt-bindings/input/input.h> 15*724ba675SRob Herring#include <dt-bindings/leds/common.h> 16*724ba675SRob Herring#include "armada-385.dtsi" 17*724ba675SRob Herring 18*724ba675SRob Herring/ { 19*724ba675SRob Herring model = "Turris Omnia"; 20*724ba675SRob Herring compatible = "cznic,turris-omnia", "marvell,armada385", "marvell,armada380"; 21*724ba675SRob Herring 22*724ba675SRob Herring chosen { 23*724ba675SRob Herring stdout-path = &uart0; 24*724ba675SRob Herring }; 25*724ba675SRob Herring 26*724ba675SRob Herring aliases { 27*724ba675SRob Herring ethernet0 = ð0; 28*724ba675SRob Herring ethernet1 = ð1; 29*724ba675SRob Herring ethernet2 = ð2; 30*724ba675SRob Herring }; 31*724ba675SRob Herring 32*724ba675SRob Herring memory { 33*724ba675SRob Herring device_type = "memory"; 34*724ba675SRob Herring reg = <0x00000000 0x40000000>; /* 1024 MB */ 35*724ba675SRob Herring }; 36*724ba675SRob Herring 37*724ba675SRob Herring soc { 38*724ba675SRob Herring ranges = <MBUS_ID(0xf0, 0x01) 0 0xf1000000 0x100000 39*724ba675SRob Herring MBUS_ID(0x01, 0x1d) 0 0xfff00000 0x100000 40*724ba675SRob Herring MBUS_ID(0x09, 0x19) 0 0xf1100000 0x10000 41*724ba675SRob Herring MBUS_ID(0x09, 0x15) 0 0xf1110000 0x10000 42*724ba675SRob Herring MBUS_ID(0x0c, 0x04) 0 0xf1200000 0x100000>; 43*724ba675SRob Herring 44*724ba675SRob Herring internal-regs { 45*724ba675SRob Herring 46*724ba675SRob Herring /* USB part of the PCIe2/USB 2.0 port */ 47*724ba675SRob Herring usb@58000 { 48*724ba675SRob Herring status = "okay"; 49*724ba675SRob Herring }; 50*724ba675SRob Herring 51*724ba675SRob Herring sata@a8000 { 52*724ba675SRob Herring status = "okay"; 53*724ba675SRob Herring }; 54*724ba675SRob Herring 55*724ba675SRob Herring sdhci@d8000 { 56*724ba675SRob Herring pinctrl-names = "default"; 57*724ba675SRob Herring pinctrl-0 = <&sdhci_pins>; 58*724ba675SRob Herring status = "okay"; 59*724ba675SRob Herring 60*724ba675SRob Herring bus-width = <8>; 61*724ba675SRob Herring no-1-8-v; 62*724ba675SRob Herring non-removable; 63*724ba675SRob Herring }; 64*724ba675SRob Herring 65*724ba675SRob Herring usb3@f0000 { 66*724ba675SRob Herring status = "okay"; 67*724ba675SRob Herring }; 68*724ba675SRob Herring 69*724ba675SRob Herring usb3@f8000 { 70*724ba675SRob Herring status = "okay"; 71*724ba675SRob Herring }; 72*724ba675SRob Herring }; 73*724ba675SRob Herring 74*724ba675SRob Herring pcie { 75*724ba675SRob Herring status = "okay"; 76*724ba675SRob Herring 77*724ba675SRob Herring pcie@1,0 { 78*724ba675SRob Herring /* Port 0, Lane 0 */ 79*724ba675SRob Herring status = "okay"; 80*724ba675SRob Herring slot-power-limit-milliwatt = <10000>; 81*724ba675SRob Herring }; 82*724ba675SRob Herring 83*724ba675SRob Herring pcie@2,0 { 84*724ba675SRob Herring /* Port 1, Lane 0 */ 85*724ba675SRob Herring status = "okay"; 86*724ba675SRob Herring slot-power-limit-milliwatt = <10000>; 87*724ba675SRob Herring }; 88*724ba675SRob Herring 89*724ba675SRob Herring pcie@3,0 { 90*724ba675SRob Herring /* Port 2, Lane 0 */ 91*724ba675SRob Herring status = "okay"; 92*724ba675SRob Herring slot-power-limit-milliwatt = <10000>; 93*724ba675SRob Herring }; 94*724ba675SRob Herring }; 95*724ba675SRob Herring }; 96*724ba675SRob Herring 97*724ba675SRob Herring sfp: sfp { 98*724ba675SRob Herring compatible = "sff,sfp"; 99*724ba675SRob Herring i2c-bus = <&sfp_i2c>; 100*724ba675SRob Herring tx-fault-gpios = <&pcawan 0 GPIO_ACTIVE_HIGH>; 101*724ba675SRob Herring tx-disable-gpios = <&pcawan 1 GPIO_ACTIVE_HIGH>; 102*724ba675SRob Herring rate-select0-gpios = <&pcawan 2 GPIO_ACTIVE_HIGH>; 103*724ba675SRob Herring los-gpios = <&pcawan 3 GPIO_ACTIVE_HIGH>; 104*724ba675SRob Herring mod-def0-gpios = <&pcawan 4 GPIO_ACTIVE_LOW>; 105*724ba675SRob Herring maximum-power-milliwatt = <3000>; 106*724ba675SRob Herring 107*724ba675SRob Herring /* 108*724ba675SRob Herring * For now this has to be enabled at boot time by U-Boot when 109*724ba675SRob Herring * a SFP module is present. Read more in the comment in the 110*724ba675SRob Herring * eth2 node below. 111*724ba675SRob Herring */ 112*724ba675SRob Herring status = "disabled"; 113*724ba675SRob Herring }; 114*724ba675SRob Herring 115*724ba675SRob Herring sound { 116*724ba675SRob Herring compatible = "simple-audio-card"; 117*724ba675SRob Herring simple-audio-card,name = "SPDIF"; 118*724ba675SRob Herring simple-audio-card,format = "i2s"; 119*724ba675SRob Herring 120*724ba675SRob Herring simple-audio-card,cpu { 121*724ba675SRob Herring sound-dai = <&audio_controller 1>; 122*724ba675SRob Herring }; 123*724ba675SRob Herring 124*724ba675SRob Herring simple-audio-card,codec { 125*724ba675SRob Herring sound-dai = <&spdif_out>; 126*724ba675SRob Herring }; 127*724ba675SRob Herring }; 128*724ba675SRob Herring 129*724ba675SRob Herring spdif_out: spdif-out { 130*724ba675SRob Herring #sound-dai-cells = <0>; 131*724ba675SRob Herring compatible = "linux,spdif-dit"; 132*724ba675SRob Herring }; 133*724ba675SRob Herring}; 134*724ba675SRob Herring 135*724ba675SRob Herring&audio_controller { 136*724ba675SRob Herring /* Pin header U16, GPIO51 in SPDIFO mode */ 137*724ba675SRob Herring pinctrl-0 = <&spdif_pins>; 138*724ba675SRob Herring pinctrl-names = "default"; 139*724ba675SRob Herring spdif-mode; 140*724ba675SRob Herring status = "okay"; 141*724ba675SRob Herring}; 142*724ba675SRob Herring 143*724ba675SRob Herring&bm { 144*724ba675SRob Herring status = "okay"; 145*724ba675SRob Herring}; 146*724ba675SRob Herring 147*724ba675SRob Herring&bm_bppi { 148*724ba675SRob Herring status = "okay"; 149*724ba675SRob Herring}; 150*724ba675SRob Herring 151*724ba675SRob Herring/* Connected to 88E6176 switch, port 6 */ 152*724ba675SRob Herringð0 { 153*724ba675SRob Herring pinctrl-names = "default"; 154*724ba675SRob Herring pinctrl-0 = <&ge0_rgmii_pins>; 155*724ba675SRob Herring status = "okay"; 156*724ba675SRob Herring phy-mode = "rgmii"; 157*724ba675SRob Herring buffer-manager = <&bm>; 158*724ba675SRob Herring bm,pool-long = <0>; 159*724ba675SRob Herring bm,pool-short = <3>; 160*724ba675SRob Herring 161*724ba675SRob Herring fixed-link { 162*724ba675SRob Herring speed = <1000>; 163*724ba675SRob Herring full-duplex; 164*724ba675SRob Herring }; 165*724ba675SRob Herring}; 166*724ba675SRob Herring 167*724ba675SRob Herring/* Connected to 88E6176 switch, port 5 */ 168*724ba675SRob Herringð1 { 169*724ba675SRob Herring pinctrl-names = "default"; 170*724ba675SRob Herring pinctrl-0 = <&ge1_rgmii_pins>; 171*724ba675SRob Herring status = "okay"; 172*724ba675SRob Herring phy-mode = "rgmii"; 173*724ba675SRob Herring buffer-manager = <&bm>; 174*724ba675SRob Herring bm,pool-long = <1>; 175*724ba675SRob Herring bm,pool-short = <3>; 176*724ba675SRob Herring 177*724ba675SRob Herring fixed-link { 178*724ba675SRob Herring speed = <1000>; 179*724ba675SRob Herring full-duplex; 180*724ba675SRob Herring }; 181*724ba675SRob Herring}; 182*724ba675SRob Herring 183*724ba675SRob Herring/* WAN port */ 184*724ba675SRob Herringð2 { 185*724ba675SRob Herring /* 186*724ba675SRob Herring * eth2 is connected via a multiplexor to both the SFP cage and to 187*724ba675SRob Herring * ethernet-phy@1. The multiplexor switches the signal to SFP cage when 188*724ba675SRob Herring * a SFP module is present, as determined by the mode-def0 GPIO. 189*724ba675SRob Herring * 190*724ba675SRob Herring * Until kernel supports this configuration properly, in case SFP module 191*724ba675SRob Herring * is present, U-Boot has to enable the sfp node above, remove phy 192*724ba675SRob Herring * handle and add managed = "in-band-status" property. 193*724ba675SRob Herring */ 194*724ba675SRob Herring status = "okay"; 195*724ba675SRob Herring phy-mode = "sgmii"; 196*724ba675SRob Herring phy-handle = <&phy1>; 197*724ba675SRob Herring phys = <&comphy5 2>; 198*724ba675SRob Herring sfp = <&sfp>; 199*724ba675SRob Herring buffer-manager = <&bm>; 200*724ba675SRob Herring bm,pool-long = <2>; 201*724ba675SRob Herring bm,pool-short = <3>; 202*724ba675SRob Herring label = "wan"; 203*724ba675SRob Herring}; 204*724ba675SRob Herring 205*724ba675SRob Herring&i2c0 { 206*724ba675SRob Herring pinctrl-names = "default"; 207*724ba675SRob Herring pinctrl-0 = <&i2c0_pins>; 208*724ba675SRob Herring status = "okay"; 209*724ba675SRob Herring 210*724ba675SRob Herring i2cmux@70 { 211*724ba675SRob Herring compatible = "nxp,pca9547"; 212*724ba675SRob Herring #address-cells = <1>; 213*724ba675SRob Herring #size-cells = <0>; 214*724ba675SRob Herring reg = <0x70>; 215*724ba675SRob Herring 216*724ba675SRob Herring i2c@0 { 217*724ba675SRob Herring #address-cells = <1>; 218*724ba675SRob Herring #size-cells = <0>; 219*724ba675SRob Herring reg = <0>; 220*724ba675SRob Herring 221*724ba675SRob Herring /* STM32F0 command interface at address 0x2a */ 222*724ba675SRob Herring 223*724ba675SRob Herring led-controller@2b { 224*724ba675SRob Herring compatible = "cznic,turris-omnia-leds"; 225*724ba675SRob Herring reg = <0x2b>; 226*724ba675SRob Herring #address-cells = <1>; 227*724ba675SRob Herring #size-cells = <0>; 228*724ba675SRob Herring status = "okay"; 229*724ba675SRob Herring 230*724ba675SRob Herring /* 231*724ba675SRob Herring * LEDs are controlled by MCU (STM32F0) at 232*724ba675SRob Herring * address 0x2b. 233*724ba675SRob Herring * 234*724ba675SRob Herring * LED functions are not stable yet: 235*724ba675SRob Herring * - there are 3 LEDs connected via MCU to PCIe 236*724ba675SRob Herring * ports. One of these ports supports mSATA. 237*724ba675SRob Herring * There is no mSATA nor PCIe function. 238*724ba675SRob Herring * For now we use LED_FUNCTION_WLAN, since 239*724ba675SRob Herring * in most cases users have wifi cards in 240*724ba675SRob Herring * these slots 241*724ba675SRob Herring * - there are 2 LEDs dedicated for user: A and 242*724ba675SRob Herring * B. Again there is no such function defined. 243*724ba675SRob Herring * For now we use LED_FUNCTION_INDICATOR 244*724ba675SRob Herring */ 245*724ba675SRob Herring 246*724ba675SRob Herring multi-led@0 { 247*724ba675SRob Herring reg = <0x0>; 248*724ba675SRob Herring color = <LED_COLOR_ID_RGB>; 249*724ba675SRob Herring function = LED_FUNCTION_INDICATOR; 250*724ba675SRob Herring function-enumerator = <2>; 251*724ba675SRob Herring }; 252*724ba675SRob Herring 253*724ba675SRob Herring multi-led@1 { 254*724ba675SRob Herring reg = <0x1>; 255*724ba675SRob Herring color = <LED_COLOR_ID_RGB>; 256*724ba675SRob Herring function = LED_FUNCTION_INDICATOR; 257*724ba675SRob Herring function-enumerator = <1>; 258*724ba675SRob Herring }; 259*724ba675SRob Herring 260*724ba675SRob Herring multi-led@2 { 261*724ba675SRob Herring reg = <0x2>; 262*724ba675SRob Herring color = <LED_COLOR_ID_RGB>; 263*724ba675SRob Herring function = LED_FUNCTION_WLAN; 264*724ba675SRob Herring function-enumerator = <3>; 265*724ba675SRob Herring }; 266*724ba675SRob Herring 267*724ba675SRob Herring multi-led@3 { 268*724ba675SRob Herring reg = <0x3>; 269*724ba675SRob Herring color = <LED_COLOR_ID_RGB>; 270*724ba675SRob Herring function = LED_FUNCTION_WLAN; 271*724ba675SRob Herring function-enumerator = <2>; 272*724ba675SRob Herring }; 273*724ba675SRob Herring 274*724ba675SRob Herring multi-led@4 { 275*724ba675SRob Herring reg = <0x4>; 276*724ba675SRob Herring color = <LED_COLOR_ID_RGB>; 277*724ba675SRob Herring function = LED_FUNCTION_WLAN; 278*724ba675SRob Herring function-enumerator = <1>; 279*724ba675SRob Herring }; 280*724ba675SRob Herring 281*724ba675SRob Herring multi-led@5 { 282*724ba675SRob Herring reg = <0x5>; 283*724ba675SRob Herring color = <LED_COLOR_ID_RGB>; 284*724ba675SRob Herring function = LED_FUNCTION_WAN; 285*724ba675SRob Herring }; 286*724ba675SRob Herring 287*724ba675SRob Herring multi-led@6 { 288*724ba675SRob Herring reg = <0x6>; 289*724ba675SRob Herring color = <LED_COLOR_ID_RGB>; 290*724ba675SRob Herring function = LED_FUNCTION_LAN; 291*724ba675SRob Herring function-enumerator = <4>; 292*724ba675SRob Herring }; 293*724ba675SRob Herring 294*724ba675SRob Herring multi-led@7 { 295*724ba675SRob Herring reg = <0x7>; 296*724ba675SRob Herring color = <LED_COLOR_ID_RGB>; 297*724ba675SRob Herring function = LED_FUNCTION_LAN; 298*724ba675SRob Herring function-enumerator = <3>; 299*724ba675SRob Herring }; 300*724ba675SRob Herring 301*724ba675SRob Herring multi-led@8 { 302*724ba675SRob Herring reg = <0x8>; 303*724ba675SRob Herring color = <LED_COLOR_ID_RGB>; 304*724ba675SRob Herring function = LED_FUNCTION_LAN; 305*724ba675SRob Herring function-enumerator = <2>; 306*724ba675SRob Herring }; 307*724ba675SRob Herring 308*724ba675SRob Herring multi-led@9 { 309*724ba675SRob Herring reg = <0x9>; 310*724ba675SRob Herring color = <LED_COLOR_ID_RGB>; 311*724ba675SRob Herring function = LED_FUNCTION_LAN; 312*724ba675SRob Herring function-enumerator = <1>; 313*724ba675SRob Herring }; 314*724ba675SRob Herring 315*724ba675SRob Herring multi-led@a { 316*724ba675SRob Herring reg = <0xa>; 317*724ba675SRob Herring color = <LED_COLOR_ID_RGB>; 318*724ba675SRob Herring function = LED_FUNCTION_LAN; 319*724ba675SRob Herring function-enumerator = <0>; 320*724ba675SRob Herring }; 321*724ba675SRob Herring 322*724ba675SRob Herring multi-led@b { 323*724ba675SRob Herring reg = <0xb>; 324*724ba675SRob Herring color = <LED_COLOR_ID_RGB>; 325*724ba675SRob Herring function = LED_FUNCTION_POWER; 326*724ba675SRob Herring }; 327*724ba675SRob Herring }; 328*724ba675SRob Herring 329*724ba675SRob Herring eeprom@54 { 330*724ba675SRob Herring compatible = "atmel,24c64"; 331*724ba675SRob Herring reg = <0x54>; 332*724ba675SRob Herring 333*724ba675SRob Herring /* The EEPROM contains data for bootloader. 334*724ba675SRob Herring * Contents: 335*724ba675SRob Herring * struct omnia_eeprom { 336*724ba675SRob Herring * u32 magic; (=0x0341a034 in LE) 337*724ba675SRob Herring * u32 ramsize; (in GiB) 338*724ba675SRob Herring * char regdomain[4]; 339*724ba675SRob Herring * u32 crc32; 340*724ba675SRob Herring * }; 341*724ba675SRob Herring */ 342*724ba675SRob Herring }; 343*724ba675SRob Herring }; 344*724ba675SRob Herring 345*724ba675SRob Herring i2c@1 { 346*724ba675SRob Herring #address-cells = <1>; 347*724ba675SRob Herring #size-cells = <0>; 348*724ba675SRob Herring reg = <1>; 349*724ba675SRob Herring 350*724ba675SRob Herring /* routed to PCIe0/mSATA connector (CN7A) */ 351*724ba675SRob Herring }; 352*724ba675SRob Herring 353*724ba675SRob Herring i2c@2 { 354*724ba675SRob Herring #address-cells = <1>; 355*724ba675SRob Herring #size-cells = <0>; 356*724ba675SRob Herring reg = <2>; 357*724ba675SRob Herring 358*724ba675SRob Herring /* routed to PCIe1/USB2 connector (CN61A) */ 359*724ba675SRob Herring }; 360*724ba675SRob Herring 361*724ba675SRob Herring i2c@3 { 362*724ba675SRob Herring #address-cells = <1>; 363*724ba675SRob Herring #size-cells = <0>; 364*724ba675SRob Herring reg = <3>; 365*724ba675SRob Herring 366*724ba675SRob Herring /* routed to PCIe2 connector (CN62A) */ 367*724ba675SRob Herring }; 368*724ba675SRob Herring 369*724ba675SRob Herring sfp_i2c: i2c@4 { 370*724ba675SRob Herring #address-cells = <1>; 371*724ba675SRob Herring #size-cells = <0>; 372*724ba675SRob Herring reg = <4>; 373*724ba675SRob Herring 374*724ba675SRob Herring /* routed to SFP+ */ 375*724ba675SRob Herring }; 376*724ba675SRob Herring 377*724ba675SRob Herring i2c@5 { 378*724ba675SRob Herring #address-cells = <1>; 379*724ba675SRob Herring #size-cells = <0>; 380*724ba675SRob Herring reg = <5>; 381*724ba675SRob Herring 382*724ba675SRob Herring /* ATSHA204A-MAHDA-T crypto module */ 383*724ba675SRob Herring crypto@64 { 384*724ba675SRob Herring compatible = "atmel,atsha204a"; 385*724ba675SRob Herring reg = <0x64>; 386*724ba675SRob Herring }; 387*724ba675SRob Herring }; 388*724ba675SRob Herring 389*724ba675SRob Herring i2c@6 { 390*724ba675SRob Herring #address-cells = <1>; 391*724ba675SRob Herring #size-cells = <0>; 392*724ba675SRob Herring reg = <6>; 393*724ba675SRob Herring 394*724ba675SRob Herring /* exposed on pin header */ 395*724ba675SRob Herring }; 396*724ba675SRob Herring 397*724ba675SRob Herring i2c@7 { 398*724ba675SRob Herring #address-cells = <1>; 399*724ba675SRob Herring #size-cells = <0>; 400*724ba675SRob Herring reg = <7>; 401*724ba675SRob Herring 402*724ba675SRob Herring pcawan: gpio@71 { 403*724ba675SRob Herring /* 404*724ba675SRob Herring * GPIO expander for SFP+ signals and 405*724ba675SRob Herring * and phy irq 406*724ba675SRob Herring */ 407*724ba675SRob Herring compatible = "nxp,pca9538"; 408*724ba675SRob Herring reg = <0x71>; 409*724ba675SRob Herring 410*724ba675SRob Herring pinctrl-names = "default"; 411*724ba675SRob Herring pinctrl-0 = <&pcawan_pins>; 412*724ba675SRob Herring 413*724ba675SRob Herring interrupt-parent = <&gpio1>; 414*724ba675SRob Herring interrupts = <14 IRQ_TYPE_LEVEL_LOW>; 415*724ba675SRob Herring 416*724ba675SRob Herring gpio-controller; 417*724ba675SRob Herring #gpio-cells = <2>; 418*724ba675SRob Herring }; 419*724ba675SRob Herring }; 420*724ba675SRob Herring }; 421*724ba675SRob Herring}; 422*724ba675SRob Herring 423*724ba675SRob Herring&mdio { 424*724ba675SRob Herring pinctrl-names = "default"; 425*724ba675SRob Herring pinctrl-0 = <&mdio_pins>; 426*724ba675SRob Herring status = "okay"; 427*724ba675SRob Herring 428*724ba675SRob Herring phy1: ethernet-phy@1 { 429*724ba675SRob Herring compatible = "ethernet-phy-ieee802.3-c22"; 430*724ba675SRob Herring reg = <1>; 431*724ba675SRob Herring marvell,reg-init = <3 18 0 0x4985>, 432*724ba675SRob Herring <3 16 0xfff0 0x0001>; 433*724ba675SRob Herring 434*724ba675SRob Herring /* irq is connected to &pcawan pin 7 */ 435*724ba675SRob Herring }; 436*724ba675SRob Herring 437*724ba675SRob Herring /* Switch MV88E6176 at address 0x10 */ 438*724ba675SRob Herring switch@10 { 439*724ba675SRob Herring pinctrl-names = "default"; 440*724ba675SRob Herring pinctrl-0 = <&swint_pins>; 441*724ba675SRob Herring compatible = "marvell,mv88e6085"; 442*724ba675SRob Herring #address-cells = <1>; 443*724ba675SRob Herring #size-cells = <0>; 444*724ba675SRob Herring 445*724ba675SRob Herring dsa,member = <0 0>; 446*724ba675SRob Herring reg = <0x10>; 447*724ba675SRob Herring 448*724ba675SRob Herring interrupt-parent = <&gpio1>; 449*724ba675SRob Herring interrupts = <13 IRQ_TYPE_LEVEL_LOW>; 450*724ba675SRob Herring 451*724ba675SRob Herring ports { 452*724ba675SRob Herring #address-cells = <1>; 453*724ba675SRob Herring #size-cells = <0>; 454*724ba675SRob Herring 455*724ba675SRob Herring ports@0 { 456*724ba675SRob Herring reg = <0>; 457*724ba675SRob Herring label = "lan0"; 458*724ba675SRob Herring }; 459*724ba675SRob Herring 460*724ba675SRob Herring ports@1 { 461*724ba675SRob Herring reg = <1>; 462*724ba675SRob Herring label = "lan1"; 463*724ba675SRob Herring }; 464*724ba675SRob Herring 465*724ba675SRob Herring ports@2 { 466*724ba675SRob Herring reg = <2>; 467*724ba675SRob Herring label = "lan2"; 468*724ba675SRob Herring }; 469*724ba675SRob Herring 470*724ba675SRob Herring ports@3 { 471*724ba675SRob Herring reg = <3>; 472*724ba675SRob Herring label = "lan3"; 473*724ba675SRob Herring }; 474*724ba675SRob Herring 475*724ba675SRob Herring ports@4 { 476*724ba675SRob Herring reg = <4>; 477*724ba675SRob Herring label = "lan4"; 478*724ba675SRob Herring }; 479*724ba675SRob Herring 480*724ba675SRob Herring ports@5 { 481*724ba675SRob Herring reg = <5>; 482*724ba675SRob Herring ethernet = <ð1>; 483*724ba675SRob Herring phy-mode = "rgmii-id"; 484*724ba675SRob Herring 485*724ba675SRob Herring fixed-link { 486*724ba675SRob Herring speed = <1000>; 487*724ba675SRob Herring full-duplex; 488*724ba675SRob Herring }; 489*724ba675SRob Herring }; 490*724ba675SRob Herring 491*724ba675SRob Herring ports@6 { 492*724ba675SRob Herring reg = <6>; 493*724ba675SRob Herring ethernet = <ð0>; 494*724ba675SRob Herring phy-mode = "rgmii-id"; 495*724ba675SRob Herring 496*724ba675SRob Herring fixed-link { 497*724ba675SRob Herring speed = <1000>; 498*724ba675SRob Herring full-duplex; 499*724ba675SRob Herring }; 500*724ba675SRob Herring }; 501*724ba675SRob Herring }; 502*724ba675SRob Herring }; 503*724ba675SRob Herring}; 504*724ba675SRob Herring 505*724ba675SRob Herring&pinctrl { 506*724ba675SRob Herring pcawan_pins: pcawan-pins { 507*724ba675SRob Herring marvell,pins = "mpp46"; 508*724ba675SRob Herring marvell,function = "gpio"; 509*724ba675SRob Herring }; 510*724ba675SRob Herring 511*724ba675SRob Herring swint_pins: swint-pins { 512*724ba675SRob Herring marvell,pins = "mpp45"; 513*724ba675SRob Herring marvell,function = "gpio"; 514*724ba675SRob Herring }; 515*724ba675SRob Herring 516*724ba675SRob Herring spi0cs0_pins: spi0cs0-pins { 517*724ba675SRob Herring marvell,pins = "mpp25"; 518*724ba675SRob Herring marvell,function = "spi0"; 519*724ba675SRob Herring }; 520*724ba675SRob Herring 521*724ba675SRob Herring spi0cs2_pins: spi0cs2-pins { 522*724ba675SRob Herring marvell,pins = "mpp26"; 523*724ba675SRob Herring marvell,function = "spi0"; 524*724ba675SRob Herring }; 525*724ba675SRob Herring}; 526*724ba675SRob Herring 527*724ba675SRob Herring&spi0 { 528*724ba675SRob Herring pinctrl-names = "default"; 529*724ba675SRob Herring pinctrl-0 = <&spi0_pins &spi0cs0_pins>; 530*724ba675SRob Herring status = "okay"; 531*724ba675SRob Herring 532*724ba675SRob Herring flash@0 { 533*724ba675SRob Herring compatible = "spansion,s25fl164k", "jedec,spi-nor"; 534*724ba675SRob Herring #address-cells = <1>; 535*724ba675SRob Herring #size-cells = <1>; 536*724ba675SRob Herring reg = <0>; 537*724ba675SRob Herring spi-max-frequency = <40000000>; 538*724ba675SRob Herring 539*724ba675SRob Herring partitions { 540*724ba675SRob Herring compatible = "fixed-partitions"; 541*724ba675SRob Herring #address-cells = <1>; 542*724ba675SRob Herring #size-cells = <1>; 543*724ba675SRob Herring 544*724ba675SRob Herring partition@0 { 545*724ba675SRob Herring reg = <0x0 0x00100000>; 546*724ba675SRob Herring label = "U-Boot"; 547*724ba675SRob Herring }; 548*724ba675SRob Herring 549*724ba675SRob Herring partition@100000 { 550*724ba675SRob Herring reg = <0x00100000 0x00700000>; 551*724ba675SRob Herring label = "Rescue system"; 552*724ba675SRob Herring }; 553*724ba675SRob Herring }; 554*724ba675SRob Herring }; 555*724ba675SRob Herring 556*724ba675SRob Herring /* MISO, MOSI, SCLK and CS2 are routed to pin header CN11 */ 557*724ba675SRob Herring}; 558*724ba675SRob Herring 559*724ba675SRob Herring&uart0 { 560*724ba675SRob Herring /* Pin header CN10 */ 561*724ba675SRob Herring pinctrl-names = "default"; 562*724ba675SRob Herring pinctrl-0 = <&uart0_pins>; 563*724ba675SRob Herring status = "okay"; 564*724ba675SRob Herring}; 565*724ba675SRob Herring 566*724ba675SRob Herring&uart1 { 567*724ba675SRob Herring /* Pin header CN11 */ 568*724ba675SRob Herring pinctrl-names = "default"; 569*724ba675SRob Herring pinctrl-0 = <&uart1_pins>; 570*724ba675SRob Herring status = "okay"; 571*724ba675SRob Herring}; 572