1f126890aSEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0 OR MIT) 2f126890aSEmmanuel Vadot/* 3f126890aSEmmanuel Vadot * Device Tree include file for Armada 385 based Linksys boards 4f126890aSEmmanuel Vadot * 5f126890aSEmmanuel Vadot * Copyright (C) 2015 Imre Kaloz <kaloz@openwrt.org> 6f126890aSEmmanuel Vadot */ 7f126890aSEmmanuel Vadot 8f126890aSEmmanuel Vadot#include <dt-bindings/gpio/gpio.h> 9f126890aSEmmanuel Vadot#include <dt-bindings/input/input.h> 10f126890aSEmmanuel Vadot#include "armada-385.dtsi" 11f126890aSEmmanuel Vadot 12f126890aSEmmanuel Vadot/ { 13f126890aSEmmanuel Vadot model = "Linksys boards based on Armada 385"; 14f126890aSEmmanuel Vadot compatible = "linksys,armada385", "marvell,armada385", 15f126890aSEmmanuel Vadot "marvell,armada380"; 16f126890aSEmmanuel Vadot 17f126890aSEmmanuel Vadot chosen { 18f126890aSEmmanuel Vadot stdout-path = "serial0:115200n8"; 19f126890aSEmmanuel Vadot }; 20f126890aSEmmanuel Vadot 21f126890aSEmmanuel Vadot memory { 22f126890aSEmmanuel Vadot device_type = "memory"; 23f126890aSEmmanuel Vadot reg = <0x00000000 0x20000000>; /* 512 MiB */ 24f126890aSEmmanuel Vadot }; 25f126890aSEmmanuel Vadot 26f126890aSEmmanuel Vadot soc { 27f126890aSEmmanuel Vadot ranges = <MBUS_ID(0xf0, 0x01) 0 0xf1000000 0x100000 28f126890aSEmmanuel Vadot MBUS_ID(0x01, 0x1d) 0 0xfff00000 0x100000 29f126890aSEmmanuel Vadot MBUS_ID(0x09, 0x19) 0 0xf1100000 0x10000 30f126890aSEmmanuel Vadot MBUS_ID(0x09, 0x15) 0 0xf1110000 0x10000 31f126890aSEmmanuel Vadot MBUS_ID(0x0c, 0x04) 0 0xf1200000 0x100000>; 32f126890aSEmmanuel Vadot }; 33f126890aSEmmanuel Vadot 34f126890aSEmmanuel Vadot usb3_1_phy: usb3_1-phy { 35f126890aSEmmanuel Vadot compatible = "usb-nop-xceiv"; 36f126890aSEmmanuel Vadot vcc-supply = <&usb3_1_vbus>; 37f126890aSEmmanuel Vadot #phy-cells = <0>; 38f126890aSEmmanuel Vadot }; 39f126890aSEmmanuel Vadot 40f126890aSEmmanuel Vadot usb3_1_vbus: usb3_1-vbus { 41f126890aSEmmanuel Vadot compatible = "regulator-fixed"; 42f126890aSEmmanuel Vadot pinctrl-names = "default"; 43f126890aSEmmanuel Vadot pinctrl-0 = <&usb3_1_vbus_pins>; 44f126890aSEmmanuel Vadot regulator-name = "usb3_1-vbus"; 45f126890aSEmmanuel Vadot regulator-min-microvolt = <5000000>; 46f126890aSEmmanuel Vadot regulator-max-microvolt = <5000000>; 47f126890aSEmmanuel Vadot enable-active-high; 48f126890aSEmmanuel Vadot gpio = <&gpio1 18 GPIO_ACTIVE_HIGH>; 49f126890aSEmmanuel Vadot }; 50f126890aSEmmanuel Vadot 51f126890aSEmmanuel Vadot gpio_keys: gpio-keys { 52f126890aSEmmanuel Vadot compatible = "gpio-keys"; 53f126890aSEmmanuel Vadot pinctrl-0 = <&gpio_keys_pins>; 54f126890aSEmmanuel Vadot pinctrl-names = "default"; 55f126890aSEmmanuel Vadot 56f126890aSEmmanuel Vadot button-wps { 57f126890aSEmmanuel Vadot label = "WPS"; 58f126890aSEmmanuel Vadot linux,code = <KEY_WPS_BUTTON>; 59f126890aSEmmanuel Vadot gpios = <&gpio0 24 GPIO_ACTIVE_LOW>; 60f126890aSEmmanuel Vadot }; 61f126890aSEmmanuel Vadot 62f126890aSEmmanuel Vadot button-reset { 63f126890aSEmmanuel Vadot label = "Factory Reset Button"; 64f126890aSEmmanuel Vadot linux,code = <KEY_RESTART>; 65f126890aSEmmanuel Vadot gpios = <&gpio0 29 GPIO_ACTIVE_LOW>; 66f126890aSEmmanuel Vadot }; 67f126890aSEmmanuel Vadot }; 68f126890aSEmmanuel Vadot 69f126890aSEmmanuel Vadot gpio_leds: gpio-leds { 70f126890aSEmmanuel Vadot compatible = "gpio-leds"; 71f126890aSEmmanuel Vadot pinctrl-0 = <&gpio_leds_pins>; 72f126890aSEmmanuel Vadot pinctrl-names = "default"; 73f126890aSEmmanuel Vadot 74f126890aSEmmanuel Vadot led-power { 75f126890aSEmmanuel Vadot gpios = <&gpio1 23 GPIO_ACTIVE_HIGH>; 76f126890aSEmmanuel Vadot default-state = "on"; 77f126890aSEmmanuel Vadot }; 78f126890aSEmmanuel Vadot 79f126890aSEmmanuel Vadot led-sata { 80f126890aSEmmanuel Vadot gpios = <&gpio1 22 GPIO_ACTIVE_LOW>; 81f126890aSEmmanuel Vadot default-state = "off"; 82f126890aSEmmanuel Vadot linux,default-trigger = "disk-activity"; 83f126890aSEmmanuel Vadot }; 84f126890aSEmmanuel Vadot }; 85f126890aSEmmanuel Vadot}; 86f126890aSEmmanuel Vadot 87f126890aSEmmanuel Vadot&ahci0 { 88f126890aSEmmanuel Vadot status = "okay"; 89f126890aSEmmanuel Vadot}; 90f126890aSEmmanuel Vadot 91f126890aSEmmanuel Vadot&bm { 92f126890aSEmmanuel Vadot status = "okay"; 93f126890aSEmmanuel Vadot}; 94f126890aSEmmanuel Vadot 95f126890aSEmmanuel Vadot&bm_bppi { 96f126890aSEmmanuel Vadot status = "okay"; 97f126890aSEmmanuel Vadot}; 98f126890aSEmmanuel Vadot 99f126890aSEmmanuel Vadotð0 { 100f126890aSEmmanuel Vadot status = "okay"; 101f126890aSEmmanuel Vadot phy-mode = "rgmii-id"; 102f126890aSEmmanuel Vadot buffer-manager = <&bm>; 103f126890aSEmmanuel Vadot bm,pool-long = <0>; 104f126890aSEmmanuel Vadot bm,pool-short = <1>; 105f126890aSEmmanuel Vadot fixed-link { 106f126890aSEmmanuel Vadot speed = <1000>; 107f126890aSEmmanuel Vadot full-duplex; 108f126890aSEmmanuel Vadot }; 109f126890aSEmmanuel Vadot}; 110f126890aSEmmanuel Vadot 111f126890aSEmmanuel Vadotð2 { 112f126890aSEmmanuel Vadot status = "okay"; 113f126890aSEmmanuel Vadot phy-mode = "sgmii"; 114f126890aSEmmanuel Vadot buffer-manager = <&bm>; 115f126890aSEmmanuel Vadot bm,pool-long = <2>; 116f126890aSEmmanuel Vadot bm,pool-short = <3>; 117f126890aSEmmanuel Vadot fixed-link { 118f126890aSEmmanuel Vadot speed = <1000>; 119f126890aSEmmanuel Vadot full-duplex; 120f126890aSEmmanuel Vadot }; 121f126890aSEmmanuel Vadot}; 122f126890aSEmmanuel Vadot 123f126890aSEmmanuel Vadot&i2c0 { 124f126890aSEmmanuel Vadot pinctrl-names = "default"; 125f126890aSEmmanuel Vadot pinctrl-0 = <&i2c0_pins>; 126f126890aSEmmanuel Vadot status = "okay"; 127f126890aSEmmanuel Vadot 128f126890aSEmmanuel Vadot tmp421@4c { 129f126890aSEmmanuel Vadot compatible = "ti,tmp421"; 130f126890aSEmmanuel Vadot reg = <0x4c>; 131f126890aSEmmanuel Vadot }; 132f126890aSEmmanuel Vadot 133f126890aSEmmanuel Vadot expander0: pca9635@68 { 134f126890aSEmmanuel Vadot #address-cells = <1>; 135f126890aSEmmanuel Vadot #size-cells = <0>; 136f126890aSEmmanuel Vadot compatible = "nxp,pca9635"; 137f126890aSEmmanuel Vadot reg = <0x68>; 138f126890aSEmmanuel Vadot }; 139f126890aSEmmanuel Vadot}; 140f126890aSEmmanuel Vadot 141f126890aSEmmanuel Vadot&nand_controller { 142f126890aSEmmanuel Vadot /* 128MiB or 256MiB */ 143f126890aSEmmanuel Vadot status = "okay"; 144f126890aSEmmanuel Vadot #address-cells = <1>; 145f126890aSEmmanuel Vadot #size-cells = <0>; 146f126890aSEmmanuel Vadot 147f126890aSEmmanuel Vadot nand: nand@0 { 148f126890aSEmmanuel Vadot reg = <0>; 149f126890aSEmmanuel Vadot label = "pxa3xx_nand-0"; 150f126890aSEmmanuel Vadot nand-rb = <0>; 151f126890aSEmmanuel Vadot nand-ecc-strength = <4>; 152f126890aSEmmanuel Vadot nand-ecc-step-size = <512>; 153f126890aSEmmanuel Vadot marvell,nand-keep-config; 154f126890aSEmmanuel Vadot nand-on-flash-bbt; 155f126890aSEmmanuel Vadot }; 156f126890aSEmmanuel Vadot}; 157f126890aSEmmanuel Vadot 158f126890aSEmmanuel Vadot&mdio { 159f126890aSEmmanuel Vadot status = "okay"; 160f126890aSEmmanuel Vadot 161*8d13bc63SEmmanuel Vadot ethernet-switch@0 { 162f126890aSEmmanuel Vadot compatible = "marvell,mv88e6085"; 163f126890aSEmmanuel Vadot reg = <0>; 164f126890aSEmmanuel Vadot 165*8d13bc63SEmmanuel Vadot ethernet-ports { 166f126890aSEmmanuel Vadot #address-cells = <1>; 167f126890aSEmmanuel Vadot #size-cells = <0>; 168f126890aSEmmanuel Vadot 169*8d13bc63SEmmanuel Vadot ethernet-port@0 { 170f126890aSEmmanuel Vadot reg = <0>; 171f126890aSEmmanuel Vadot label = "lan4"; 172f126890aSEmmanuel Vadot }; 173f126890aSEmmanuel Vadot 174*8d13bc63SEmmanuel Vadot ethernet-port@1 { 175f126890aSEmmanuel Vadot reg = <1>; 176f126890aSEmmanuel Vadot label = "lan3"; 177f126890aSEmmanuel Vadot }; 178f126890aSEmmanuel Vadot 179*8d13bc63SEmmanuel Vadot ethernet-port@2 { 180f126890aSEmmanuel Vadot reg = <2>; 181f126890aSEmmanuel Vadot label = "lan2"; 182f126890aSEmmanuel Vadot }; 183f126890aSEmmanuel Vadot 184*8d13bc63SEmmanuel Vadot ethernet-port@3 { 185f126890aSEmmanuel Vadot reg = <3>; 186f126890aSEmmanuel Vadot label = "lan1"; 187f126890aSEmmanuel Vadot }; 188f126890aSEmmanuel Vadot 189*8d13bc63SEmmanuel Vadot ethernet-port@4 { 190f126890aSEmmanuel Vadot reg = <4>; 191f126890aSEmmanuel Vadot label = "wan"; 192f126890aSEmmanuel Vadot }; 193f126890aSEmmanuel Vadot 194*8d13bc63SEmmanuel Vadot ethernet-port@5 { 195f126890aSEmmanuel Vadot reg = <5>; 196f126890aSEmmanuel Vadot phy-mode = "sgmii"; 197f126890aSEmmanuel Vadot ethernet = <ð2>; 198f126890aSEmmanuel Vadot 199f126890aSEmmanuel Vadot fixed-link { 200f126890aSEmmanuel Vadot speed = <1000>; 201f126890aSEmmanuel Vadot full-duplex; 202f126890aSEmmanuel Vadot }; 203f126890aSEmmanuel Vadot }; 204f126890aSEmmanuel Vadot }; 205f126890aSEmmanuel Vadot }; 206f126890aSEmmanuel Vadot}; 207f126890aSEmmanuel Vadot 208f126890aSEmmanuel Vadot&pciec { 209f126890aSEmmanuel Vadot status = "okay"; 210f126890aSEmmanuel Vadot}; 211f126890aSEmmanuel Vadot 212f126890aSEmmanuel Vadot&pcie1 { 213f126890aSEmmanuel Vadot /* Marvell 88W8864, 5GHz-only */ 214f126890aSEmmanuel Vadot status = "okay"; 215f126890aSEmmanuel Vadot}; 216f126890aSEmmanuel Vadot 217f126890aSEmmanuel Vadot&pcie2 { 218f126890aSEmmanuel Vadot /* Marvell 88W8864, 2GHz-only */ 219f126890aSEmmanuel Vadot status = "okay"; 220f126890aSEmmanuel Vadot}; 221f126890aSEmmanuel Vadot 222f126890aSEmmanuel Vadot&pinctrl { 223f126890aSEmmanuel Vadot gpio_keys_pins: gpio-keys-pins { 224f126890aSEmmanuel Vadot /* mpp24: wps, mpp29: reset */ 225f126890aSEmmanuel Vadot marvell,pins = "mpp24", "mpp29"; 226f126890aSEmmanuel Vadot marvell,function = "gpio"; 227f126890aSEmmanuel Vadot }; 228f126890aSEmmanuel Vadot 229f126890aSEmmanuel Vadot gpio_leds_pins: gpio-leds-pins { 230f126890aSEmmanuel Vadot /* mpp54: sata, mpp55: power */ 231f126890aSEmmanuel Vadot marvell,pins = "mpp54", "mpp55"; 232f126890aSEmmanuel Vadot marvell,function = "gpio"; 233f126890aSEmmanuel Vadot }; 234f126890aSEmmanuel Vadot 235f126890aSEmmanuel Vadot usb3_1_vbus_pins: usb3_1-vbus-pins { 236f126890aSEmmanuel Vadot marvell,pins = "mpp50"; 237f126890aSEmmanuel Vadot marvell,function = "gpio"; 238f126890aSEmmanuel Vadot }; 239f126890aSEmmanuel Vadot}; 240f126890aSEmmanuel Vadot 241f126890aSEmmanuel Vadot&spi0 { 242f126890aSEmmanuel Vadot status = "disabled"; 243f126890aSEmmanuel Vadot}; 244f126890aSEmmanuel Vadot 245f126890aSEmmanuel Vadot&uart0 { 246f126890aSEmmanuel Vadot /* J10: VCC, NC, RX, NC, TX, GND */ 247f126890aSEmmanuel Vadot status = "okay"; 248f126890aSEmmanuel Vadot}; 249f126890aSEmmanuel Vadot 250f126890aSEmmanuel Vadot&usb0 { 251f126890aSEmmanuel Vadot /* USB part of the eSATA/USB 2.0 port */ 252f126890aSEmmanuel Vadot status = "okay"; 253f126890aSEmmanuel Vadot}; 254f126890aSEmmanuel Vadot 255f126890aSEmmanuel Vadot&usb3_1 { 256f126890aSEmmanuel Vadot status = "okay"; 257f126890aSEmmanuel Vadot usb-phy = <&usb3_1_phy>; 258f126890aSEmmanuel Vadot}; 259f126890aSEmmanuel Vadot 260f126890aSEmmanuel Vadot&rtc { 261f126890aSEmmanuel Vadot /* No crystal connected to the internal RTC */ 262f126890aSEmmanuel Vadot status = "disabled"; 263f126890aSEmmanuel Vadot}; 264