1724ba675SRob Herring// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2724ba675SRob Herring/* 3724ba675SRob Herring * Device Tree file for D-Link DNS-327L 4724ba675SRob Herring * 5724ba675SRob Herring * Copyright (C) 2015, Andrew Andrianov <andrew@ncrmnt.org> 6724ba675SRob Herring */ 7724ba675SRob Herring 8724ba675SRob Herring/* Remaining unsolved: 9724ba675SRob Herring * There's still some unknown device on i2c address 0x13 10724ba675SRob Herring */ 11724ba675SRob Herring 12724ba675SRob Herring/dts-v1/; 13724ba675SRob Herring 14724ba675SRob Herring#include <dt-bindings/input/input.h> 15724ba675SRob Herring#include <dt-bindings/gpio/gpio.h> 16724ba675SRob Herring#include "armada-370.dtsi" 17724ba675SRob Herring 18724ba675SRob Herring/ { 19724ba675SRob Herring model = "D-Link DNS-327L"; 20724ba675SRob Herring compatible = "dlink,dns327l", 21724ba675SRob Herring "marvell,armada370", 22724ba675SRob Herring "marvell,armada-370-xp"; 23724ba675SRob Herring 24724ba675SRob Herring chosen { 25724ba675SRob Herring stdout-path = &uart0; 26724ba675SRob Herring }; 27724ba675SRob Herring 28724ba675SRob Herring memory@0 { 29724ba675SRob Herring device_type = "memory"; 30724ba675SRob Herring reg = <0x00000000 0x20000000>; /* 512 MiB */ 31724ba675SRob Herring }; 32724ba675SRob Herring 33724ba675SRob Herring soc { 34724ba675SRob Herring ranges = <MBUS_ID(0xf0, 0x01) 0 0xd0000000 0x100000 35724ba675SRob Herring MBUS_ID(0x01, 0xe0) 0 0xfff00000 0x100000 36724ba675SRob Herring MBUS_ID(0x09, 0x01) 0 0xf1100000 0x10000>; 37724ba675SRob Herring 38724ba675SRob Herring internal-regs { 39724ba675SRob Herring sata@a0000 { 40724ba675SRob Herring nr-ports = <2>; 41724ba675SRob Herring status = "okay"; 42724ba675SRob Herring }; 43724ba675SRob Herring 44724ba675SRob Herring usb@50000 { 45724ba675SRob Herring status = "okay"; 46724ba675SRob Herring }; 47724ba675SRob Herring }; 48724ba675SRob Herring }; 49724ba675SRob Herring 50724ba675SRob Herring gpio-keys { 51724ba675SRob Herring compatible = "gpio-keys"; 52724ba675SRob Herring pinctrl-0 = < 53724ba675SRob Herring &backup_button_pin 54724ba675SRob Herring &power_button_pin 55724ba675SRob Herring &reset_button_pin>; 56724ba675SRob Herring pinctrl-names = "default"; 57724ba675SRob Herring 58724ba675SRob Herring power-button { 59724ba675SRob Herring label = "Power Button"; 60724ba675SRob Herring linux,code = <KEY_POWER>; 61724ba675SRob Herring gpios = <&gpio2 1 GPIO_ACTIVE_LOW>; 62724ba675SRob Herring }; 63724ba675SRob Herring 64724ba675SRob Herring backup-button { 65724ba675SRob Herring label = "Backup Button"; 66724ba675SRob Herring linux,code = <KEY_COPY>; 67724ba675SRob Herring gpios = <&gpio1 31 GPIO_ACTIVE_LOW>; 68724ba675SRob Herring }; 69724ba675SRob Herring 70724ba675SRob Herring reset-button { 71724ba675SRob Herring label = "Reset Button"; 72724ba675SRob Herring linux,code = <KEY_RESTART>; 73724ba675SRob Herring gpios = <&gpio2 0 GPIO_ACTIVE_LOW>; 74724ba675SRob Herring }; 75724ba675SRob Herring }; 76724ba675SRob Herring 77724ba675SRob Herring gpio-leds { 78724ba675SRob Herring compatible = "gpio-leds"; 79724ba675SRob Herring pinctrl-0 = < 80724ba675SRob Herring &sata_l_amber_pin 81724ba675SRob Herring &sata_r_amber_pin 82724ba675SRob Herring &backup_led_pin 83724ba675SRob Herring /* Ensure these are managed by hardware */ 84724ba675SRob Herring &sata_l_white_pin 85724ba675SRob Herring &sata_r_white_pin>; 86724ba675SRob Herring 87724ba675SRob Herring pinctrl-names = "default"; 88724ba675SRob Herring 89724ba675SRob Herring led-sata-r-amber { 90724ba675SRob Herring label = "dns327l:amber:sata-r"; 91724ba675SRob Herring gpios = <&gpio1 20 GPIO_ACTIVE_HIGH>; 92724ba675SRob Herring default-state = "keep"; 93724ba675SRob Herring }; 94724ba675SRob Herring 95724ba675SRob Herring led-sata-l-amber { 96724ba675SRob Herring label = "dns327l:amber:sata-l"; 97724ba675SRob Herring gpios = <&gpio1 21 GPIO_ACTIVE_HIGH>; 98724ba675SRob Herring default-state = "keep"; 99724ba675SRob Herring }; 100724ba675SRob Herring 101724ba675SRob Herring led-backup { 102724ba675SRob Herring label = "dns327l:white:usb"; 103724ba675SRob Herring gpios = <&gpio1 29 GPIO_ACTIVE_HIGH>; 104724ba675SRob Herring default-state = "keep"; 105724ba675SRob Herring }; 106724ba675SRob Herring }; 107724ba675SRob Herring 108*afa6b4f3SKrzysztof Kozlowski usb_power: regulator-1 { 109724ba675SRob Herring compatible = "regulator-fixed"; 110724ba675SRob Herring pinctrl-0 = <&xhci_pwr_pin>; 111724ba675SRob Herring pinctrl-names = "default"; 112724ba675SRob Herring regulator-name = "USB3.0 Port Power"; 113724ba675SRob Herring regulator-min-microvolt = <5000000>; 114724ba675SRob Herring regulator-max-microvolt = <5000000>; 115724ba675SRob Herring enable-active-high; 116724ba675SRob Herring regulator-boot-on; 117724ba675SRob Herring regulator-always-on; 118724ba675SRob Herring gpio = <&gpio0 13 GPIO_ACTIVE_HIGH>; 119724ba675SRob Herring }; 120724ba675SRob Herring 121*afa6b4f3SKrzysztof Kozlowski sata_r_power: regulator-2 { 122724ba675SRob Herring compatible = "regulator-fixed"; 123724ba675SRob Herring pinctrl-0 = <&sata_r_pwr_pin>; 124724ba675SRob Herring pinctrl-names = "default"; 125724ba675SRob Herring regulator-name = "SATA-R Power"; 126724ba675SRob Herring regulator-min-microvolt = <5000000>; 127724ba675SRob Herring regulator-max-microvolt = <5000000>; 128724ba675SRob Herring startup-delay-us = <2000000>; 129724ba675SRob Herring enable-active-high; 130724ba675SRob Herring regulator-always-on; 131724ba675SRob Herring regulator-boot-on; 132724ba675SRob Herring gpio = <&gpio1 22 GPIO_ACTIVE_HIGH>; 133724ba675SRob Herring }; 134724ba675SRob Herring 135*afa6b4f3SKrzysztof Kozlowski sata_l_power: regulator-3 { 136724ba675SRob Herring compatible = "regulator-fixed"; 137724ba675SRob Herring pinctrl-0 = <&sata_l_pwr_pin>; 138724ba675SRob Herring pinctrl-names = "default"; 139724ba675SRob Herring regulator-name = "SATA-L Power"; 140724ba675SRob Herring regulator-min-microvolt = <5000000>; 141724ba675SRob Herring regulator-max-microvolt = <5000000>; 142724ba675SRob Herring startup-delay-us = <4000000>; 143724ba675SRob Herring enable-active-high; 144724ba675SRob Herring regulator-always-on; 145724ba675SRob Herring regulator-boot-on; 146724ba675SRob Herring gpio = <&gpio1 24 GPIO_ACTIVE_HIGH>; 147724ba675SRob Herring }; 148724ba675SRob Herring}; 149724ba675SRob Herring 150724ba675SRob Herring&pciec { 151724ba675SRob Herring status = "okay"; 152724ba675SRob Herring 153724ba675SRob Herring pcie@1,0 { 154724ba675SRob Herring /* Port 0, Lane 0 */ 155724ba675SRob Herring status = "okay"; 156724ba675SRob Herring }; 157724ba675SRob Herring 158724ba675SRob Herring pcie@2,0 { 159724ba675SRob Herring /* Port 1, Lane 0 */ 160724ba675SRob Herring status = "okay"; 161724ba675SRob Herring }; 162724ba675SRob Herring}; 163724ba675SRob Herring 164724ba675SRob Herring&pinctrl { 165724ba675SRob Herring sata_l_white_pin: sata-l-white-pin { 166724ba675SRob Herring marvell,pins = "mpp57"; 167724ba675SRob Herring marvell,function = "sata0"; 168724ba675SRob Herring }; 169724ba675SRob Herring 170724ba675SRob Herring sata_r_white_pin: sata-r-white-pin { 171724ba675SRob Herring marvell,pins = "mpp55"; 172724ba675SRob Herring marvell,function = "sata1"; 173724ba675SRob Herring }; 174724ba675SRob Herring 175724ba675SRob Herring sata_r_amber_pin: sata-r-amber-pin { 176724ba675SRob Herring marvell,pins = "mpp52"; 177724ba675SRob Herring marvell,function = "gpio"; 178724ba675SRob Herring }; 179724ba675SRob Herring 180724ba675SRob Herring sata_l_amber_pin: sata-l-amber-pin { 181724ba675SRob Herring marvell,pins = "mpp53"; 182724ba675SRob Herring marvell,function = "gpio"; 183724ba675SRob Herring }; 184724ba675SRob Herring 185724ba675SRob Herring backup_led_pin: backup-led-pin { 186724ba675SRob Herring marvell,pins = "mpp61"; 187724ba675SRob Herring marvell,function = "gpo"; 188724ba675SRob Herring }; 189724ba675SRob Herring 190724ba675SRob Herring xhci_pwr_pin: xhci-pwr-pin { 191724ba675SRob Herring marvell,pins = "mpp13"; 192724ba675SRob Herring marvell,function = "gpio"; 193724ba675SRob Herring }; 194724ba675SRob Herring 195724ba675SRob Herring sata_r_pwr_pin: sata-r-pwr-pin { 196724ba675SRob Herring marvell,pins = "mpp54"; 197724ba675SRob Herring marvell,function = "gpio"; 198724ba675SRob Herring }; 199724ba675SRob Herring 200724ba675SRob Herring sata_l_pwr_pin: sata-l-pwr-pin { 201724ba675SRob Herring marvell,pins = "mpp56"; 202724ba675SRob Herring marvell,function = "gpio"; 203724ba675SRob Herring }; 204724ba675SRob Herring 205724ba675SRob Herring uart1_pins: uart1-pins { 206724ba675SRob Herring marvell,pins = "mpp60", "mpp61"; 207724ba675SRob Herring marvell,function = "uart1"; 208724ba675SRob Herring }; 209724ba675SRob Herring 210724ba675SRob Herring power_button_pin: power-button-pin { 211724ba675SRob Herring marvell,pins = "mpp65"; 212724ba675SRob Herring marvell,function = "gpio"; 213724ba675SRob Herring }; 214724ba675SRob Herring 215724ba675SRob Herring backup_button_pin: backup-button-pin { 216724ba675SRob Herring marvell,pins = "mpp63"; 217724ba675SRob Herring marvell,function = "gpio"; 218724ba675SRob Herring }; 219724ba675SRob Herring 220724ba675SRob Herring reset_button_pin: reset-button-pin { 221724ba675SRob Herring marvell,pins = "mpp64"; 222724ba675SRob Herring marvell,function = "gpio"; 223724ba675SRob Herring }; 224724ba675SRob Herring}; 225724ba675SRob Herring 226724ba675SRob Herring/* Serial console */ 227724ba675SRob Herring&uart0 { 228724ba675SRob Herring status = "okay"; 229724ba675SRob Herring}; 230724ba675SRob Herring 231724ba675SRob Herring/* Connected to Weltrend MCU */ 232724ba675SRob Herring&uart1 { 233724ba675SRob Herring pinctrl-0 = <&uart1_pins>; 234724ba675SRob Herring pinctrl-names = "default"; 235724ba675SRob Herring status = "okay"; 236724ba675SRob Herring}; 237724ba675SRob Herring 238724ba675SRob Herring&mdio { 239724ba675SRob Herring phy0: ethernet-phy@0 { /* Marvell 88E1318 */ 240724ba675SRob Herring reg = <0>; 241724ba675SRob Herring marvell,reg-init = <0x2 0x19 0x0 0x0077>, 242724ba675SRob Herring <0x2 0x18 0x0 0x5747>; 243724ba675SRob Herring }; 244724ba675SRob Herring}; 245724ba675SRob Herring 246724ba675SRob Herringð1 { 247724ba675SRob Herring phy = <&phy0>; 248724ba675SRob Herring phy-mode = "rgmii-id"; 249724ba675SRob Herring status = "okay"; 250724ba675SRob Herring}; 251724ba675SRob Herring 252724ba675SRob Herring&i2c0 { 253724ba675SRob Herring compatible = "marvell,mv64xxx-i2c"; 254724ba675SRob Herring clock-frequency = <100000>; 255724ba675SRob Herring status = "okay"; 256724ba675SRob Herring}; 257724ba675SRob Herring 258724ba675SRob Herring&nand_controller { 259724ba675SRob Herring status = "okay"; 260724ba675SRob Herring 261724ba675SRob Herring nand@0 { 262724ba675SRob Herring reg = <0>; 263724ba675SRob Herring label = "pxa3xx_nand-0"; 264724ba675SRob Herring nand-rb = <0>; 265724ba675SRob Herring marvell,nand-keep-config; 266724ba675SRob Herring nand-on-flash-bbt; 267724ba675SRob Herring nand-ecc-strength = <4>; 268724ba675SRob Herring nand-ecc-step-size = <512>; 269724ba675SRob Herring 270724ba675SRob Herring partitions { 271724ba675SRob Herring compatible = "fixed-partitions"; 272724ba675SRob Herring #address-cells = <1>; 273724ba675SRob Herring #size-cells = <1>; 274724ba675SRob Herring 275724ba675SRob Herring partition@0 { 276724ba675SRob Herring label = "u-boot"; 277724ba675SRob Herring /* 1.0 MiB */ 278724ba675SRob Herring reg = <0x0000000 0x100000>; 279724ba675SRob Herring read-only; 280724ba675SRob Herring }; 281724ba675SRob Herring 282724ba675SRob Herring partition@100000 { 283724ba675SRob Herring label = "u-boot-env"; 284724ba675SRob Herring /* 128 KiB */ 285724ba675SRob Herring reg = <0x100000 0x20000>; 286724ba675SRob Herring read-only; 287724ba675SRob Herring }; 288724ba675SRob Herring 289724ba675SRob Herring partition@120000 { 290724ba675SRob Herring label = "uImage"; 291724ba675SRob Herring /* 7 MiB */ 292724ba675SRob Herring reg = <0x120000 0x700000>; 293724ba675SRob Herring }; 294724ba675SRob Herring 295724ba675SRob Herring partition@820000 { 296724ba675SRob Herring label = "ubifs"; 297724ba675SRob Herring /* ~ 84 MiB */ 298724ba675SRob Herring reg = <0x820000 0x54e0000>; 299724ba675SRob Herring }; 300724ba675SRob Herring 301724ba675SRob Herring /* Hardcoded into stock bootloader */ 302724ba675SRob Herring partition@5d00000 { 303724ba675SRob Herring label = "failsafe-uImage"; 304724ba675SRob Herring /* 5 MiB */ 305724ba675SRob Herring reg = <0x5d00000 0x500000>; 306724ba675SRob Herring }; 307724ba675SRob Herring 308724ba675SRob Herring partition@6200000 { 309724ba675SRob Herring label = "failsafe-fs"; 310724ba675SRob Herring /* 29 MiB */ 311724ba675SRob Herring reg = <0x6200000 0x1d00000>; 312724ba675SRob Herring }; 313724ba675SRob Herring 314724ba675SRob Herring partition@7f00000 { 315724ba675SRob Herring label = "bbt"; 316724ba675SRob Herring /* 1 MiB for BBT */ 317724ba675SRob Herring reg = <0x7f00000 0x100000>; 318724ba675SRob Herring }; 319724ba675SRob Herring }; 320724ba675SRob Herring }; 321724ba675SRob Herring}; 322