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