xref: /linux/arch/arm/boot/dts/marvell/armada-370-netgear-rn102.dts (revision 724ba6751532055db75992fc6ae21c3e322e94a7)
1ca36855eSGregory CLEMENT// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
22344a29aSArnaud Ebalard/*
32344a29aSArnaud Ebalard * Device Tree file for NETGEAR ReadyNAS 102
42344a29aSArnaud Ebalard *
52344a29aSArnaud Ebalard * Copyright (C) 2013, Arnaud EBALARD <arno@natisbad.org>
62344a29aSArnaud Ebalard */
72344a29aSArnaud Ebalard
82344a29aSArnaud Ebalard/dts-v1/;
92344a29aSArnaud Ebalard
10b8f18162SArnaud Ebalard#include <dt-bindings/input/input.h>
11b8f18162SArnaud Ebalard#include <dt-bindings/gpio/gpio.h>
123d0ed759SJason Cooper#include "armada-370.dtsi"
132344a29aSArnaud Ebalard
142344a29aSArnaud Ebalard/ {
152344a29aSArnaud Ebalard	model = "NETGEAR ReadyNAS 102";
162344a29aSArnaud Ebalard	compatible = "netgear,readynas-102", "marvell,armada370", "marvell,armada-370-xp";
172344a29aSArnaud Ebalard
182344a29aSArnaud Ebalard	chosen {
199552203cSThomas Petazzoni		stdout-path = "serial0:115200n8";
202344a29aSArnaud Ebalard	};
212344a29aSArnaud Ebalard
226f477f43SGregory CLEMENT	memory@0 {
232344a29aSArnaud Ebalard		device_type = "memory";
242344a29aSArnaud Ebalard		reg = <0x00000000 0x20000000>; /* 512 MB */
252344a29aSArnaud Ebalard	};
262344a29aSArnaud Ebalard
272344a29aSArnaud Ebalard	soc {
28b643f858SArnaud Ebalard		ranges = <MBUS_ID(0xf0, 0x01) 0 0xd0000000 0x100000
29b416f192SBoris Brezillon			  MBUS_ID(0x01, 0xe0) 0 0xfff00000 0x100000
30b416f192SBoris Brezillon			  MBUS_ID(0x09, 0x01) 0 0xf1100000 0x10000>;
31b643f858SArnaud Ebalard
322344a29aSArnaud Ebalard		internal-regs {
33784693deSArnaud Ebalard
34784693deSArnaud Ebalard			/* RTC is provided by Intersil ISL12057 I2C RTC chip */
35784693deSArnaud Ebalard			rtc@10300 {
36784693deSArnaud Ebalard				status = "disabled";
37784693deSArnaud Ebalard			};
38784693deSArnaud Ebalard
392344a29aSArnaud Ebalard			serial@12000 {
402344a29aSArnaud Ebalard				status = "okay";
412344a29aSArnaud Ebalard			};
422344a29aSArnaud Ebalard
437bb2fe59SArnaud Ebalard			/* eSATA interface */
442344a29aSArnaud Ebalard			sata@a0000 {
457bb2fe59SArnaud Ebalard				nr-ports = <1>;
462344a29aSArnaud Ebalard				status = "okay";
472344a29aSArnaud Ebalard			};
482344a29aSArnaud Ebalard
492344a29aSArnaud Ebalard			ethernet@74000 {
508c640da6SEzequiel Garcia				pinctrl-0 = <&ge1_rgmii_pins>;
518c640da6SEzequiel Garcia				pinctrl-names = "default";
522344a29aSArnaud Ebalard				status = "okay";
532344a29aSArnaud Ebalard				phy = <&phy0>;
542344a29aSArnaud Ebalard				phy-mode = "rgmii-id";
552344a29aSArnaud Ebalard			};
562344a29aSArnaud Ebalard
572344a29aSArnaud Ebalard			usb@50000 {
582344a29aSArnaud Ebalard				status = "okay";
592344a29aSArnaud Ebalard			};
602344a29aSArnaud Ebalard
612344a29aSArnaud Ebalard			i2c@11000 {
622344a29aSArnaud Ebalard				clock-frequency = <100000>;
63ebbd9896SUwe Kleine-König
64ebbd9896SUwe Kleine-König				pinctrl-0 = <&i2c0_pins>;
65ebbd9896SUwe Kleine-König				pinctrl-names = "default";
66ebbd9896SUwe Kleine-König
672344a29aSArnaud Ebalard				status = "okay";
682344a29aSArnaud Ebalard
69bd1de6a3SAlexandre Belloni				isl12057: rtc@68 {
707a6540caSPhilipp Zabel					compatible = "isil,isl12057";
7149a9b0beSArnaud Ebalard					reg = <0x68>;
728b44f5beSSudeep Holla					wakeup-source;
7349a9b0beSArnaud Ebalard				};
7449a9b0beSArnaud Ebalard
752344a29aSArnaud Ebalard				g762: g762@3e {
762344a29aSArnaud Ebalard					compatible = "gmt,g762";
772344a29aSArnaud Ebalard					reg = <0x3e>;
782344a29aSArnaud Ebalard					clocks = <&g762_clk>; /* input clock */
792344a29aSArnaud Ebalard					fan_gear_mode = <0>;
802344a29aSArnaud Ebalard					fan_startv = <1>;
812344a29aSArnaud Ebalard					pwm_polarity = <0>;
822344a29aSArnaud Ebalard				};
832344a29aSArnaud Ebalard			};
842344a29aSArnaud Ebalard		};
852344a29aSArnaud Ebalard	};
862344a29aSArnaud Ebalard
872344a29aSArnaud Ebalard	clocks {
88b8f18162SArnaud Ebalard		g762_clk: g762-oscillator {
892344a29aSArnaud Ebalard			compatible = "fixed-clock";
902344a29aSArnaud Ebalard			#clock-cells = <0>;
912344a29aSArnaud Ebalard			clock-frequency = <8192>;
922344a29aSArnaud Ebalard		};
932344a29aSArnaud Ebalard	};
942344a29aSArnaud Ebalard
95b8f18162SArnaud Ebalard	gpio-leds {
962344a29aSArnaud Ebalard		compatible = "gpio-leds";
972344a29aSArnaud Ebalard		pinctrl-0 = <&power_led_pin
982344a29aSArnaud Ebalard			     &sata1_led_pin
992344a29aSArnaud Ebalard			     &sata2_led_pin
1002344a29aSArnaud Ebalard			     &backup_led_pin>;
1012344a29aSArnaud Ebalard		pinctrl-names = "default";
1022344a29aSArnaud Ebalard
103b8f18162SArnaud Ebalard		blue-power-led {
1042344a29aSArnaud Ebalard			label = "rn102:blue:pwr";
105b8f18162SArnaud Ebalard			gpios = <&gpio1 25 GPIO_ACTIVE_LOW>;
106dcdf14c7SJason Cooper			default-state = "keep";
1072344a29aSArnaud Ebalard		};
1082344a29aSArnaud Ebalard
1093622daf8SArnaud Ebalard		blue-sata1-led {
1103622daf8SArnaud Ebalard			label = "rn102:blue:sata1";
111b8f18162SArnaud Ebalard			gpios = <&gpio0 15 GPIO_ACTIVE_LOW>;
1122344a29aSArnaud Ebalard			default-state = "on";
1132344a29aSArnaud Ebalard		};
1142344a29aSArnaud Ebalard
1153622daf8SArnaud Ebalard		blue-sata2-led {
1163622daf8SArnaud Ebalard			label = "rn102:blue:sata2";
117b8f18162SArnaud Ebalard			gpios = <&gpio0 14 GPIO_ACTIVE_LOW>;
1182344a29aSArnaud Ebalard			default-state = "on";
1192344a29aSArnaud Ebalard		};
1202344a29aSArnaud Ebalard
1213622daf8SArnaud Ebalard		blue-backup-led {
1223622daf8SArnaud Ebalard			label = "rn102:blue:backup";
123b8f18162SArnaud Ebalard			gpios = <&gpio1 24 GPIO_ACTIVE_LOW>;
1242344a29aSArnaud Ebalard			default-state = "on";
1252344a29aSArnaud Ebalard		};
1262344a29aSArnaud Ebalard	};
1272344a29aSArnaud Ebalard
128b8f18162SArnaud Ebalard	gpio-keys {
1292344a29aSArnaud Ebalard		compatible = "gpio-keys";
130b8f18162SArnaud Ebalard		pinctrl-0 = <&power_button_pin
131b8f18162SArnaud Ebalard			     &reset_button_pin
132b8f18162SArnaud Ebalard			     &backup_button_pin>;
133b8f18162SArnaud Ebalard		pinctrl-names = "default";
1342344a29aSArnaud Ebalard
135b8f18162SArnaud Ebalard		power-button {
1362344a29aSArnaud Ebalard			label = "Power Button";
137b8f18162SArnaud Ebalard			linux,code = <KEY_POWER>;
138b8f18162SArnaud Ebalard			gpios = <&gpio1 30 GPIO_ACTIVE_HIGH>;
1392344a29aSArnaud Ebalard		};
1402344a29aSArnaud Ebalard
141b8f18162SArnaud Ebalard		reset-button {
1422344a29aSArnaud Ebalard			label = "Reset Button";
143b8f18162SArnaud Ebalard			linux,code = <KEY_RESTART>;
144b8f18162SArnaud Ebalard			gpios = <&gpio0 6 GPIO_ACTIVE_LOW>;
1452344a29aSArnaud Ebalard		};
1462344a29aSArnaud Ebalard
147b8f18162SArnaud Ebalard		backup-button {
1482344a29aSArnaud Ebalard			label = "Backup Button";
149b8f18162SArnaud Ebalard			linux,code = <KEY_COPY>;
150b8f18162SArnaud Ebalard			gpios = <&gpio1 26 GPIO_ACTIVE_LOW>;
1512344a29aSArnaud Ebalard		};
1522344a29aSArnaud Ebalard	};
1532344a29aSArnaud Ebalard
154b8f18162SArnaud Ebalard	gpio-poweroff {
1552832cf25SArnaud Ebalard		compatible = "gpio-poweroff";
1562832cf25SArnaud Ebalard		pinctrl-0 = <&poweroff>;
1572832cf25SArnaud Ebalard		pinctrl-names = "default";
158b8f18162SArnaud Ebalard		gpios = <&gpio0 8 GPIO_ACTIVE_LOW>;
1592832cf25SArnaud Ebalard	};
1602344a29aSArnaud Ebalard};
1614904a82aSArnaud Ebalard
1628d977093SGregory CLEMENT&pciec {
1638d977093SGregory CLEMENT	status = "okay";
1648d977093SGregory CLEMENT
1658d977093SGregory CLEMENT	/* Connected to Marvell 88SE9170 SATA controller */
1668d977093SGregory CLEMENT	pcie@1,0 {
1678d977093SGregory CLEMENT		/* Port 0, Lane 0 */
1688d977093SGregory CLEMENT		status = "okay";
1698d977093SGregory CLEMENT	};
1708d977093SGregory CLEMENT
1718d977093SGregory CLEMENT	/* Connected to FL1009 USB 3.0 controller */
1728d977093SGregory CLEMENT	pcie@2,0 {
1738d977093SGregory CLEMENT		/* Port 1, Lane 0 */
1748d977093SGregory CLEMENT		status = "okay";
1758d977093SGregory CLEMENT	};
1768d977093SGregory CLEMENT};
1778d977093SGregory CLEMENT
1781fc21295SGregory CLEMENT&mdio {
1791fc21295SGregory CLEMENT	pinctrl-0 = <&mdio_pins>;
1801fc21295SGregory CLEMENT	pinctrl-names = "default";
1811fc21295SGregory CLEMENT	phy0: ethernet-phy@0 { /* Marvell 88E1318 */
1821fc21295SGregory CLEMENT		reg = <0>;
1831fc21295SGregory CLEMENT	};
1841fc21295SGregory CLEMENT};
1851fc21295SGregory CLEMENT
1864904a82aSArnaud Ebalard&pinctrl {
1874904a82aSArnaud Ebalard	power_led_pin: power-led-pin {
1884904a82aSArnaud Ebalard		marvell,pins = "mpp57";
1894904a82aSArnaud Ebalard		marvell,function = "gpio";
1904904a82aSArnaud Ebalard	};
1914904a82aSArnaud Ebalard
1924904a82aSArnaud Ebalard	sata1_led_pin: sata1-led-pin {
1934904a82aSArnaud Ebalard		marvell,pins = "mpp15";
1944904a82aSArnaud Ebalard		marvell,function = "gpio";
1954904a82aSArnaud Ebalard	};
1964904a82aSArnaud Ebalard
1974904a82aSArnaud Ebalard	sata2_led_pin: sata2-led-pin {
1984904a82aSArnaud Ebalard		marvell,pins = "mpp14";
1994904a82aSArnaud Ebalard		marvell,function = "gpio";
2004904a82aSArnaud Ebalard	};
2014904a82aSArnaud Ebalard
2024904a82aSArnaud Ebalard	backup_led_pin: backup-led-pin {
2034904a82aSArnaud Ebalard		marvell,pins = "mpp56";
2044904a82aSArnaud Ebalard		marvell,function = "gpio";
2054904a82aSArnaud Ebalard	};
2064904a82aSArnaud Ebalard
2074904a82aSArnaud Ebalard	backup_button_pin: backup-button-pin {
2084904a82aSArnaud Ebalard		marvell,pins = "mpp58";
2094904a82aSArnaud Ebalard		marvell,function = "gpio";
2104904a82aSArnaud Ebalard	};
2114904a82aSArnaud Ebalard
2124904a82aSArnaud Ebalard	power_button_pin: power-button-pin {
2134904a82aSArnaud Ebalard		marvell,pins = "mpp62";
2144904a82aSArnaud Ebalard		marvell,function = "gpio";
2154904a82aSArnaud Ebalard	};
2164904a82aSArnaud Ebalard
2174904a82aSArnaud Ebalard	reset_button_pin: reset-button-pin {
2184904a82aSArnaud Ebalard		marvell,pins = "mpp6";
2194904a82aSArnaud Ebalard		marvell,function = "gpio";
2204904a82aSArnaud Ebalard	};
2214904a82aSArnaud Ebalard
2224904a82aSArnaud Ebalard	poweroff: poweroff {
2234904a82aSArnaud Ebalard		marvell,pins = "mpp8";
2244904a82aSArnaud Ebalard		marvell,function = "gpio";
2254904a82aSArnaud Ebalard	};
2264904a82aSArnaud Ebalard};
227*3b799199SMiquel Raynal
228*3b799199SMiquel Raynal&nand_controller {
229*3b799199SMiquel Raynal	status = "okay";
230*3b799199SMiquel Raynal
231*3b799199SMiquel Raynal	nand@0 {
232*3b799199SMiquel Raynal		reg = <0>;
233*3b799199SMiquel Raynal		label = "pxa3xx_nand-0";
234*3b799199SMiquel Raynal		nand-rb = <0>;
235*3b799199SMiquel Raynal		marvell,nand-keep-config;
236*3b799199SMiquel Raynal		nand-on-flash-bbt;
237*3b799199SMiquel Raynal
238*3b799199SMiquel Raynal		/* Use Hardware BCH ECC */
239*3b799199SMiquel Raynal		nand-ecc-strength = <4>;
240*3b799199SMiquel Raynal		nand-ecc-step-size = <512>;
241*3b799199SMiquel Raynal
242*3b799199SMiquel Raynal		partitions {
243*3b799199SMiquel Raynal			compatible = "fixed-partitions";
244*3b799199SMiquel Raynal			#address-cells = <1>;
245*3b799199SMiquel Raynal			#size-cells = <1>;
246*3b799199SMiquel Raynal
247*3b799199SMiquel Raynal			partition@0 {
248*3b799199SMiquel Raynal				label = "u-boot";
249*3b799199SMiquel Raynal				reg = <0x0000000 0x180000>;  /* 1.5MB */
250*3b799199SMiquel Raynal				read-only;
251*3b799199SMiquel Raynal			};
252*3b799199SMiquel Raynal
253*3b799199SMiquel Raynal			partition@180000 {
254*3b799199SMiquel Raynal				label = "u-boot-env";
255*3b799199SMiquel Raynal				reg = <0x180000 0x20000>;    /* 128KB */
256*3b799199SMiquel Raynal				read-only;
257*3b799199SMiquel Raynal			};
258*3b799199SMiquel Raynal
259*3b799199SMiquel Raynal			partition@200000 {
260*3b799199SMiquel Raynal				label = "uImage";
261*3b799199SMiquel Raynal				reg = <0x0200000 0x600000>;    /* 6MB */
262*3b799199SMiquel Raynal			};
263*3b799199SMiquel Raynal
264*3b799199SMiquel Raynal			partition@800000 {
265*3b799199SMiquel Raynal				label = "minirootfs";
266*3b799199SMiquel Raynal				reg = <0x0800000 0x400000>;    /* 4MB */
267*3b799199SMiquel Raynal			};
268*3b799199SMiquel Raynal
269*3b799199SMiquel Raynal			/* Last MB is for the BBT, i.e. not writable */
270*3b799199SMiquel Raynal			partition@c00000 {
271*3b799199SMiquel Raynal				label = "ubifs";
272*3b799199SMiquel Raynal				reg = <0x0c00000 0x7400000>; /* 116MB */
273*3b799199SMiquel Raynal			};
274*3b799199SMiquel Raynal		};
275*3b799199SMiquel Raynal	};
276*3b799199SMiquel Raynal};
277