1f126890aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0-or-later OR MIT 2f126890aSEmmanuel Vadot/* Copyright (c) 2021, Marcel Ziswiler <marcel@ziswiler.com> */ 3f126890aSEmmanuel Vadot 4f126890aSEmmanuel Vadot/dts-v1/; 5f126890aSEmmanuel Vadot#include "armada-385.dtsi" 6f126890aSEmmanuel Vadot#include <dt-bindings/gpio/gpio.h> 7f126890aSEmmanuel Vadot#include <dt-bindings/input/input.h> 8f126890aSEmmanuel Vadot 9f126890aSEmmanuel Vadot/ { 10f126890aSEmmanuel Vadot model = "Netgear GS110EMX"; 11f126890aSEmmanuel Vadot compatible = "netgear,gs110emx", "marvell,armada380"; 12f126890aSEmmanuel Vadot 13f126890aSEmmanuel Vadot aliases { 14f126890aSEmmanuel Vadot /* So that mvebu u-boot can update the MAC addresses */ 15f126890aSEmmanuel Vadot ethernet1 = ð0; 16f126890aSEmmanuel Vadot }; 17f126890aSEmmanuel Vadot 18f126890aSEmmanuel Vadot chosen { 19f126890aSEmmanuel Vadot stdout-path = "serial0:115200n8"; 20f126890aSEmmanuel Vadot }; 21f126890aSEmmanuel Vadot 22f126890aSEmmanuel Vadot gpio-keys { 23f126890aSEmmanuel Vadot compatible = "gpio-keys"; 24f126890aSEmmanuel Vadot pinctrl-0 = <&front_button_pins>; 25f126890aSEmmanuel Vadot pinctrl-names = "default"; 26f126890aSEmmanuel Vadot 27f126890aSEmmanuel Vadot key-factory-default { 28f126890aSEmmanuel Vadot label = "Factory Default"; 29f126890aSEmmanuel Vadot gpios = <&gpio1 6 GPIO_ACTIVE_LOW>; 30f126890aSEmmanuel Vadot linux,code = <KEY_RESTART>; 31f126890aSEmmanuel Vadot }; 32f126890aSEmmanuel Vadot }; 33f126890aSEmmanuel Vadot 34f126890aSEmmanuel Vadot memory { 35f126890aSEmmanuel Vadot device_type = "memory"; 36f126890aSEmmanuel Vadot reg = <0x00000000 0x08000000>; /* 128 MB */ 37f126890aSEmmanuel Vadot }; 38f126890aSEmmanuel Vadot 39f126890aSEmmanuel Vadot soc { 40f126890aSEmmanuel Vadot ranges = <MBUS_ID(0xf0, 0x01) 0 0xf1000000 0x100000 41f126890aSEmmanuel Vadot MBUS_ID(0x01, 0x1d) 0 0xfff00000 0x100000 42f126890aSEmmanuel Vadot MBUS_ID(0x09, 0x19) 0 0xf1100000 0x10000 43f126890aSEmmanuel Vadot MBUS_ID(0x09, 0x15) 0 0xf1110000 0x10000 44f126890aSEmmanuel Vadot MBUS_ID(0x0c, 0x04) 0 0xf1200000 0x100000>; 45f126890aSEmmanuel Vadot 46f126890aSEmmanuel Vadot internal-regs { 47f126890aSEmmanuel Vadot rtc@a3800 { 48f126890aSEmmanuel Vadot /* 49f126890aSEmmanuel Vadot * If the rtc doesn't work, run "date reset" 50f126890aSEmmanuel Vadot * twice in u-boot. 51f126890aSEmmanuel Vadot */ 52f126890aSEmmanuel Vadot status = "okay"; 53f126890aSEmmanuel Vadot }; 54f126890aSEmmanuel Vadot }; 55f126890aSEmmanuel Vadot }; 56f126890aSEmmanuel Vadot}; 57f126890aSEmmanuel Vadot 58f126890aSEmmanuel Vadotð0 { 59f126890aSEmmanuel Vadot /* ethernet@70000 */ 60f126890aSEmmanuel Vadot bm,pool-long = <0>; 61f126890aSEmmanuel Vadot bm,pool-short = <1>; 62f126890aSEmmanuel Vadot buffer-manager = <&bm>; 63f126890aSEmmanuel Vadot phy-mode = "rgmii-id"; 64f126890aSEmmanuel Vadot pinctrl-0 = <&ge0_rgmii_pins>; 65f126890aSEmmanuel Vadot pinctrl-names = "default"; 66f126890aSEmmanuel Vadot status = "okay"; 67f126890aSEmmanuel Vadot 68f126890aSEmmanuel Vadot fixed-link { 69f126890aSEmmanuel Vadot full-duplex; 70f126890aSEmmanuel Vadot pause; 71f126890aSEmmanuel Vadot speed = <1000>; 72f126890aSEmmanuel Vadot }; 73f126890aSEmmanuel Vadot}; 74f126890aSEmmanuel Vadot 75f126890aSEmmanuel Vadot&mdio { 76f126890aSEmmanuel Vadot pinctrl-names = "default"; 77f126890aSEmmanuel Vadot pinctrl-0 = <&mdio_pins>; 78f126890aSEmmanuel Vadot status = "okay"; 79f126890aSEmmanuel Vadot 80*8d13bc63SEmmanuel Vadot ethernet-switch@0 { 81f126890aSEmmanuel Vadot compatible = "marvell,mv88e6190"; 82f126890aSEmmanuel Vadot #interrupt-cells = <2>; 83f126890aSEmmanuel Vadot interrupt-controller; 84f126890aSEmmanuel Vadot interrupt-parent = <&gpio1>; 85f126890aSEmmanuel Vadot interrupts = <7 IRQ_TYPE_LEVEL_LOW>; 86f126890aSEmmanuel Vadot pinctrl-0 = <&switch_interrupt_pins>; 87f126890aSEmmanuel Vadot pinctrl-names = "default"; 88f126890aSEmmanuel Vadot reg = <0>; 89f126890aSEmmanuel Vadot 90f126890aSEmmanuel Vadot mdio { 91f126890aSEmmanuel Vadot #address-cells = <1>; 92f126890aSEmmanuel Vadot #size-cells = <0>; 93f126890aSEmmanuel Vadot 94*8d13bc63SEmmanuel Vadot switch0phy1: ethernet-phy@1 { 95f126890aSEmmanuel Vadot reg = <0x1>; 96f126890aSEmmanuel Vadot }; 97f126890aSEmmanuel Vadot 98*8d13bc63SEmmanuel Vadot switch0phy2: ethernet-phy@2 { 99f126890aSEmmanuel Vadot reg = <0x2>; 100f126890aSEmmanuel Vadot }; 101f126890aSEmmanuel Vadot 102*8d13bc63SEmmanuel Vadot switch0phy3: ethernet-phy@3 { 103f126890aSEmmanuel Vadot reg = <0x3>; 104f126890aSEmmanuel Vadot }; 105f126890aSEmmanuel Vadot 106*8d13bc63SEmmanuel Vadot switch0phy4: ethernet-phy@4 { 107f126890aSEmmanuel Vadot reg = <0x4>; 108f126890aSEmmanuel Vadot }; 109f126890aSEmmanuel Vadot 110*8d13bc63SEmmanuel Vadot switch0phy5: ethernet-phy@5 { 111f126890aSEmmanuel Vadot reg = <0x5>; 112f126890aSEmmanuel Vadot }; 113f126890aSEmmanuel Vadot 114*8d13bc63SEmmanuel Vadot switch0phy6: ethernet-phy@6 { 115f126890aSEmmanuel Vadot reg = <0x6>; 116f126890aSEmmanuel Vadot }; 117f126890aSEmmanuel Vadot 118*8d13bc63SEmmanuel Vadot switch0phy7: ethernet-phy@7 { 119f126890aSEmmanuel Vadot reg = <0x7>; 120f126890aSEmmanuel Vadot }; 121f126890aSEmmanuel Vadot 122*8d13bc63SEmmanuel Vadot switch0phy8: ethernet-phy@8 { 123f126890aSEmmanuel Vadot reg = <0x8>; 124f126890aSEmmanuel Vadot }; 125f126890aSEmmanuel Vadot }; 126f126890aSEmmanuel Vadot 127f126890aSEmmanuel Vadot mdio-external { 128f126890aSEmmanuel Vadot compatible = "marvell,mv88e6xxx-mdio-external"; 129f126890aSEmmanuel Vadot #address-cells = <1>; 130f126890aSEmmanuel Vadot #size-cells = <0>; 131f126890aSEmmanuel Vadot 132f126890aSEmmanuel Vadot phy1: ethernet-phy@b { 133f126890aSEmmanuel Vadot reg = <0xb>; 134f126890aSEmmanuel Vadot compatible = "ethernet-phy-ieee802.3-c45"; 135f126890aSEmmanuel Vadot }; 136f126890aSEmmanuel Vadot 137f126890aSEmmanuel Vadot phy2: ethernet-phy@c { 138f126890aSEmmanuel Vadot reg = <0xc>; 139f126890aSEmmanuel Vadot compatible = "ethernet-phy-ieee802.3-c45"; 140f126890aSEmmanuel Vadot }; 141f126890aSEmmanuel Vadot }; 142f126890aSEmmanuel Vadot 143*8d13bc63SEmmanuel Vadot ethernet-ports { 144f126890aSEmmanuel Vadot #address-cells = <1>; 145f126890aSEmmanuel Vadot #size-cells = <0>; 146f126890aSEmmanuel Vadot 147*8d13bc63SEmmanuel Vadot ethernet-port@0 { 148f126890aSEmmanuel Vadot ethernet = <ð0>; 149f126890aSEmmanuel Vadot phy-mode = "rgmii"; 150f126890aSEmmanuel Vadot reg = <0>; 151f126890aSEmmanuel Vadot 152f126890aSEmmanuel Vadot fixed-link { 153f126890aSEmmanuel Vadot full-duplex; 154f126890aSEmmanuel Vadot pause; 155f126890aSEmmanuel Vadot speed = <1000>; 156f126890aSEmmanuel Vadot }; 157f126890aSEmmanuel Vadot }; 158f126890aSEmmanuel Vadot 159*8d13bc63SEmmanuel Vadot ethernet-port@1 { 160f126890aSEmmanuel Vadot label = "lan1"; 161f126890aSEmmanuel Vadot phy-handle = <&switch0phy1>; 162f126890aSEmmanuel Vadot reg = <1>; 163f126890aSEmmanuel Vadot }; 164f126890aSEmmanuel Vadot 165*8d13bc63SEmmanuel Vadot ethernet-port@2 { 166f126890aSEmmanuel Vadot label = "lan2"; 167f126890aSEmmanuel Vadot phy-handle = <&switch0phy2>; 168f126890aSEmmanuel Vadot reg = <2>; 169f126890aSEmmanuel Vadot }; 170f126890aSEmmanuel Vadot 171*8d13bc63SEmmanuel Vadot ethernet-port@3 { 172f126890aSEmmanuel Vadot label = "lan3"; 173f126890aSEmmanuel Vadot phy-handle = <&switch0phy3>; 174f126890aSEmmanuel Vadot reg = <3>; 175f126890aSEmmanuel Vadot }; 176f126890aSEmmanuel Vadot 177*8d13bc63SEmmanuel Vadot ethernet-port@4 { 178f126890aSEmmanuel Vadot label = "lan4"; 179f126890aSEmmanuel Vadot phy-handle = <&switch0phy4>; 180f126890aSEmmanuel Vadot reg = <4>; 181f126890aSEmmanuel Vadot }; 182f126890aSEmmanuel Vadot 183*8d13bc63SEmmanuel Vadot ethernet-port@5 { 184f126890aSEmmanuel Vadot label = "lan5"; 185f126890aSEmmanuel Vadot phy-handle = <&switch0phy5>; 186f126890aSEmmanuel Vadot reg = <5>; 187f126890aSEmmanuel Vadot }; 188f126890aSEmmanuel Vadot 189*8d13bc63SEmmanuel Vadot ethernet-port@6 { 190f126890aSEmmanuel Vadot label = "lan6"; 191f126890aSEmmanuel Vadot phy-handle = <&switch0phy6>; 192f126890aSEmmanuel Vadot reg = <6>; 193f126890aSEmmanuel Vadot }; 194f126890aSEmmanuel Vadot 195*8d13bc63SEmmanuel Vadot ethernet-port@7 { 196f126890aSEmmanuel Vadot label = "lan7"; 197f126890aSEmmanuel Vadot phy-handle = <&switch0phy7>; 198f126890aSEmmanuel Vadot reg = <7>; 199f126890aSEmmanuel Vadot }; 200f126890aSEmmanuel Vadot 201*8d13bc63SEmmanuel Vadot ethernet-port@8 { 202f126890aSEmmanuel Vadot label = "lan8"; 203f126890aSEmmanuel Vadot phy-handle = <&switch0phy8>; 204f126890aSEmmanuel Vadot reg = <8>; 205f126890aSEmmanuel Vadot }; 206f126890aSEmmanuel Vadot 207*8d13bc63SEmmanuel Vadot ethernet-port@9 { 208f126890aSEmmanuel Vadot /* 88X3310P external phy */ 209f126890aSEmmanuel Vadot label = "lan9"; 210f126890aSEmmanuel Vadot phy-handle = <&phy1>; 211f126890aSEmmanuel Vadot phy-mode = "xaui"; 212f126890aSEmmanuel Vadot reg = <9>; 213f126890aSEmmanuel Vadot }; 214f126890aSEmmanuel Vadot 215*8d13bc63SEmmanuel Vadot ethernet-port@a { 216f126890aSEmmanuel Vadot /* 88X3310P external phy */ 217f126890aSEmmanuel Vadot label = "lan10"; 218f126890aSEmmanuel Vadot phy-handle = <&phy2>; 219f126890aSEmmanuel Vadot phy-mode = "xaui"; 220f126890aSEmmanuel Vadot reg = <0xa>; 221f126890aSEmmanuel Vadot }; 222f126890aSEmmanuel Vadot }; 223f126890aSEmmanuel Vadot }; 224f126890aSEmmanuel Vadot}; 225f126890aSEmmanuel Vadot 226f126890aSEmmanuel Vadot&pinctrl { 227f126890aSEmmanuel Vadot front_button_pins: front-button-pins { 228f126890aSEmmanuel Vadot marvell,pins = "mpp38"; 229f126890aSEmmanuel Vadot marvell,function = "gpio"; 230f126890aSEmmanuel Vadot }; 231f126890aSEmmanuel Vadot 232f126890aSEmmanuel Vadot switch_interrupt_pins: switch-interrupt-pins { 233f126890aSEmmanuel Vadot marvell,pins = "mpp39"; 234f126890aSEmmanuel Vadot marvell,function = "gpio"; 235f126890aSEmmanuel Vadot }; 236f126890aSEmmanuel Vadot}; 237f126890aSEmmanuel Vadot 238f126890aSEmmanuel Vadot&spi0 { 239f126890aSEmmanuel Vadot pinctrl-0 = <&spi0_pins>; 240f126890aSEmmanuel Vadot pinctrl-names = "default"; 241f126890aSEmmanuel Vadot status = "okay"; 242f126890aSEmmanuel Vadot 243f126890aSEmmanuel Vadot flash@0 { 244f126890aSEmmanuel Vadot #address-cells = <1>; 245f126890aSEmmanuel Vadot #size-cells = <1>; 246f126890aSEmmanuel Vadot compatible = "jedec,spi-nor"; 247f126890aSEmmanuel Vadot reg = <0>; /* Chip select 0 */ 248f126890aSEmmanuel Vadot spi-max-frequency = <3000000>; 249f126890aSEmmanuel Vadot 250f126890aSEmmanuel Vadot partitions { 251f126890aSEmmanuel Vadot compatible = "fixed-partitions"; 252f126890aSEmmanuel Vadot #address-cells = <1>; 253f126890aSEmmanuel Vadot #size-cells = <1>; 254f126890aSEmmanuel Vadot 255f126890aSEmmanuel Vadot partition@0 { 256f126890aSEmmanuel Vadot label = "boot"; 257f126890aSEmmanuel Vadot read-only; 258f126890aSEmmanuel Vadot reg = <0x00000000 0x00100000>; 259f126890aSEmmanuel Vadot }; 260f126890aSEmmanuel Vadot 261f126890aSEmmanuel Vadot partition@100000 { 262f126890aSEmmanuel Vadot label = "env"; 263f126890aSEmmanuel Vadot reg = <0x00100000 0x00010000>; 264f126890aSEmmanuel Vadot }; 265f126890aSEmmanuel Vadot 266f126890aSEmmanuel Vadot partition@200000 { 267f126890aSEmmanuel Vadot label = "rsv"; 268f126890aSEmmanuel Vadot reg = <0x00110000 0x00010000>; 269f126890aSEmmanuel Vadot }; 270f126890aSEmmanuel Vadot 271f126890aSEmmanuel Vadot partition@300000 { 272f126890aSEmmanuel Vadot label = "image0"; 273f126890aSEmmanuel Vadot reg = <0x00120000 0x00900000>; 274f126890aSEmmanuel Vadot }; 275f126890aSEmmanuel Vadot 276f126890aSEmmanuel Vadot partition@400000 { 277f126890aSEmmanuel Vadot label = "config"; 278f126890aSEmmanuel Vadot reg = <0x00a20000 0x00300000>; 279f126890aSEmmanuel Vadot }; 280f126890aSEmmanuel Vadot 281f126890aSEmmanuel Vadot partition@480000 { 282f126890aSEmmanuel Vadot label = "debug"; 283f126890aSEmmanuel Vadot reg = <0x00d20000 0x002e0000>; 284f126890aSEmmanuel Vadot }; 285f126890aSEmmanuel Vadot }; 286f126890aSEmmanuel Vadot }; 287f126890aSEmmanuel Vadot}; 288f126890aSEmmanuel Vadot 289f126890aSEmmanuel Vadot&uart0 { 290f126890aSEmmanuel Vadot pinctrl-0 = <&uart0_pins>; 291f126890aSEmmanuel Vadot pinctrl-names = "default"; 292f126890aSEmmanuel Vadot status = "okay"; 293f126890aSEmmanuel Vadot}; 294