Home | History | Annotate | Line # | Download | only in dts
      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 (a] 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