1// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2/* 3 * Device Tree file for NETGEAR ReadyNAS 2120 4 * 5 * Copyright (C) 2013, Arnaud EBALARD <arno@natisbad.org> 6 */ 7 8/dts-v1/; 9 10#include <dt-bindings/input/input.h> 11#include <dt-bindings/gpio/gpio.h> 12#include "armada-xp-mv78230.dtsi" 13 14/ { 15 model = "NETGEAR ReadyNAS 2120"; 16 compatible = "netgear,readynas-2120", "marvell,armadaxp-mv78230", "marvell,armadaxp", "marvell,armada-370-xp"; 17 18 chosen { 19 stdout-path = "serial0:115200n8"; 20 }; 21 22 memory@0 { 23 device_type = "memory"; 24 reg = <0 0x00000000 0 0x80000000>; /* 2GB */ 25 }; 26 27 soc { 28 ranges = <MBUS_ID(0xf0, 0x01) 0 0 0xd0000000 0x100000 29 MBUS_ID(0x01, 0x1d) 0 0 0xfff00000 0x100000 30 MBUS_ID(0x09, 0x09) 0 0 0xf1100000 0x10000 31 MBUS_ID(0x09, 0x05) 0 0 0xf1110000 0x10000>; 32 33 internal-regs { 34 35 /* RTC is provided by Intersil ISL12057 I2C RTC chip */ 36 rtc@10300 { 37 status = "disabled"; 38 }; 39 40 i2c@11000 { 41 clock-frequency = <400000>; 42 status = "okay"; 43 44 /* Controller for rear fan #1 of 3 (Protechnic 45 * MGT4012XB-O20, 8000RPM) near eSATA port */ 46 g762_fan1: g762@3e { 47 compatible = "gmt,g762"; 48 reg = <0x3e>; 49 clocks = <&g762_clk>; /* input clock */ 50 fan_gear_mode = <0>; 51 fan_startv = <1>; 52 pwm_polarity = <0>; 53 }; 54 55 /* Controller for rear (center) fan #2 of 3 */ 56 g762_fan2: g762@48 { 57 compatible = "gmt,g762"; 58 reg = <0x48>; 59 clocks = <&g762_clk>; /* input clock */ 60 fan_gear_mode = <0>; 61 fan_startv = <1>; 62 pwm_polarity = <0>; 63 }; 64 65 /* Controller for rear fan #3 of 3 */ 66 g762_fan3: g762@49 { 67 compatible = "gmt,g762"; 68 reg = <0x49>; 69 clocks = <&g762_clk>; /* input clock */ 70 fan_gear_mode = <0>; 71 fan_startv = <1>; 72 pwm_polarity = <0>; 73 }; 74 75 /* Temperature sensor */ 76 g751: g751@4c { 77 compatible = "gmt,g751"; 78 reg = <0x4c>; 79 }; 80 81 isl12057: rtc@68 { 82 compatible = "isil,isl12057"; 83 reg = <0x68>; 84 wakeup-source; 85 }; 86 }; 87 88 serial@12000 { 89 status = "okay"; 90 }; 91 92 /* Front USB 2.0 port */ 93 usb@50000 { 94 status = "okay"; 95 }; 96 97 ethernet@70000 { 98 pinctrl-0 = <&ge0_rgmii_pins>; 99 pinctrl-names = "default"; 100 101 status = "okay"; 102 phy = <&phy0>; 103 phy-mode = "rgmii-id"; 104 }; 105 106 ethernet@74000 { 107 pinctrl-0 = <&ge1_rgmii_pins>; 108 pinctrl-names = "default"; 109 110 status = "okay"; 111 phy = <&phy1>; 112 phy-mode = "rgmii-id"; 113 }; 114 115 /* Two rear eSATA ports */ 116 sata@a0000 { 117 nr-ports = <2>; 118 status = "okay"; 119 }; 120 }; 121 }; 122 123 clocks { 124 g762_clk: g762-oscillator { 125 compatible = "fixed-clock"; 126 #clock-cells = <0>; 127 clock-frequency = <32768>; 128 }; 129 }; 130 131 gpio-leds { 132 compatible = "gpio-leds"; 133 pinctrl-0 = <&sata1_led_pin &sata2_led_pin &err_led_pin 134 &sata3_led_pin &sata4_led_pin>; 135 pinctrl-names = "default"; 136 137 red-sata1-led { 138 label = "rn2120:red:sata1"; 139 gpios = <&gpio0 31 GPIO_ACTIVE_HIGH>; 140 default-state = "off"; 141 }; 142 143 red-sata2-led { 144 label = "rn2120:red:sata2"; 145 gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>; 146 default-state = "off"; 147 }; 148 149 red-sata3-led { 150 label = "rn2120:red:sata3"; 151 gpios = <&gpio1 12 GPIO_ACTIVE_HIGH>; 152 default-state = "off"; 153 }; 154 155 red-sata4-led { 156 label = "rn2120:red:sata4"; 157 gpios = <&gpio1 15 GPIO_ACTIVE_HIGH>; 158 default-state = "off"; 159 }; 160 161 red-err-led { 162 label = "rn2120:red:err"; 163 gpios = <&gpio1 13 GPIO_ACTIVE_LOW>; 164 default-state = "off"; 165 }; 166 }; 167 168 gpio-keys { 169 compatible = "gpio-keys"; 170 pinctrl-0 = <&power_button_pin &reset_button_pin>; 171 pinctrl-names = "default"; 172 173 power-button { 174 label = "Power Button"; 175 linux,code = <KEY_POWER>; 176 gpios = <&gpio0 27 GPIO_ACTIVE_HIGH>; 177 }; 178 179 reset-button { 180 label = "Reset Button"; 181 linux,code = <KEY_RESTART>; 182 gpios = <&gpio1 9 GPIO_ACTIVE_LOW>; 183 }; 184 }; 185 186 gpio-poweroff { 187 compatible = "gpio-poweroff"; 188 pinctrl-0 = <&poweroff>; 189 pinctrl-names = "default"; 190 gpios = <&gpio1 10 GPIO_ACTIVE_LOW>; 191 }; 192}; 193 194&pciec { 195 status = "okay"; 196 197 /* Connected to first Marvell 88SE9170 SATA controller */ 198 pcie@1,0 { 199 /* Port 0, Lane 0 */ 200 status = "okay"; 201 }; 202 203 /* Connected to second Marvell 88SE9170 SATA controller */ 204 pcie@2,0 { 205 /* Port 0, Lane 1 */ 206 status = "okay"; 207 }; 208 209 /* Connected to Fresco Logic FL1009 USB 3.0 controller */ 210 pcie@5,0 { 211 /* Port 1, Lane 0 */ 212 status = "okay"; 213 }; 214}; 215 216&mdio { 217 phy0: ethernet-phy@0 { /* Marvell 88E1318 */ 218 reg = <0>; 219 }; 220 221 phy1: ethernet-phy@1 { /* Marvell 88E1318 */ 222 reg = <1>; 223 }; 224}; 225 226 227&pinctrl { 228 poweroff: poweroff { 229 marvell,pins = "mpp42"; 230 marvell,function = "gpio"; 231 }; 232 233 power_button_pin: power-button-pin { 234 marvell,pins = "mpp27"; 235 marvell,function = "gpio"; 236 }; 237 238 reset_button_pin: reset-button-pin { 239 marvell,pins = "mpp41"; 240 marvell,function = "gpio"; 241 }; 242 243 sata1_led_pin: sata1-led-pin { 244 marvell,pins = "mpp31"; 245 marvell,function = "gpio"; 246 }; 247 248 sata2_led_pin: sata2-led-pin { 249 marvell,pins = "mpp40"; 250 marvell,function = "gpio"; 251 }; 252 253 sata3_led_pin: sata3-led-pin { 254 marvell,pins = "mpp44"; 255 marvell,function = "gpio"; 256 }; 257 258 sata4_led_pin: sata4-led-pin { 259 marvell,pins = "mpp47"; 260 marvell,function = "gpio"; 261 }; 262 263 sata1_power_pin: sata1-power-pin { 264 marvell,pins = "mpp24"; 265 marvell,function = "gpio"; 266 }; 267 268 sata2_power_pin: sata2-power-pin { 269 marvell,pins = "mpp25"; 270 marvell,function = "gpio"; 271 }; 272 273 sata3_power_pin: sata3-power-pin { 274 marvell,pins = "mpp26"; 275 marvell,function = "gpio"; 276 }; 277 278 sata4_power_pin: sata4-power-pin { 279 marvell,pins = "mpp28"; 280 marvell,function = "gpio"; 281 }; 282 283 sata1_pres_pin: sata1-pres-pin { 284 marvell,pins = "mpp32"; 285 marvell,function = "gpio"; 286 }; 287 288 sata2_pres_pin: sata2-pres-pin { 289 marvell,pins = "mpp33"; 290 marvell,function = "gpio"; 291 }; 292 293 sata3_pres_pin: sata3-pres-pin { 294 marvell,pins = "mpp34"; 295 marvell,function = "gpio"; 296 }; 297 298 sata4_pres_pin: sata4-pres-pin { 299 marvell,pins = "mpp35"; 300 marvell,function = "gpio"; 301 }; 302 303 err_led_pin: err-led-pin { 304 marvell,pins = "mpp45"; 305 marvell,function = "gpio"; 306 }; 307}; 308 309&nand_controller { 310 status = "okay"; 311 312 nand@0 { 313 reg = <0>; 314 label = "pxa3xx_nand-0"; 315 nand-rb = <0>; 316 marvell,nand-keep-config; 317 nand-on-flash-bbt; 318 319 /* Use Hardware BCH ECC */ 320 nand-ecc-strength = <4>; 321 nand-ecc-step-size = <512>; 322 323 partitions { 324 compatible = "fixed-partitions"; 325 #address-cells = <1>; 326 #size-cells = <1>; 327 328 partition@0 { 329 label = "u-boot"; 330 reg = <0x0000000 0x180000>; /* 1.5MB */ 331 read-only; 332 }; 333 334 partition@180000 { 335 label = "u-boot-env"; 336 reg = <0x180000 0x20000>; /* 128KB */ 337 read-only; 338 }; 339 340 partition@200000 { 341 label = "uImage"; 342 reg = <0x0200000 0x600000>; /* 6MB */ 343 }; 344 345 partition@800000 { 346 label = "minirootfs"; 347 reg = <0x0800000 0x400000>; /* 4MB */ 348 }; 349 350 /* Last MB is for the BBT, i.e. not writable */ 351 partition@c00000 { 352 label = "ubifs"; 353 reg = <0x0c00000 0x7400000>; /* 116MB */ 354 }; 355 }; 356 }; 357}; 358