1/* 2 * Device Tree include file for Armada 385 based Linksys boards 3 * 4 * Copyright (C) 2015 Imre Kaloz <kaloz@openwrt.org> 5 * 6 * 7 * This file is dual-licensed: you can use it either under the terms 8 * of the GPL or the X11 license, at your option. Note that this dual 9 * licensing only applies to this file, and not this project as a 10 * whole. 11 * 12 * a) This file is licensed under the terms of the GNU General Public 13 * License version 2. This program is licensed "as is" without 14 * any warranty of any kind, whether express or implied. 15 * 16 * Or, alternatively, 17 * 18 * b) Permission is hereby granted, free of charge, to any person 19 * obtaining a copy of this software and associated documentation 20 * files (the "Software"), to deal in the Software without 21 * restriction, including without limitation the rights to use, 22 * copy, modify, merge, publish, distribute, sublicense, and/or 23 * sell copies of the Software, and to permit persons to whom the 24 * Software is furnished to do so, subject to the following 25 * conditions: 26 * 27 * The above copyright notice and this permission notice shall be 28 * included in all copies or substantial portions of the Software. 29 * 30 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 31 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 32 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 33 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 34 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 35 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 36 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 37 * OTHER DEALINGS IN THE SOFTWARE. 38 */ 39 40#include <dt-bindings/gpio/gpio.h> 41#include <dt-bindings/input/input.h> 42#include "armada-385.dtsi" 43 44/ { 45 model = "Linksys boards based on Armada 385"; 46 compatible = "linksys,armada385", "marvell,armada385", 47 "marvell,armada380"; 48 49 chosen { 50 stdout-path = "serial0:115200n8"; 51 }; 52 53 memory { 54 device_type = "memory"; 55 reg = <0x00000000 0x20000000>; /* 512 MiB */ 56 }; 57 58 soc { 59 ranges = <MBUS_ID(0xf0, 0x01) 0 0xf1000000 0x100000 60 MBUS_ID(0x01, 0x1d) 0 0xfff00000 0x100000 61 MBUS_ID(0x09, 0x19) 0 0xf1100000 0x10000 62 MBUS_ID(0x09, 0x15) 0 0xf1110000 0x10000 63 MBUS_ID(0x0c, 0x04) 0 0xf1200000 0x100000>; 64 }; 65 66 usb3_1_phy: usb3_1-phy { 67 compatible = "usb-nop-xceiv"; 68 vcc-supply = <&usb3_1_vbus>; 69 }; 70 71 usb3_1_vbus: usb3_1-vbus { 72 compatible = "regulator-fixed"; 73 pinctrl-names = "default"; 74 pinctrl-0 = <&usb3_1_vbus_pins>; 75 regulator-name = "usb3_1-vbus"; 76 regulator-min-microvolt = <5000000>; 77 regulator-max-microvolt = <5000000>; 78 enable-active-high; 79 gpio = <&gpio1 18 GPIO_ACTIVE_HIGH>; 80 }; 81 82 gpio_keys: gpio-keys { 83 compatible = "gpio-keys"; 84 pinctrl-0 = <&gpio_keys_pins>; 85 pinctrl-names = "default"; 86 87 wps { 88 label = "WPS"; 89 linux,code = <KEY_WPS_BUTTON>; 90 gpios = <&gpio0 24 GPIO_ACTIVE_LOW>; 91 }; 92 93 reset { 94 label = "Factory Reset Button"; 95 linux,code = <KEY_RESTART>; 96 gpios = <&gpio0 29 GPIO_ACTIVE_LOW>; 97 }; 98 }; 99 100 gpio_leds: gpio-leds { 101 compatible = "gpio-leds"; 102 pinctrl-0 = <&gpio_leds_pins>; 103 pinctrl-names = "default"; 104 105 power { 106 gpios = <&gpio1 23 GPIO_ACTIVE_HIGH>; 107 default-state = "on"; 108 }; 109 110 sata { 111 gpios = <&gpio1 22 GPIO_ACTIVE_LOW>; 112 default-state = "off"; 113 linux,default-trigger = "disk-activity"; 114 }; 115 }; 116}; 117 118&ahci0 { 119 status = "okay"; 120}; 121 122&bm { 123 status = "okay"; 124}; 125 126&bm_bppi { 127 status = "okay"; 128}; 129 130ð0 { 131 status = "okay"; 132 phy-mode = "rgmii-id"; 133 buffer-manager = <&bm>; 134 bm,pool-long = <0>; 135 bm,pool-short = <1>; 136 fixed-link { 137 speed = <1000>; 138 full-duplex; 139 }; 140}; 141 142ð2 { 143 status = "okay"; 144 phy-mode = "sgmii"; 145 buffer-manager = <&bm>; 146 bm,pool-long = <2>; 147 bm,pool-short = <3>; 148 fixed-link { 149 speed = <1000>; 150 full-duplex; 151 }; 152}; 153 154&i2c0 { 155 pinctrl-names = "default"; 156 pinctrl-0 = <&i2c0_pins>; 157 status = "okay"; 158 159 tmp421@4c { 160 compatible = "ti,tmp421"; 161 reg = <0x4c>; 162 }; 163 164 expander0: pca9635@68 { 165 #address-cells = <1>; 166 #size-cells = <0>; 167 compatible = "nxp,pca9635"; 168 reg = <0x68>; 169 }; 170}; 171 172&nand { 173 /* 128MiB or 256MiB */ 174 status = "okay"; 175 num-cs = <1>; 176 marvell,nand-keep-config; 177 marvell,nand-enable-arbiter; 178 nand-on-flash-bbt; 179}; 180 181&mdio { 182 status = "okay"; 183 184 switch@0 { 185 compatible = "marvell,mv88e6085"; 186 #address-cells = <1>; 187 #size-cells = <0>; 188 reg = <0>; 189 190 ports { 191 #address-cells = <1>; 192 #size-cells = <0>; 193 194 port@0 { 195 reg = <0>; 196 label = "lan4"; 197 }; 198 199 port@1 { 200 reg = <1>; 201 label = "lan3"; 202 }; 203 204 port@2 { 205 reg = <2>; 206 label = "lan2"; 207 }; 208 209 port@3 { 210 reg = <3>; 211 label = "lan1"; 212 }; 213 214 port@4 { 215 reg = <4>; 216 label = "wan"; 217 }; 218 219 port@5 { 220 reg = <5>; 221 label = "cpu"; 222 ethernet = <ð2>; 223 224 fixed-link { 225 speed = <1000>; 226 full-duplex; 227 }; 228 }; 229 }; 230 }; 231}; 232 233&pciec { 234 status = "okay"; 235}; 236 237&pcie1 { 238 /* Marvell 88W8864, 5GHz-only */ 239 status = "okay"; 240}; 241 242&pcie2 { 243 /* Marvell 88W8864, 2GHz-only */ 244 status = "okay"; 245}; 246 247&pinctrl { 248 gpio_keys_pins: gpio-keys-pins { 249 /* mpp24: wps, mpp29: reset */ 250 marvell,pins = "mpp24", "mpp29"; 251 marvell,function = "gpio"; 252 }; 253 254 gpio_leds_pins: gpio-leds-pins { 255 /* mpp54: sata, mpp55: power */ 256 marvell,pins = "mpp54", "mpp55"; 257 marvell,function = "gpio"; 258 }; 259 260 usb3_1_vbus_pins: usb3_1-vbus-pins { 261 marvell,pins = "mpp50"; 262 marvell,function = "gpio"; 263 }; 264}; 265 266&spi0 { 267 status = "disabled"; 268}; 269 270&uart0 { 271 /* J10: VCC, NC, RX, NC, TX, GND */ 272 status = "okay"; 273}; 274 275&usb0 { 276 /* USB part of the eSATA/USB 2.0 port */ 277 status = "okay"; 278}; 279 280&usb3_1 { 281 status = "okay"; 282 usb-phy = <&usb3_1_phy>; 283}; 284