1724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0-only 2724ba675SRob Herring// Copyright (C) 2016 Jamie Lentin <jm@lentin.co.uk> 3724ba675SRob Herring 4724ba675SRob Herring/dts-v1/; 5724ba675SRob Herring 6724ba675SRob Herring#include <dt-bindings/gpio/gpio.h> 7724ba675SRob Herring#include <dt-bindings/input/input.h> 8724ba675SRob Herring#include "orion5x-mv88f5181.dtsi" 9724ba675SRob Herring 10724ba675SRob Herring/ { 11724ba675SRob Herring model = "Netgear WNR854-t"; 12724ba675SRob Herring compatible = "netgear,wnr854t", "marvell,orion5x-88f5181", 13724ba675SRob Herring "marvell,orion5x"; 14724ba675SRob Herring aliases { 15724ba675SRob Herring serial0 = &uart0; 16724ba675SRob Herring }; 17724ba675SRob Herring 18724ba675SRob Herring memory { 19724ba675SRob Herring device_type = "memory"; 20724ba675SRob Herring reg = <0x00000000 0x2000000>; /* 32 MB */ 21724ba675SRob Herring }; 22724ba675SRob Herring 23724ba675SRob Herring chosen { 24724ba675SRob Herring stdout-path = "serial0:115200n8"; 25724ba675SRob Herring }; 26724ba675SRob Herring 27724ba675SRob Herring soc { 28724ba675SRob Herring ranges = <MBUS_ID(0xf0, 0x01) 0 0xf1000000 0x100000>, 29724ba675SRob Herring <MBUS_ID(0x09, 0x00) 0 0xf2200000 0x800>, 30724ba675SRob Herring <MBUS_ID(0x01, 0x0f) 0 0xf4000000 0x800000>; 31724ba675SRob Herring }; 32724ba675SRob Herring 33724ba675SRob Herring gpio-keys { 34724ba675SRob Herring compatible = "gpio-keys"; 35724ba675SRob Herring pinctrl-0 = <&pmx_reset_button>; 36724ba675SRob Herring pinctrl-names = "default"; 37724ba675SRob Herring 38*85860863SKrzysztof Kozlowski key-reset { 39724ba675SRob Herring label = "Reset Button"; 40724ba675SRob Herring linux,code = <KEY_RESTART>; 41724ba675SRob Herring gpios = <&gpio0 1 GPIO_ACTIVE_LOW>; 42724ba675SRob Herring }; 43724ba675SRob Herring }; 44724ba675SRob Herring 45724ba675SRob Herring gpio-leds { 46724ba675SRob Herring compatible = "gpio-leds"; 47724ba675SRob Herring pinctrl-0 = <&pmx_power_led &pmx_power_led_blink &pmx_wan_led>; 48724ba675SRob Herring pinctrl-names = "default"; 49724ba675SRob Herring 50724ba675SRob Herring led@0 { 51724ba675SRob Herring label = "wnr854t:green:power"; 52724ba675SRob Herring gpios = <&gpio0 0 GPIO_ACTIVE_LOW>; 53724ba675SRob Herring }; 54724ba675SRob Herring 55724ba675SRob Herring led@1 { 56724ba675SRob Herring label = "wnr854t:blink:power"; 57724ba675SRob Herring gpios = <&gpio0 2 GPIO_ACTIVE_LOW>; 58724ba675SRob Herring }; 59724ba675SRob Herring 60724ba675SRob Herring led@2 { 61724ba675SRob Herring label = "wnr854t:green:wan"; 62724ba675SRob Herring gpios = <&gpio0 3 GPIO_ACTIVE_LOW>; 63724ba675SRob Herring }; 64724ba675SRob Herring }; 65724ba675SRob Herring}; 66724ba675SRob Herring 67724ba675SRob Herring&devbus_bootcs { 68724ba675SRob Herring status = "okay"; 69724ba675SRob Herring 70724ba675SRob Herring devbus,keep-config; 71724ba675SRob Herring 72724ba675SRob Herring flash@0 { 73724ba675SRob Herring compatible = "cfi-flash"; 74724ba675SRob Herring reg = <0 0x800000>; 75724ba675SRob Herring bank-width = <2>; 76724ba675SRob Herring 77724ba675SRob Herring partitions { 78724ba675SRob Herring compatible = "fixed-partitions"; 79724ba675SRob Herring #address-cells = <1>; 80724ba675SRob Herring #size-cells = <1>; 81724ba675SRob Herring 82724ba675SRob Herring partition@0 { 83724ba675SRob Herring label = "kernel"; 84724ba675SRob Herring reg = <0x0 0x100000>; 85724ba675SRob Herring }; 86724ba675SRob Herring 87724ba675SRob Herring partition@100000 { 88724ba675SRob Herring label = "rootfs"; 89724ba675SRob Herring reg = <0x100000 0x660000>; 90724ba675SRob Herring }; 91724ba675SRob Herring 92724ba675SRob Herring partition@760000 { 93724ba675SRob Herring label = "uboot_env"; 94724ba675SRob Herring reg = <0x760000 0x20000>; 95724ba675SRob Herring }; 96724ba675SRob Herring 97724ba675SRob Herring partition@780000 { 98724ba675SRob Herring label = "uboot"; 99724ba675SRob Herring reg = <0x780000 0x80000>; 100724ba675SRob Herring read-only; 101724ba675SRob Herring }; 102724ba675SRob Herring }; 103724ba675SRob Herring }; 104724ba675SRob Herring}; 105724ba675SRob Herring 106724ba675SRob Herring&mdio { 107724ba675SRob Herring status = "okay"; 108724ba675SRob Herring 109724ba675SRob Herring switch: switch@0 { 110724ba675SRob Herring compatible = "marvell,mv88e6085"; 111724ba675SRob Herring #address-cells = <1>; 112724ba675SRob Herring #size-cells = <0>; 113724ba675SRob Herring reg = <0>; 114724ba675SRob Herring dsa,member = <0 0>; 115724ba675SRob Herring 116724ba675SRob Herring ports { 117724ba675SRob Herring #address-cells = <1>; 118724ba675SRob Herring #size-cells = <0>; 119724ba675SRob Herring 120724ba675SRob Herring port@0 { 121724ba675SRob Herring reg = <0>; 122724ba675SRob Herring label = "lan3"; 123724ba675SRob Herring phy-handle = <&lan3phy>; 124724ba675SRob Herring }; 125724ba675SRob Herring 126724ba675SRob Herring port@1 { 127724ba675SRob Herring reg = <1>; 128724ba675SRob Herring label = "lan4"; 129724ba675SRob Herring phy-handle = <&lan4phy>; 130724ba675SRob Herring }; 131724ba675SRob Herring 132724ba675SRob Herring port@2 { 133724ba675SRob Herring reg = <2>; 134724ba675SRob Herring label = "wan"; 135724ba675SRob Herring phy-handle = <&wanphy>; 136724ba675SRob Herring }; 137724ba675SRob Herring 138724ba675SRob Herring port@3 { 139724ba675SRob Herring reg = <3>; 140724ba675SRob Herring ethernet = <ðport>; 141724ba675SRob Herring phy-mode = "rgmii-id"; 142724ba675SRob Herring fixed-link { 143724ba675SRob Herring speed = <1000>; 144724ba675SRob Herring full-duplex; 145724ba675SRob Herring }; 146724ba675SRob Herring }; 147724ba675SRob Herring 148724ba675SRob Herring port@5 { 149724ba675SRob Herring reg = <5>; 150724ba675SRob Herring label = "lan1"; 151724ba675SRob Herring phy-handle = <&lan1phy>; 152724ba675SRob Herring }; 153724ba675SRob Herring 154724ba675SRob Herring port@7 { 155724ba675SRob Herring reg = <7>; 156724ba675SRob Herring label = "lan2"; 157724ba675SRob Herring phy-handle = <&lan2phy>; 158724ba675SRob Herring }; 159724ba675SRob Herring }; 160724ba675SRob Herring 161724ba675SRob Herring mdio { 162724ba675SRob Herring #address-cells = <1>; 163724ba675SRob Herring #size-cells = <0>; 164724ba675SRob Herring 165724ba675SRob Herring lan3phy: ethernet-phy@0 { 166724ba675SRob Herring /* Marvell 88E1121R (port 1) */ 167724ba675SRob Herring compatible = "ethernet-phy-id0141.0cb0", 168724ba675SRob Herring "ethernet-phy-ieee802.3-c22"; 169724ba675SRob Herring reg = <0>; 170724ba675SRob Herring marvell,reg-init = <3 16 0 0x1777 3 17 0 0x15>; 171724ba675SRob Herring }; 172724ba675SRob Herring 173724ba675SRob Herring lan4phy: ethernet-phy@1 { 174724ba675SRob Herring /* Marvell 88E1121R (port 2) */ 175724ba675SRob Herring compatible = "ethernet-phy-id0141.0cb0", 176724ba675SRob Herring "ethernet-phy-ieee802.3-c22"; 177724ba675SRob Herring reg = <1>; 178724ba675SRob Herring marvell,reg-init = <3 16 0 0x1777 3 17 0 0x15>; 179724ba675SRob Herring }; 180724ba675SRob Herring 181724ba675SRob Herring wanphy: ethernet-phy@2 { 182724ba675SRob Herring /* Marvell 88E1121R (port 1) */ 183724ba675SRob Herring compatible = "ethernet-phy-id0141.0cb0", 184724ba675SRob Herring "ethernet-phy-ieee802.3-c22"; 185724ba675SRob Herring reg = <2>; 186724ba675SRob Herring marvell,reg-init = <3 16 0 0x1777 3 17 0 0x15>; 187724ba675SRob Herring }; 188724ba675SRob Herring 189724ba675SRob Herring lan1phy: ethernet-phy@5 { 190724ba675SRob Herring /* Marvell 88E1112 */ 191724ba675SRob Herring compatible = "ethernet-phy-id0141.0cb0", 192724ba675SRob Herring "ethernet-phy-ieee802.3-c22"; 193724ba675SRob Herring reg = <5>; 194724ba675SRob Herring marvell,reg-init = <3 16 0 0x1777 3 17 0 0x15>; 195724ba675SRob Herring }; 196724ba675SRob Herring 197724ba675SRob Herring lan2phy: ethernet-phy@7 { 198724ba675SRob Herring /* Marvell 88E1112 */ 199724ba675SRob Herring compatible = "ethernet-phy-id0141.0cb0", 200724ba675SRob Herring "ethernet-phy-ieee802.3-c22"; 201724ba675SRob Herring reg = <7>; 202724ba675SRob Herring marvell,reg-init = <3 16 0 0x1777 3 17 0 0x15>; 203724ba675SRob Herring }; 204724ba675SRob Herring }; 205724ba675SRob Herring }; 206724ba675SRob Herring}; 207724ba675SRob Herring 208724ba675SRob Herringð { 209724ba675SRob Herring status = "okay"; 210724ba675SRob Herring 211724ba675SRob Herring ethernet-port@0 { 212724ba675SRob Herring /* Hardwired to DSA switch */ 213724ba675SRob Herring speed = <1000>; 214724ba675SRob Herring duplex = <1>; 215724ba675SRob Herring phy-mode = "rgmii"; 216724ba675SRob Herring }; 217724ba675SRob Herring}; 218724ba675SRob Herring 219724ba675SRob Herring&pinctrl { 220724ba675SRob Herring pinctrl-0 = <&pmx_pci_gpios>; 221724ba675SRob Herring pinctrl-names = "default"; 222724ba675SRob Herring 223724ba675SRob Herring pmx_power_led: pmx-power-led { 224724ba675SRob Herring marvell,pins = "mpp0"; 225724ba675SRob Herring marvell,function = "gpio"; 226724ba675SRob Herring }; 227724ba675SRob Herring 228724ba675SRob Herring pmx_reset_button: pmx-reset-button { 229724ba675SRob Herring marvell,pins = "mpp1"; 230724ba675SRob Herring marvell,function = "gpio"; 231724ba675SRob Herring }; 232724ba675SRob Herring 233724ba675SRob Herring pmx_power_led_blink: pmx-power-led-blink { 234724ba675SRob Herring marvell,pins = "mpp2"; 235724ba675SRob Herring marvell,function = "gpio"; 236724ba675SRob Herring }; 237724ba675SRob Herring 238724ba675SRob Herring pmx_wan_led: pmx-wan-led { 239724ba675SRob Herring marvell,pins = "mpp3"; 240724ba675SRob Herring marvell,function = "gpio"; 241724ba675SRob Herring }; 242724ba675SRob Herring 243724ba675SRob Herring pmx_pci_gpios: pmx-pci-gpios { 244724ba675SRob Herring marvell,pins = "mpp4"; 245724ba675SRob Herring marvell,function = "gpio"; 246724ba675SRob Herring }; 247724ba675SRob Herring}; 248724ba675SRob Herring 249724ba675SRob Herring&uart0 { 250724ba675SRob Herring /* Pin 1: Tx, Pin 7: Rx, Pin 8: Gnd */ 251724ba675SRob Herring status = "okay"; 252724ba675SRob Herring}; 253