1/* 2 * Copyright (C) 2016 Jamie Lentin <jm@lentin.co.uk> 3 * 4 * This file is licensed under the terms of the GNU General Public 5 * License version 2. This program is licensed "as is" without any 6 * warranty of any kind, whether express or implied. 7 */ 8 9/dts-v1/; 10 11#include <dt-bindings/gpio/gpio.h> 12#include <dt-bindings/input/input.h> 13#include "orion5x-mv88f5181.dtsi" 14 15/ { 16 model = "Netgear WNR854-t"; 17 compatible = "netgear,wnr854t", "marvell,orion5x-88f5181", 18 "marvell,orion5x"; 19 aliases { 20 serial0 = &uart0; 21 }; 22 23 memory { 24 device_type = "memory"; 25 reg = <0x00000000 0x2000000>; /* 32 MB */ 26 }; 27 28 chosen { 29 stdout-path = "serial0:115200n8"; 30 }; 31 32 soc { 33 ranges = <MBUS_ID(0xf0, 0x01) 0 0xf1000000 0x100000>, 34 <MBUS_ID(0x09, 0x00) 0 0xf2200000 0x800>, 35 <MBUS_ID(0x01, 0x0f) 0 0xf4000000 0x800000>; 36 }; 37 38 gpio-keys { 39 compatible = "gpio-keys"; 40 pinctrl-0 = <&pmx_reset_button>; 41 pinctrl-names = "default"; 42 43 reset { 44 label = "Reset Button"; 45 linux,code = <KEY_RESTART>; 46 gpios = <&gpio0 1 GPIO_ACTIVE_LOW>; 47 }; 48 }; 49 50 gpio-leds { 51 compatible = "gpio-leds"; 52 pinctrl-0 = <&pmx_power_led &pmx_power_led_blink &pmx_wan_led>; 53 pinctrl-names = "default"; 54 55 led@0 { 56 label = "wnr854t:green:power"; 57 gpios = <&gpio0 0 GPIO_ACTIVE_LOW>; 58 }; 59 60 led@1 { 61 label = "wnr854t:blink:power"; 62 gpios = <&gpio0 2 GPIO_ACTIVE_LOW>; 63 }; 64 65 led@2 { 66 label = "wnr854t:green:wan"; 67 gpios = <&gpio0 3 GPIO_ACTIVE_LOW>; 68 }; 69 }; 70}; 71 72&devbus_bootcs { 73 status = "okay"; 74 75 devbus,keep-config; 76 77 flash@0 { 78 compatible = "cfi-flash"; 79 reg = <0 0x800000>; 80 bank-width = <2>; 81 82 partitions { 83 compatible = "fixed-partitions"; 84 #address-cells = <1>; 85 #size-cells = <1>; 86 87 partition@0 { 88 label = "kernel"; 89 reg = <0x0 0x100000>; 90 }; 91 92 partition@100000 { 93 label = "rootfs"; 94 reg = <0x100000 0x660000>; 95 }; 96 97 partition@760000 { 98 label = "uboot_env"; 99 reg = <0x760000 0x20000>; 100 }; 101 102 partition@780000 { 103 label = "uboot"; 104 reg = <0x780000 0x80000>; 105 read-only; 106 }; 107 }; 108 }; 109}; 110 111&mdio { 112 status = "okay"; 113 114 switch: switch@0 { 115 compatible = "marvell,mv88e6085"; 116 #address-cells = <1>; 117 #size-cells = <0>; 118 reg = <0>; 119 dsa,member = <0 0>; 120 121 ports { 122 #address-cells = <1>; 123 #size-cells = <0>; 124 125 port@0 { 126 reg = <0>; 127 label = "lan3"; 128 phy-handle = <&lan3phy>; 129 }; 130 131 port@1 { 132 reg = <1>; 133 label = "lan4"; 134 phy-handle = <&lan4phy>; 135 }; 136 137 port@2 { 138 reg = <2>; 139 label = "wan"; 140 phy-handle = <&wanphy>; 141 }; 142 143 port@3 { 144 reg = <3>; 145 label = "cpu"; 146 ethernet = <ðport>; 147 }; 148 149 port@5 { 150 reg = <5>; 151 label = "lan1"; 152 phy-handle = <&lan1phy>; 153 }; 154 155 port@7 { 156 reg = <7>; 157 label = "lan2"; 158 phy-handle = <&lan2phy>; 159 }; 160 }; 161 162 mdio { 163 #address-cells = <1>; 164 #size-cells = <0>; 165 166 lan3phy: ethernet-phy@0 { 167 /* Marvell 88E1121R (port 1) */ 168 compatible = "ethernet-phy-id0141.0cb0", 169 "ethernet-phy-ieee802.3-c22"; 170 reg = <0>; 171 marvell,reg-init = <3 16 0 0x1777 3 17 0 0x15>; 172 }; 173 174 lan4phy: ethernet-phy@1 { 175 /* Marvell 88E1121R (port 2) */ 176 compatible = "ethernet-phy-id0141.0cb0", 177 "ethernet-phy-ieee802.3-c22"; 178 reg = <1>; 179 marvell,reg-init = <3 16 0 0x1777 3 17 0 0x15>; 180 }; 181 182 wanphy: ethernet-phy@2 { 183 /* Marvell 88E1121R (port 1) */ 184 compatible = "ethernet-phy-id0141.0cb0", 185 "ethernet-phy-ieee802.3-c22"; 186 reg = <2>; 187 marvell,reg-init = <3 16 0 0x1777 3 17 0 0x15>; 188 }; 189 190 lan1phy: ethernet-phy@5 { 191 /* Marvell 88E1112 */ 192 compatible = "ethernet-phy-id0141.0cb0", 193 "ethernet-phy-ieee802.3-c22"; 194 reg = <5>; 195 marvell,reg-init = <3 16 0 0x1777 3 17 0 0x15>; 196 }; 197 198 lan2phy: ethernet-phy@7 { 199 /* Marvell 88E1112 */ 200 compatible = "ethernet-phy-id0141.0cb0", 201 "ethernet-phy-ieee802.3-c22"; 202 reg = <7>; 203 marvell,reg-init = <3 16 0 0x1777 3 17 0 0x15>; 204 }; 205 }; 206 }; 207}; 208 209ð { 210 status = "okay"; 211 212 ethernet-port@0 { 213 /* Hardwired to DSA switch */ 214 speed = <1000>; 215 duplex = <1>; 216 }; 217}; 218 219&pinctrl { 220 pinctrl-0 = <&pmx_pci_gpios>; 221 pinctrl-names = "default"; 222 223 pmx_power_led: pmx-power-led { 224 marvell,pins = "mpp0"; 225 marvell,function = "gpio"; 226 }; 227 228 pmx_reset_button: pmx-reset-button { 229 marvell,pins = "mpp1"; 230 marvell,function = "gpio"; 231 }; 232 233 pmx_power_led_blink: pmx-power-led-blink { 234 marvell,pins = "mpp2"; 235 marvell,function = "gpio"; 236 }; 237 238 pmx_wan_led: pmx-wan-led { 239 marvell,pins = "mpp3"; 240 marvell,function = "gpio"; 241 }; 242 243 pmx_pci_gpios: pmx-pci-gpios { 244 marvell,pins = "mpp4"; 245 marvell,function = "gpio"; 246 }; 247}; 248 249&uart0 { 250 /* Pin 1: Tx, Pin 7: Rx, Pin 8: Gnd */ 251 status = "okay"; 252}; 253