1// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2/* 3 * Device Tree file for NETGEAR ReadyNAS 104 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-370.dtsi" 13 14/ { 15 model = "NETGEAR ReadyNAS 104"; 16 compatible = "netgear,readynas-104", "marvell,armada370", "marvell,armada-370-xp"; 17 18 chosen { 19 stdout-path = "serial0:115200n8"; 20 }; 21 22 memory@0 { 23 device_type = "memory"; 24 reg = <0x00000000 0x20000000>; /* 512 MB */ 25 }; 26 27 soc { 28 ranges = <MBUS_ID(0xf0, 0x01) 0 0xd0000000 0x100000 29 MBUS_ID(0x01, 0xe0) 0 0xfff00000 0x100000 30 MBUS_ID(0x09, 0x01) 0 0xf1100000 0x10000>; 31 32 internal-regs { 33 34 /* RTC is provided by Intersil ISL12057 I2C RTC chip */ 35 rtc@10300 { 36 status = "disabled"; 37 }; 38 39 serial@12000 { 40 status = "okay"; 41 }; 42 43 ethernet@70000 { 44 pinctrl-0 = <&ge0_rgmii_pins>; 45 pinctrl-names = "default"; 46 status = "okay"; 47 phy = <&phy0>; 48 phy-mode = "rgmii-id"; 49 }; 50 51 ethernet@74000 { 52 pinctrl-0 = <&ge1_rgmii_pins>; 53 pinctrl-names = "default"; 54 status = "okay"; 55 phy = <&phy1>; 56 phy-mode = "rgmii-id"; 57 }; 58 59 usb@50000 { 60 status = "okay"; 61 }; 62 63 i2c@11000 { 64 clock-frequency = <100000>; 65 66 pinctrl-0 = <&i2c0_pins>; 67 pinctrl-names = "default"; 68 69 status = "okay"; 70 71 isl12057: rtc@68 { 72 compatible = "isil,isl12057"; 73 reg = <0x68>; 74 wakeup-source; 75 }; 76 77 g762: g762@3e { 78 compatible = "gmt,g762"; 79 reg = <0x3e>; 80 clocks = <&g762_clk>; /* input clock */ 81 fan_gear_mode = <0>; 82 fan_startv = <1>; 83 pwm_polarity = <0>; 84 }; 85 86 pca9554: pca9554@23 { 87 compatible = "nxp,pca9554"; 88 gpio-controller; 89 #gpio-cells = <2>; 90 reg = <0x23>; 91 }; 92 }; 93 }; 94 }; 95 96 clocks { 97 g762_clk: g762-oscillator { 98 compatible = "fixed-clock"; 99 #clock-cells = <0>; 100 clock-frequency = <8192>; 101 }; 102 }; 103 104 gpio-leds { 105 compatible = "gpio-leds"; 106 pinctrl-0 = <&backup_led_pin &power_led_pin>; 107 pinctrl-names = "default"; 108 109 blue-backup-led { 110 label = "rn104:blue:backup"; 111 gpios = <&gpio1 31 GPIO_ACTIVE_HIGH>; 112 default-state = "off"; 113 }; 114 115 blue-power-led { 116 label = "rn104:blue:pwr"; 117 gpios = <&gpio2 0 GPIO_ACTIVE_LOW>; 118 linux,default-trigger = "keep"; 119 }; 120 121 blue-sata1-led { 122 label = "rn104:blue:sata1"; 123 gpios = <&pca9554 0 GPIO_ACTIVE_LOW>; 124 default-state = "off"; 125 }; 126 127 blue-sata2-led { 128 label = "rn104:blue:sata2"; 129 gpios = <&pca9554 1 GPIO_ACTIVE_LOW>; 130 default-state = "off"; 131 }; 132 133 blue-sata3-led { 134 label = "rn104:blue:sata3"; 135 gpios = <&pca9554 2 GPIO_ACTIVE_LOW>; 136 default-state = "off"; 137 }; 138 139 blue-sata4-led { 140 label = "rn104:blue:sata4"; 141 gpios = <&pca9554 3 GPIO_ACTIVE_LOW>; 142 default-state = "off"; 143 }; 144 }; 145 146 gpio-keys { 147 compatible = "gpio-keys"; 148 pinctrl-0 = <&backup_button_pin 149 &power_button_pin 150 &reset_button_pin>; 151 pinctrl-names = "default"; 152 153 backup-button { 154 label = "Backup Button"; 155 linux,code = <KEY_COPY>; 156 gpios = <&gpio1 20 GPIO_ACTIVE_LOW>; 157 }; 158 159 power-button { 160 label = "Power Button"; 161 linux,code = <KEY_POWER>; 162 gpios = <&gpio1 30 GPIO_ACTIVE_HIGH>; 163 }; 164 165 reset-button { 166 label = "Reset Button"; 167 linux,code = <KEY_RESTART>; 168 gpios = <&gpio2 1 GPIO_ACTIVE_LOW>; 169 }; 170 }; 171 172 gpio-poweroff { 173 compatible = "gpio-poweroff"; 174 pinctrl-0 = <&poweroff>; 175 pinctrl-names = "default"; 176 gpios = <&gpio1 28 GPIO_ACTIVE_LOW>; 177 }; 178}; 179 180&pciec { 181 status = "okay"; 182 183 /* Connected to FL1009 USB 3.0 controller */ 184 pcie@1,0 { 185 /* Port 0, Lane 0 */ 186 status = "okay"; 187 }; 188 189 /* Connected to Marvell 88SE9215 SATA controller */ 190 pcie@2,0 { 191 /* Port 1, Lane 0 */ 192 status = "okay"; 193 }; 194}; 195 196&mdio { 197 pinctrl-0 = <&mdio_pins>; 198 pinctrl-names = "default"; 199 phy0: ethernet-phy@0 { /* Marvell 88E1318 */ 200 reg = <0>; 201 }; 202 203 phy1: ethernet-phy@1 { /* Marvell 88E1318 */ 204 reg = <1>; 205 }; 206}; 207 208&pinctrl { 209 poweroff: poweroff { 210 marvell,pins = "mpp60"; 211 marvell,function = "gpio"; 212 }; 213 214 backup_button_pin: backup-button-pin { 215 marvell,pins = "mpp52"; 216 marvell,function = "gpio"; 217 }; 218 219 power_button_pin: power-button-pin { 220 marvell,pins = "mpp62"; 221 marvell,function = "gpio"; 222 }; 223 224 backup_led_pin: backup-led-pin { 225 marvell,pins = "mpp63"; 226 marvell,function = "gpio"; 227 }; 228 229 power_led_pin: power-led-pin { 230 marvell,pins = "mpp64"; 231 marvell,function = "gpio"; 232 }; 233 234 reset_button_pin: reset-button-pin { 235 marvell,pins = "mpp65"; 236 marvell,function = "gpio"; 237 }; 238}; 239 240&nand_controller { 241 status = "okay"; 242 243 nand@0 { 244 reg = <0>; 245 label = "pxa3xx_nand-0"; 246 nand-rb = <0>; 247 marvell,nand-keep-config; 248 nand-on-flash-bbt; 249 250 /* Use Hardware BCH ECC */ 251 nand-ecc-strength = <4>; 252 nand-ecc-step-size = <512>; 253 254 partitions { 255 compatible = "fixed-partitions"; 256 #address-cells = <1>; 257 #size-cells = <1>; 258 259 partition@0 { 260 label = "u-boot"; 261 reg = <0x0000000 0x180000>; /* 1.5MB */ 262 read-only; 263 }; 264 265 partition@180000 { 266 label = "u-boot-env"; 267 reg = <0x180000 0x20000>; /* 128KB */ 268 read-only; 269 }; 270 271 partition@200000 { 272 label = "uImage"; 273 reg = <0x0200000 0x600000>; /* 6MB */ 274 }; 275 276 partition@800000 { 277 label = "minirootfs"; 278 reg = <0x0800000 0x400000>; /* 4MB */ 279 }; 280 281 /* Last MB is for the BBT, i.e. not writable */ 282 partition@c00000 { 283 label = "ubifs"; 284 reg = <0x0c00000 0x7400000>; /* 116MB */ 285 }; 286 }; 287 }; 288}; 289