0001 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
0002 /*
0003 * Device Tree file for NETGEAR ReadyNAS 104
0004 *
0005 * Copyright (C) 2013, Arnaud EBALARD <arno@natisbad.org>
0006 */
0007
0008 /dts-v1/;
0009
0010 #include <dt-bindings/input/input.h>
0011 #include <dt-bindings/gpio/gpio.h>
0012 #include "armada-370.dtsi"
0013
0014 / {
0015 model = "NETGEAR ReadyNAS 104";
0016 compatible = "netgear,readynas-104", "marvell,armada370", "marvell,armada-370-xp";
0017
0018 chosen {
0019 stdout-path = "serial0:115200n8";
0020 };
0021
0022 memory@0 {
0023 device_type = "memory";
0024 reg = <0x00000000 0x20000000>; /* 512 MB */
0025 };
0026
0027 soc {
0028 ranges = <MBUS_ID(0xf0, 0x01) 0 0xd0000000 0x100000
0029 MBUS_ID(0x01, 0xe0) 0 0xfff00000 0x100000
0030 MBUS_ID(0x09, 0x01) 0 0xf1100000 0x10000>;
0031
0032 internal-regs {
0033
0034 /* RTC is provided by Intersil ISL12057 I2C RTC chip */
0035 rtc@10300 {
0036 status = "disabled";
0037 };
0038
0039 serial@12000 {
0040 status = "okay";
0041 };
0042
0043 ethernet@70000 {
0044 pinctrl-0 = <&ge0_rgmii_pins>;
0045 pinctrl-names = "default";
0046 status = "okay";
0047 phy = <&phy0>;
0048 phy-mode = "rgmii-id";
0049 };
0050
0051 ethernet@74000 {
0052 pinctrl-0 = <&ge1_rgmii_pins>;
0053 pinctrl-names = "default";
0054 status = "okay";
0055 phy = <&phy1>;
0056 phy-mode = "rgmii-id";
0057 };
0058
0059 usb@50000 {
0060 status = "okay";
0061 };
0062
0063 i2c@11000 {
0064 clock-frequency = <100000>;
0065
0066 pinctrl-0 = <&i2c0_pins>;
0067 pinctrl-names = "default";
0068
0069 status = "okay";
0070
0071 isl12057: rtc@68 {
0072 compatible = "isil,isl12057";
0073 reg = <0x68>;
0074 wakeup-source;
0075 };
0076
0077 g762: g762@3e {
0078 compatible = "gmt,g762";
0079 reg = <0x3e>;
0080 clocks = <&g762_clk>; /* input clock */
0081 fan_gear_mode = <0>;
0082 fan_startv = <1>;
0083 pwm_polarity = <0>;
0084 };
0085
0086 pca9554: pca9554@23 {
0087 compatible = "nxp,pca9554";
0088 gpio-controller;
0089 #gpio-cells = <2>;
0090 reg = <0x23>;
0091 };
0092 };
0093 };
0094 };
0095
0096 clocks {
0097 g762_clk: g762-oscillator {
0098 compatible = "fixed-clock";
0099 #clock-cells = <0>;
0100 clock-frequency = <8192>;
0101 };
0102 };
0103
0104 gpio-leds {
0105 compatible = "gpio-leds";
0106 pinctrl-0 = <&backup_led_pin &power_led_pin>;
0107 pinctrl-names = "default";
0108
0109 blue-backup-led {
0110 label = "rn104:blue:backup";
0111 gpios = <&gpio1 31 GPIO_ACTIVE_HIGH>;
0112 default-state = "off";
0113 };
0114
0115 blue-power-led {
0116 label = "rn104:blue:pwr";
0117 gpios = <&gpio2 0 GPIO_ACTIVE_LOW>;
0118 linux,default-trigger = "keep";
0119 };
0120
0121 blue-sata1-led {
0122 label = "rn104:blue:sata1";
0123 gpios = <&pca9554 0 GPIO_ACTIVE_LOW>;
0124 default-state = "off";
0125 };
0126
0127 blue-sata2-led {
0128 label = "rn104:blue:sata2";
0129 gpios = <&pca9554 1 GPIO_ACTIVE_LOW>;
0130 default-state = "off";
0131 };
0132
0133 blue-sata3-led {
0134 label = "rn104:blue:sata3";
0135 gpios = <&pca9554 2 GPIO_ACTIVE_LOW>;
0136 default-state = "off";
0137 };
0138
0139 blue-sata4-led {
0140 label = "rn104:blue:sata4";
0141 gpios = <&pca9554 3 GPIO_ACTIVE_LOW>;
0142 default-state = "off";
0143 };
0144 };
0145
0146 auxdisplay {
0147 compatible = "hit,hd44780";
0148 data-gpios = <&gpio1 25 GPIO_ACTIVE_HIGH>,
0149 <&gpio1 26 GPIO_ACTIVE_HIGH>,
0150 <&gpio1 27 GPIO_ACTIVE_HIGH>,
0151 <&gpio1 29 GPIO_ACTIVE_HIGH>;
0152 enable-gpios = <&gpio1 24 GPIO_ACTIVE_HIGH>;
0153 rs-gpios = <&gpio1 22 GPIO_ACTIVE_HIGH>;
0154 rw-gpios = <&gpio1 23 GPIO_ACTIVE_HIGH>;
0155 backlight-gpios = <&gpio1 21 GPIO_ACTIVE_LOW>;
0156 display-height-chars = <2>;
0157 display-width-chars = <16>;
0158 };
0159
0160 gpio-keys {
0161 compatible = "gpio-keys";
0162 pinctrl-0 = <&backup_button_pin
0163 &power_button_pin
0164 &reset_button_pin>;
0165 pinctrl-names = "default";
0166
0167 backup-button {
0168 label = "Backup Button";
0169 linux,code = <KEY_COPY>;
0170 gpios = <&gpio1 20 GPIO_ACTIVE_LOW>;
0171 };
0172
0173 power-button {
0174 label = "Power Button";
0175 linux,code = <KEY_POWER>;
0176 gpios = <&gpio1 30 GPIO_ACTIVE_HIGH>;
0177 };
0178
0179 reset-button {
0180 label = "Reset Button";
0181 linux,code = <KEY_RESTART>;
0182 gpios = <&gpio2 1 GPIO_ACTIVE_LOW>;
0183 };
0184 };
0185
0186 gpio-poweroff {
0187 compatible = "gpio-poweroff";
0188 pinctrl-0 = <&poweroff>;
0189 pinctrl-names = "default";
0190 gpios = <&gpio1 28 GPIO_ACTIVE_LOW>;
0191 };
0192 };
0193
0194 &pciec {
0195 status = "okay";
0196
0197 /* Connected to FL1009 USB 3.0 controller */
0198 pcie@1,0 {
0199 /* Port 0, Lane 0 */
0200 status = "okay";
0201 };
0202
0203 /* Connected to Marvell 88SE9215 SATA controller */
0204 pcie@2,0 {
0205 /* Port 1, Lane 0 */
0206 status = "okay";
0207 };
0208 };
0209
0210 &mdio {
0211 pinctrl-0 = <&mdio_pins>;
0212 pinctrl-names = "default";
0213 phy0: ethernet-phy@0 { /* Marvell 88E1318 */
0214 reg = <0>;
0215 };
0216
0217 phy1: ethernet-phy@1 { /* Marvell 88E1318 */
0218 reg = <1>;
0219 };
0220 };
0221
0222 &pinctrl {
0223 poweroff: poweroff {
0224 marvell,pins = "mpp60";
0225 marvell,function = "gpio";
0226 };
0227
0228 backup_button_pin: backup-button-pin {
0229 marvell,pins = "mpp52";
0230 marvell,function = "gpio";
0231 };
0232
0233 power_button_pin: power-button-pin {
0234 marvell,pins = "mpp62";
0235 marvell,function = "gpio";
0236 };
0237
0238 backup_led_pin: backup-led-pin {
0239 marvell,pins = "mpp63";
0240 marvell,function = "gpio";
0241 };
0242
0243 power_led_pin: power-led-pin {
0244 marvell,pins = "mpp64";
0245 marvell,function = "gpio";
0246 };
0247
0248 reset_button_pin: reset-button-pin {
0249 marvell,pins = "mpp65";
0250 marvell,function = "gpio";
0251 };
0252 };
0253
0254 &nand_controller {
0255 status = "okay";
0256
0257 nand@0 {
0258 reg = <0>;
0259 label = "pxa3xx_nand-0";
0260 nand-rb = <0>;
0261 marvell,nand-keep-config;
0262 nand-on-flash-bbt;
0263
0264 /* Use Hardware BCH ECC */
0265 nand-ecc-strength = <4>;
0266 nand-ecc-step-size = <512>;
0267
0268 partitions {
0269 compatible = "fixed-partitions";
0270 #address-cells = <1>;
0271 #size-cells = <1>;
0272
0273 partition@0 {
0274 label = "u-boot";
0275 reg = <0x0000000 0x180000>; /* 1.5MB */
0276 read-only;
0277 };
0278
0279 partition@180000 {
0280 label = "u-boot-env";
0281 reg = <0x180000 0x20000>; /* 128KB */
0282 read-only;
0283 };
0284
0285 partition@200000 {
0286 label = "uImage";
0287 reg = <0x0200000 0x600000>; /* 6MB */
0288 };
0289
0290 partition@800000 {
0291 label = "minirootfs";
0292 reg = <0x0800000 0x400000>; /* 4MB */
0293 };
0294
0295 /* Last MB is for the BBT, i.e. not writable */
0296 partition@c00000 {
0297 label = "ubifs";
0298 reg = <0x0c00000 0x7400000>; /* 116MB */
0299 };
0300 };
0301 };
0302 };