0001 // SPDX-License-Identifier: (GPL-2.0 OR MIT)
0002 /*
0003 * Device Tree include file for Armada 385 based Linksys boards
0004 *
0005 * Copyright (C) 2015 Imre Kaloz <kaloz@openwrt.org>
0006 */
0007
0008 #include <dt-bindings/gpio/gpio.h>
0009 #include <dt-bindings/input/input.h>
0010 #include "armada-385.dtsi"
0011
0012 / {
0013 model = "Linksys boards based on Armada 385";
0014 compatible = "linksys,armada385", "marvell,armada385",
0015 "marvell,armada380";
0016
0017 chosen {
0018 stdout-path = "serial0:115200n8";
0019 };
0020
0021 memory {
0022 device_type = "memory";
0023 reg = <0x00000000 0x20000000>; /* 512 MiB */
0024 };
0025
0026 soc {
0027 ranges = <MBUS_ID(0xf0, 0x01) 0 0xf1000000 0x100000
0028 MBUS_ID(0x01, 0x1d) 0 0xfff00000 0x100000
0029 MBUS_ID(0x09, 0x19) 0 0xf1100000 0x10000
0030 MBUS_ID(0x09, 0x15) 0 0xf1110000 0x10000
0031 MBUS_ID(0x0c, 0x04) 0 0xf1200000 0x100000>;
0032 };
0033
0034 usb3_1_phy: usb3_1-phy {
0035 compatible = "usb-nop-xceiv";
0036 vcc-supply = <&usb3_1_vbus>;
0037 #phy-cells = <0>;
0038 };
0039
0040 usb3_1_vbus: usb3_1-vbus {
0041 compatible = "regulator-fixed";
0042 pinctrl-names = "default";
0043 pinctrl-0 = <&usb3_1_vbus_pins>;
0044 regulator-name = "usb3_1-vbus";
0045 regulator-min-microvolt = <5000000>;
0046 regulator-max-microvolt = <5000000>;
0047 enable-active-high;
0048 gpio = <&gpio1 18 GPIO_ACTIVE_HIGH>;
0049 };
0050
0051 gpio_keys: gpio-keys {
0052 compatible = "gpio-keys";
0053 pinctrl-0 = <&gpio_keys_pins>;
0054 pinctrl-names = "default";
0055
0056 button-wps {
0057 label = "WPS";
0058 linux,code = <KEY_WPS_BUTTON>;
0059 gpios = <&gpio0 24 GPIO_ACTIVE_LOW>;
0060 };
0061
0062 button-reset {
0063 label = "Factory Reset Button";
0064 linux,code = <KEY_RESTART>;
0065 gpios = <&gpio0 29 GPIO_ACTIVE_LOW>;
0066 };
0067 };
0068
0069 gpio_leds: gpio-leds {
0070 compatible = "gpio-leds";
0071 pinctrl-0 = <&gpio_leds_pins>;
0072 pinctrl-names = "default";
0073
0074 power {
0075 gpios = <&gpio1 23 GPIO_ACTIVE_HIGH>;
0076 default-state = "on";
0077 };
0078
0079 sata {
0080 gpios = <&gpio1 22 GPIO_ACTIVE_LOW>;
0081 default-state = "off";
0082 linux,default-trigger = "disk-activity";
0083 };
0084 };
0085 };
0086
0087 &ahci0 {
0088 status = "okay";
0089 };
0090
0091 &bm {
0092 status = "okay";
0093 };
0094
0095 &bm_bppi {
0096 status = "okay";
0097 };
0098
0099 ð0 {
0100 status = "okay";
0101 phy-mode = "rgmii-id";
0102 buffer-manager = <&bm>;
0103 bm,pool-long = <0>;
0104 bm,pool-short = <1>;
0105 fixed-link {
0106 speed = <1000>;
0107 full-duplex;
0108 };
0109 };
0110
0111 ð2 {
0112 status = "okay";
0113 phy-mode = "sgmii";
0114 buffer-manager = <&bm>;
0115 bm,pool-long = <2>;
0116 bm,pool-short = <3>;
0117 fixed-link {
0118 speed = <1000>;
0119 full-duplex;
0120 };
0121 };
0122
0123 &i2c0 {
0124 pinctrl-names = "default";
0125 pinctrl-0 = <&i2c0_pins>;
0126 status = "okay";
0127
0128 tmp421@4c {
0129 compatible = "ti,tmp421";
0130 reg = <0x4c>;
0131 };
0132
0133 expander0: pca9635@68 {
0134 #address-cells = <1>;
0135 #size-cells = <0>;
0136 compatible = "nxp,pca9635";
0137 reg = <0x68>;
0138 };
0139 };
0140
0141 &nand_controller {
0142 /* 128MiB or 256MiB */
0143 status = "okay";
0144 #address-cells = <1>;
0145 #size-cells = <0>;
0146
0147 nand: nand@0 {
0148 reg = <0>;
0149 label = "pxa3xx_nand-0";
0150 nand-rb = <0>;
0151 nand-ecc-strength = <4>;
0152 nand-ecc-step-size = <512>;
0153 marvell,nand-keep-config;
0154 nand-on-flash-bbt;
0155 };
0156 };
0157
0158 &mdio {
0159 status = "okay";
0160
0161 switch@0 {
0162 compatible = "marvell,mv88e6085";
0163 #address-cells = <1>;
0164 #size-cells = <0>;
0165 reg = <0>;
0166
0167 ports {
0168 #address-cells = <1>;
0169 #size-cells = <0>;
0170
0171 port@0 {
0172 reg = <0>;
0173 label = "lan4";
0174 };
0175
0176 port@1 {
0177 reg = <1>;
0178 label = "lan3";
0179 };
0180
0181 port@2 {
0182 reg = <2>;
0183 label = "lan2";
0184 };
0185
0186 port@3 {
0187 reg = <3>;
0188 label = "lan1";
0189 };
0190
0191 port@4 {
0192 reg = <4>;
0193 label = "wan";
0194 };
0195
0196 port@5 {
0197 reg = <5>;
0198 label = "cpu";
0199 ethernet = <ð2>;
0200
0201 fixed-link {
0202 speed = <1000>;
0203 full-duplex;
0204 };
0205 };
0206 };
0207 };
0208 };
0209
0210 &pciec {
0211 status = "okay";
0212 };
0213
0214 &pcie1 {
0215 /* Marvell 88W8864, 5GHz-only */
0216 status = "okay";
0217 };
0218
0219 &pcie2 {
0220 /* Marvell 88W8864, 2GHz-only */
0221 status = "okay";
0222 };
0223
0224 &pinctrl {
0225 gpio_keys_pins: gpio-keys-pins {
0226 /* mpp24: wps, mpp29: reset */
0227 marvell,pins = "mpp24", "mpp29";
0228 marvell,function = "gpio";
0229 };
0230
0231 gpio_leds_pins: gpio-leds-pins {
0232 /* mpp54: sata, mpp55: power */
0233 marvell,pins = "mpp54", "mpp55";
0234 marvell,function = "gpio";
0235 };
0236
0237 usb3_1_vbus_pins: usb3_1-vbus-pins {
0238 marvell,pins = "mpp50";
0239 marvell,function = "gpio";
0240 };
0241 };
0242
0243 &spi0 {
0244 status = "disabled";
0245 };
0246
0247 &uart0 {
0248 /* J10: VCC, NC, RX, NC, TX, GND */
0249 status = "okay";
0250 };
0251
0252 &usb0 {
0253 /* USB part of the eSATA/USB 2.0 port */
0254 status = "okay";
0255 };
0256
0257 &usb3_1 {
0258 status = "okay";
0259 usb-phy = <&usb3_1_phy>;
0260 };
0261
0262 &rtc {
0263 /* No crystal connected to the internal RTC */
0264 status = "disabled";
0265 };