1724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0-or-later OR MIT 2724ba675SRob Herring/* Copyright (c) 2021, Marcel Ziswiler <marcel@ziswiler.com> */ 3724ba675SRob Herring 4724ba675SRob Herring/dts-v1/; 5724ba675SRob Herring#include "armada-385.dtsi" 6724ba675SRob Herring#include <dt-bindings/gpio/gpio.h> 7724ba675SRob Herring#include <dt-bindings/input/input.h> 8724ba675SRob Herring 9724ba675SRob Herring/ { 10724ba675SRob Herring model = "Netgear GS110EMX"; 11724ba675SRob Herring compatible = "netgear,gs110emx", "marvell,armada380"; 12724ba675SRob Herring 13724ba675SRob Herring aliases { 14724ba675SRob Herring /* So that mvebu u-boot can update the MAC addresses */ 15724ba675SRob Herring ethernet1 = ð0; 16724ba675SRob Herring }; 17724ba675SRob Herring 18724ba675SRob Herring chosen { 19724ba675SRob Herring stdout-path = "serial0:115200n8"; 20724ba675SRob Herring }; 21724ba675SRob Herring 22724ba675SRob Herring gpio-keys { 23724ba675SRob Herring compatible = "gpio-keys"; 24724ba675SRob Herring pinctrl-0 = <&front_button_pins>; 25724ba675SRob Herring pinctrl-names = "default"; 26724ba675SRob Herring 27724ba675SRob Herring key-factory-default { 28724ba675SRob Herring label = "Factory Default"; 29724ba675SRob Herring gpios = <&gpio1 6 GPIO_ACTIVE_LOW>; 30724ba675SRob Herring linux,code = <KEY_RESTART>; 31724ba675SRob Herring }; 32724ba675SRob Herring }; 33724ba675SRob Herring 34724ba675SRob Herring memory { 35724ba675SRob Herring device_type = "memory"; 36724ba675SRob Herring reg = <0x00000000 0x08000000>; /* 128 MB */ 37724ba675SRob Herring }; 38724ba675SRob Herring 39724ba675SRob Herring soc { 40724ba675SRob Herring ranges = <MBUS_ID(0xf0, 0x01) 0 0xf1000000 0x100000 41724ba675SRob Herring MBUS_ID(0x01, 0x1d) 0 0xfff00000 0x100000 42724ba675SRob Herring MBUS_ID(0x09, 0x19) 0 0xf1100000 0x10000 43724ba675SRob Herring MBUS_ID(0x09, 0x15) 0 0xf1110000 0x10000 44724ba675SRob Herring MBUS_ID(0x0c, 0x04) 0 0xf1200000 0x100000>; 45724ba675SRob Herring 46724ba675SRob Herring internal-regs { 47724ba675SRob Herring rtc@a3800 { 48724ba675SRob Herring /* 49724ba675SRob Herring * If the rtc doesn't work, run "date reset" 50724ba675SRob Herring * twice in u-boot. 51724ba675SRob Herring */ 52724ba675SRob Herring status = "okay"; 53724ba675SRob Herring }; 54724ba675SRob Herring }; 55724ba675SRob Herring }; 56724ba675SRob Herring}; 57724ba675SRob Herring 58724ba675SRob Herringð0 { 59724ba675SRob Herring /* ethernet@70000 */ 60724ba675SRob Herring bm,pool-long = <0>; 61724ba675SRob Herring bm,pool-short = <1>; 62724ba675SRob Herring buffer-manager = <&bm>; 63724ba675SRob Herring phy-mode = "rgmii-id"; 64724ba675SRob Herring pinctrl-0 = <&ge0_rgmii_pins>; 65724ba675SRob Herring pinctrl-names = "default"; 66724ba675SRob Herring status = "okay"; 67724ba675SRob Herring 68724ba675SRob Herring fixed-link { 69724ba675SRob Herring full-duplex; 70724ba675SRob Herring pause; 71724ba675SRob Herring speed = <1000>; 72724ba675SRob Herring }; 73724ba675SRob Herring}; 74724ba675SRob Herring 75724ba675SRob Herring&mdio { 76724ba675SRob Herring pinctrl-names = "default"; 77724ba675SRob Herring pinctrl-0 = <&mdio_pins>; 78724ba675SRob Herring status = "okay"; 79724ba675SRob Herring 80*6e75ac5aSLinus Walleij ethernet-switch@0 { 81724ba675SRob Herring compatible = "marvell,mv88e6190"; 82724ba675SRob Herring #interrupt-cells = <2>; 83724ba675SRob Herring interrupt-controller; 84724ba675SRob Herring interrupt-parent = <&gpio1>; 85724ba675SRob Herring interrupts = <7 IRQ_TYPE_LEVEL_LOW>; 86724ba675SRob Herring pinctrl-0 = <&switch_interrupt_pins>; 87724ba675SRob Herring pinctrl-names = "default"; 88724ba675SRob Herring reg = <0>; 89724ba675SRob Herring 90724ba675SRob Herring mdio { 91724ba675SRob Herring #address-cells = <1>; 92724ba675SRob Herring #size-cells = <0>; 93724ba675SRob Herring 94*6e75ac5aSLinus Walleij switch0phy1: ethernet-phy@1 { 95724ba675SRob Herring reg = <0x1>; 96724ba675SRob Herring }; 97724ba675SRob Herring 98*6e75ac5aSLinus Walleij switch0phy2: ethernet-phy@2 { 99724ba675SRob Herring reg = <0x2>; 100724ba675SRob Herring }; 101724ba675SRob Herring 102*6e75ac5aSLinus Walleij switch0phy3: ethernet-phy@3 { 103724ba675SRob Herring reg = <0x3>; 104724ba675SRob Herring }; 105724ba675SRob Herring 106*6e75ac5aSLinus Walleij switch0phy4: ethernet-phy@4 { 107724ba675SRob Herring reg = <0x4>; 108724ba675SRob Herring }; 109724ba675SRob Herring 110*6e75ac5aSLinus Walleij switch0phy5: ethernet-phy@5 { 111724ba675SRob Herring reg = <0x5>; 112724ba675SRob Herring }; 113724ba675SRob Herring 114*6e75ac5aSLinus Walleij switch0phy6: ethernet-phy@6 { 115724ba675SRob Herring reg = <0x6>; 116724ba675SRob Herring }; 117724ba675SRob Herring 118*6e75ac5aSLinus Walleij switch0phy7: ethernet-phy@7 { 119724ba675SRob Herring reg = <0x7>; 120724ba675SRob Herring }; 121724ba675SRob Herring 122*6e75ac5aSLinus Walleij switch0phy8: ethernet-phy@8 { 123724ba675SRob Herring reg = <0x8>; 124724ba675SRob Herring }; 125724ba675SRob Herring }; 126724ba675SRob Herring 127724ba675SRob Herring mdio-external { 128724ba675SRob Herring compatible = "marvell,mv88e6xxx-mdio-external"; 129724ba675SRob Herring #address-cells = <1>; 130724ba675SRob Herring #size-cells = <0>; 131724ba675SRob Herring 132724ba675SRob Herring phy1: ethernet-phy@b { 133724ba675SRob Herring reg = <0xb>; 134724ba675SRob Herring compatible = "ethernet-phy-ieee802.3-c45"; 135724ba675SRob Herring }; 136724ba675SRob Herring 137724ba675SRob Herring phy2: ethernet-phy@c { 138724ba675SRob Herring reg = <0xc>; 139724ba675SRob Herring compatible = "ethernet-phy-ieee802.3-c45"; 140724ba675SRob Herring }; 141724ba675SRob Herring }; 142724ba675SRob Herring 143*6e75ac5aSLinus Walleij ethernet-ports { 144724ba675SRob Herring #address-cells = <1>; 145724ba675SRob Herring #size-cells = <0>; 146724ba675SRob Herring 147*6e75ac5aSLinus Walleij ethernet-port@0 { 148724ba675SRob Herring ethernet = <ð0>; 149724ba675SRob Herring phy-mode = "rgmii"; 150724ba675SRob Herring reg = <0>; 151724ba675SRob Herring 152724ba675SRob Herring fixed-link { 153724ba675SRob Herring full-duplex; 154724ba675SRob Herring pause; 155724ba675SRob Herring speed = <1000>; 156724ba675SRob Herring }; 157724ba675SRob Herring }; 158724ba675SRob Herring 159*6e75ac5aSLinus Walleij ethernet-port@1 { 160724ba675SRob Herring label = "lan1"; 161724ba675SRob Herring phy-handle = <&switch0phy1>; 162724ba675SRob Herring reg = <1>; 163724ba675SRob Herring }; 164724ba675SRob Herring 165*6e75ac5aSLinus Walleij ethernet-port@2 { 166724ba675SRob Herring label = "lan2"; 167724ba675SRob Herring phy-handle = <&switch0phy2>; 168724ba675SRob Herring reg = <2>; 169724ba675SRob Herring }; 170724ba675SRob Herring 171*6e75ac5aSLinus Walleij ethernet-port@3 { 172724ba675SRob Herring label = "lan3"; 173724ba675SRob Herring phy-handle = <&switch0phy3>; 174724ba675SRob Herring reg = <3>; 175724ba675SRob Herring }; 176724ba675SRob Herring 177*6e75ac5aSLinus Walleij ethernet-port@4 { 178724ba675SRob Herring label = "lan4"; 179724ba675SRob Herring phy-handle = <&switch0phy4>; 180724ba675SRob Herring reg = <4>; 181724ba675SRob Herring }; 182724ba675SRob Herring 183*6e75ac5aSLinus Walleij ethernet-port@5 { 184724ba675SRob Herring label = "lan5"; 185724ba675SRob Herring phy-handle = <&switch0phy5>; 186724ba675SRob Herring reg = <5>; 187724ba675SRob Herring }; 188724ba675SRob Herring 189*6e75ac5aSLinus Walleij ethernet-port@6 { 190724ba675SRob Herring label = "lan6"; 191724ba675SRob Herring phy-handle = <&switch0phy6>; 192724ba675SRob Herring reg = <6>; 193724ba675SRob Herring }; 194724ba675SRob Herring 195*6e75ac5aSLinus Walleij ethernet-port@7 { 196724ba675SRob Herring label = "lan7"; 197724ba675SRob Herring phy-handle = <&switch0phy7>; 198724ba675SRob Herring reg = <7>; 199724ba675SRob Herring }; 200724ba675SRob Herring 201*6e75ac5aSLinus Walleij ethernet-port@8 { 202724ba675SRob Herring label = "lan8"; 203724ba675SRob Herring phy-handle = <&switch0phy8>; 204724ba675SRob Herring reg = <8>; 205724ba675SRob Herring }; 206724ba675SRob Herring 207*6e75ac5aSLinus Walleij ethernet-port@9 { 208724ba675SRob Herring /* 88X3310P external phy */ 209724ba675SRob Herring label = "lan9"; 210724ba675SRob Herring phy-handle = <&phy1>; 211724ba675SRob Herring phy-mode = "xaui"; 212724ba675SRob Herring reg = <9>; 213724ba675SRob Herring }; 214724ba675SRob Herring 215*6e75ac5aSLinus Walleij ethernet-port@a { 216724ba675SRob Herring /* 88X3310P external phy */ 217724ba675SRob Herring label = "lan10"; 218724ba675SRob Herring phy-handle = <&phy2>; 219724ba675SRob Herring phy-mode = "xaui"; 220724ba675SRob Herring reg = <0xa>; 221724ba675SRob Herring }; 222724ba675SRob Herring }; 223724ba675SRob Herring }; 224724ba675SRob Herring}; 225724ba675SRob Herring 226724ba675SRob Herring&pinctrl { 227724ba675SRob Herring front_button_pins: front-button-pins { 228724ba675SRob Herring marvell,pins = "mpp38"; 229724ba675SRob Herring marvell,function = "gpio"; 230724ba675SRob Herring }; 231724ba675SRob Herring 232724ba675SRob Herring switch_interrupt_pins: switch-interrupt-pins { 233724ba675SRob Herring marvell,pins = "mpp39"; 234724ba675SRob Herring marvell,function = "gpio"; 235724ba675SRob Herring }; 236724ba675SRob Herring}; 237724ba675SRob Herring 238724ba675SRob Herring&spi0 { 239724ba675SRob Herring pinctrl-0 = <&spi0_pins>; 240724ba675SRob Herring pinctrl-names = "default"; 241724ba675SRob Herring status = "okay"; 242724ba675SRob Herring 243724ba675SRob Herring flash@0 { 244724ba675SRob Herring #address-cells = <1>; 245724ba675SRob Herring #size-cells = <1>; 246724ba675SRob Herring compatible = "jedec,spi-nor"; 247724ba675SRob Herring reg = <0>; /* Chip select 0 */ 248724ba675SRob Herring spi-max-frequency = <3000000>; 249724ba675SRob Herring 250724ba675SRob Herring partitions { 251724ba675SRob Herring compatible = "fixed-partitions"; 252724ba675SRob Herring #address-cells = <1>; 253724ba675SRob Herring #size-cells = <1>; 254724ba675SRob Herring 255724ba675SRob Herring partition@0 { 256724ba675SRob Herring label = "boot"; 257724ba675SRob Herring read-only; 258724ba675SRob Herring reg = <0x00000000 0x00100000>; 259724ba675SRob Herring }; 260724ba675SRob Herring 261724ba675SRob Herring partition@100000 { 262724ba675SRob Herring label = "env"; 263724ba675SRob Herring reg = <0x00100000 0x00010000>; 264724ba675SRob Herring }; 265724ba675SRob Herring 266724ba675SRob Herring partition@200000 { 267724ba675SRob Herring label = "rsv"; 268724ba675SRob Herring reg = <0x00110000 0x00010000>; 269724ba675SRob Herring }; 270724ba675SRob Herring 271724ba675SRob Herring partition@300000 { 272724ba675SRob Herring label = "image0"; 273724ba675SRob Herring reg = <0x00120000 0x00900000>; 274724ba675SRob Herring }; 275724ba675SRob Herring 276724ba675SRob Herring partition@400000 { 277724ba675SRob Herring label = "config"; 278724ba675SRob Herring reg = <0x00a20000 0x00300000>; 279724ba675SRob Herring }; 280724ba675SRob Herring 281724ba675SRob Herring partition@480000 { 282724ba675SRob Herring label = "debug"; 283724ba675SRob Herring reg = <0x00d20000 0x002e0000>; 284724ba675SRob Herring }; 285724ba675SRob Herring }; 286724ba675SRob Herring }; 287724ba675SRob Herring}; 288724ba675SRob Herring 289724ba675SRob Herring&uart0 { 290724ba675SRob Herring pinctrl-0 = <&uart0_pins>; 291724ba675SRob Herring pinctrl-names = "default"; 292724ba675SRob Herring status = "okay"; 293724ba675SRob Herring}; 294