aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/boot
diff options
context:
space:
mode:
authorBen Peddell <klightspeed@killerwolves.net>2014-02-19 15:02:37 -0500
committerJason Cooper <jason@lakedaemon.net>2014-02-21 20:48:55 -0500
commit2d0a7addbd109bd4a586d2ae2914a0047a4719de (patch)
tree07afae1a628ee3eec98b1eeff65602b6cd8c8247 /arch/arm/boot
parent36670de13d711f58467e99acbde4dfc0db98543c (diff)
ARM: Kirkwood: Add support for many Synology NAS devices
Add device tree fragments and files to support many of the kirkwood based Synology NAS devices. This is a modification of Andrew Lunn's <andrew@lunn.ch> translation of the board setup file maintained by Ben Peddell <klightspeed@killerwolves.net> The Ricoh RS5C372 RTC was used in all 2009 units and some 2010 units. All other Synology Kirkwood-based DiskStations and RackStations use the Seiko S35390A RTC. Most of the 1-bay and 2-bay units use the GPIOs that are multiplexed with the built-in SATA interface activity/presence pins on mpp 20-23, while the 4-bay units use ge01 and a PCIe SATA controller, and put the software controlled HDD leds on mpp 36-43. Most of the 6281 units with HDD power controls use mpp 29 and 31, while most of the 6282 units with HDD power controls use mpp 30, 34, 44 and 45 and provide a model ID on mpp 28, 29, 46 and 47. Pre-2012 units and most 4-bay units didn't have a separate power control for HDD1. These power controls are presumably to limit startup current from the 12V brick power supply. Instead of using separate dtsi files in a synology directory, this patch uses a single dtsi file containing all of the modules for these boards, with all of the modules not common to all boards disabled. The board dts files then enable the appropriate modules for their boards. Signed-off-by: Andrew Lunn <andrew@lunn.ch> Signed-off-by: Ben Peddell <klightspeed@killerwolves.net> Tested-by: Ben Peddell <klightspeed@killerwolves.net> (ds211j) Signed-off-by: Jason Cooper <jason@lakedaemon.net>
Diffstat (limited to 'arch/arm/boot')
-rw-r--r--arch/arm/boot/dts/Makefile15
-rw-r--r--arch/arm/boot/dts/kirkwood-ds109.dts41
-rw-r--r--arch/arm/boot/dts/kirkwood-ds110jv10.dts41
-rw-r--r--arch/arm/boot/dts/kirkwood-ds111.dts44
-rw-r--r--arch/arm/boot/dts/kirkwood-ds112.dts48
-rw-r--r--arch/arm/boot/dts/kirkwood-ds209.dts44
-rw-r--r--arch/arm/boot/dts/kirkwood-ds210.dts46
-rw-r--r--arch/arm/boot/dts/kirkwood-ds212.dts47
-rw-r--r--arch/arm/boot/dts/kirkwood-ds212j.dts41
-rw-r--r--arch/arm/boot/dts/kirkwood-ds409.dts48
-rw-r--r--arch/arm/boot/dts/kirkwood-ds409slim.dts40
-rw-r--r--arch/arm/boot/dts/kirkwood-ds411.dts52
-rw-r--r--arch/arm/boot/dts/kirkwood-ds411j.dts48
-rw-r--r--arch/arm/boot/dts/kirkwood-ds411slim.dts48
-rw-r--r--arch/arm/boot/dts/kirkwood-rs212.dts48
-rw-r--r--arch/arm/boot/dts/kirkwood-rs409.dts44
-rw-r--r--arch/arm/boot/dts/kirkwood-rs411.dts44
-rw-r--r--arch/arm/boot/dts/kirkwood-synology.dtsi871
18 files changed, 1610 insertions, 0 deletions
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 0eda36cbf7e0..7b54b05b9395 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -90,6 +90,18 @@ dtb-$(CONFIG_ARCH_KIRKWOOD) += kirkwood-b3.dtb \
90 kirkwood-dns325.dtb \ 90 kirkwood-dns325.dtb \
91 kirkwood-dockstar.dtb \ 91 kirkwood-dockstar.dtb \
92 kirkwood-dreamplug.dtb \ 92 kirkwood-dreamplug.dtb \
93 kirkwood-ds109.dtb \
94 kirkwood-ds110jv10.dtb \
95 kirkwood-ds111.dtb \
96 kirkwood-ds209.dtb \
97 kirkwood-ds210.dtb \
98 kirkwood-ds212.dtb \
99 kirkwood-ds212j.dtb \
100 kirkwood-ds409.dtb \
101 kirkwood-ds409slim.dtb \
102 kirkwood-ds411.dtb \
103 kirkwood-ds411j.dtb \
104 kirkwood-ds411slim.dtb \
93 kirkwood-goflexnet.dtb \ 105 kirkwood-goflexnet.dtb \
94 kirkwood-guruplug-server-plus.dtb \ 106 kirkwood-guruplug-server-plus.dtb \
95 kirkwood-ib62x0.dtb \ 107 kirkwood-ib62x0.dtb \
@@ -115,6 +127,9 @@ dtb-$(CONFIG_ARCH_KIRKWOOD) += kirkwood-b3.dtb \
115 kirkwood-rd88f6192.dtb \ 127 kirkwood-rd88f6192.dtb \
116 kirkwood-rd88f6281-a0.dtb \ 128 kirkwood-rd88f6281-a0.dtb \
117 kirkwood-rd88f6281-a1.dtb \ 129 kirkwood-rd88f6281-a1.dtb \
130 kirkwood-rs212.dtb \
131 kirkwood-rs409.dtb \
132 kirkwood-rs411.dtb \
118 kirkwood-sheevaplug.dtb \ 133 kirkwood-sheevaplug.dtb \
119 kirkwood-sheevaplug-esata.dtb \ 134 kirkwood-sheevaplug-esata.dtb \
120 kirkwood-topkick.dtb \ 135 kirkwood-topkick.dtb \
diff --git a/arch/arm/boot/dts/kirkwood-ds109.dts b/arch/arm/boot/dts/kirkwood-ds109.dts
new file mode 100644
index 000000000000..772092c94ca3
--- /dev/null
+++ b/arch/arm/boot/dts/kirkwood-ds109.dts
@@ -0,0 +1,41 @@
1/*
2 * Andrew Lunn <andrew@lunn.ch>
3 * Ben Peddell <klightspeed@killerwolves.net>
4 *
5 * This file is licensed under the terms of the GNU General Public
6 * License version 2. This program is licensed "as is" without any
7 * warranty of any kind, whether express or implied.
8 */
9
10/dts-v1/;
11
12#include "kirkwood.dtsi"
13#include "kirkwood-6281.dtsi"
14#include "kirkwood-synology.dtsi"
15
16/ {
17 model = "Synology DS109, DS110, DS110jv20";
18 compatible = "synology,ds109", "synology,ds110jv20",
19 "synology,ds110", "marvell,kirkwood";
20
21 memory {
22 device_type = "memory";
23 reg = <0x00000000 0x8000000>;
24 };
25
26 chosen {
27 bootargs = "console=ttyS0,115200n8";
28 };
29
30 gpio-fan-150-32-35 {
31 status = "okay";
32 };
33
34 gpio-leds-hdd-21-1 {
35 status = "okay";
36 };
37};
38
39&rs5c372 {
40 status = "okay";
41};
diff --git a/arch/arm/boot/dts/kirkwood-ds110jv10.dts b/arch/arm/boot/dts/kirkwood-ds110jv10.dts
new file mode 100644
index 000000000000..aabafbe0da4c
--- /dev/null
+++ b/arch/arm/boot/dts/kirkwood-ds110jv10.dts
@@ -0,0 +1,41 @@
1/*
2 * Andrew Lunn <andrew@lunn.ch>
3 * Ben Peddell <klightspeed@killerwolves.net>
4 *
5 * This file is licensed under the terms of the GNU General Public
6 * License version 2. This program is licensed "as is" without any
7 * warranty of any kind, whether express or implied.
8 */
9
10/dts-v1/;
11
12#include "kirkwood.dtsi"
13#include "kirkwood-6281.dtsi"
14#include "kirkwood-synology.dtsi"
15
16/ {
17 model = "Synology DS110j v10 and v30";
18 compatible = "synology,ds110jv10", "synology,ds110jv30",
19 "marvell,kirkwood";
20
21 memory {
22 device_type = "memory";
23 reg = <0x00000000 0x8000000>;
24 };
25
26 chosen {
27 bootargs = "console=ttyS0,115200n8";
28 };
29
30 gpio-fan-150-32-35 {
31 status = "okay";
32 };
33
34 gpio-leds-hdd-21-1 {
35 status = "okay";
36 };
37};
38
39&s35390a {
40 status = "okay";
41};
diff --git a/arch/arm/boot/dts/kirkwood-ds111.dts b/arch/arm/boot/dts/kirkwood-ds111.dts
new file mode 100644
index 000000000000..16ec7fbab573
--- /dev/null
+++ b/arch/arm/boot/dts/kirkwood-ds111.dts
@@ -0,0 +1,44 @@
1/*
2 * Andrew Lunn <andrew@lunn.ch>
3 * Ben Peddell <klightspeed@killerwolves.net>
4 *
5 * This file is licensed under the terms of the GNU General Public
6 * License version 2. This program is licensed "as is" without any
7 * warranty of any kind, whether express or implied.
8 */
9
10/dts-v1/;
11
12#include "kirkwood.dtsi"
13#include "kirkwood-6282.dtsi"
14#include "kirkwood-synology.dtsi"
15
16/ {
17 model = "Synology DS111";
18 compatible = "synology,ds111", "marvell,kirkwood";
19
20 memory {
21 device_type = "memory";
22 reg = <0x00000000 0x8000000>;
23 };
24
25 chosen {
26 bootargs = "console=ttyS0,115200n8";
27 };
28
29 gpio-fan-100-15-35-1 {
30 status = "okay";
31 };
32
33 gpio-leds-hdd-21-1 {
34 status = "okay";
35 };
36};
37
38&s35390a {
39 status = "okay";
40};
41
42&pcie2 {
43 status = "okay";
44};
diff --git a/arch/arm/boot/dts/kirkwood-ds112.dts b/arch/arm/boot/dts/kirkwood-ds112.dts
new file mode 100644
index 000000000000..cff1b2388765
--- /dev/null
+++ b/arch/arm/boot/dts/kirkwood-ds112.dts
@@ -0,0 +1,48 @@
1/*
2 * Andrew Lunn <andrew@lunn.ch>
3 * Ben Peddell <klightspeed@killerwolves.net>
4 *
5 * This file is licensed under the terms of the GNU General Public
6 * License version 2. This program is licensed "as is" without any
7 * warranty of any kind, whether express or implied.
8 */
9
10/dts-v1/;
11
12#include "kirkwood.dtsi"
13#include "kirkwood-6282.dtsi"
14#include "kirkwood-synology.dtsi"
15
16/ {
17 model = "Synology DS111";
18 compatible = "synology,ds111", "marvell,kirkwood";
19
20 memory {
21 device_type = "memory";
22 reg = <0x00000000 0x8000000>;
23 };
24
25 chosen {
26 bootargs = "console=ttyS0,115200n8";
27 };
28
29 gpio-fan-100-15-35-1 {
30 status = "okay";
31 };
32
33 gpio-leds-21-2 {
34 status = "okay";
35 };
36
37 regulators-hdd-30 {
38 status = "okay";
39 };
40};
41
42&s35390a {
43 status = "okay";
44};
45
46&pcie2 {
47 status = "okay";
48};
diff --git a/arch/arm/boot/dts/kirkwood-ds209.dts b/arch/arm/boot/dts/kirkwood-ds209.dts
new file mode 100644
index 000000000000..330411993d38
--- /dev/null
+++ b/arch/arm/boot/dts/kirkwood-ds209.dts
@@ -0,0 +1,44 @@
1/*
2 * Andrew Lunn <andrew@lunn.ch>
3 * Ben Peddell <klightspeed@killerwolves.net>
4 *
5 * This file is licensed under the terms of the GNU General Public
6 * License version 2. This program is licensed "as is" without any
7 * warranty of any kind, whether express or implied.
8 */
9
10/dts-v1/;
11
12#include "kirkwood.dtsi"
13#include "kirkwood-6281.dtsi"
14#include "kirkwood-synology.dtsi"
15
16/ {
17 model = "Synology DS209";
18 compatible = "synology,ds209", "marvell,kirkwood";
19
20 memory {
21 device_type = "memory";
22 reg = <0x00000000 0x8000000>;
23 };
24
25 chosen {
26 bootargs = "console=ttyS0,115200n8";
27 };
28
29 gpio-fan-150-32-35 {
30 status = "okay";
31 };
32
33 gpio-leds-hdd-21-2 {
34 status = "okay";
35 };
36
37 regulators-hdd-31 {
38 status = "okay";
39 };
40};
41
42&rs5c372 {
43 status = "okay";
44};
diff --git a/arch/arm/boot/dts/kirkwood-ds210.dts b/arch/arm/boot/dts/kirkwood-ds210.dts
new file mode 100644
index 000000000000..6052eaa37d4f
--- /dev/null
+++ b/arch/arm/boot/dts/kirkwood-ds210.dts
@@ -0,0 +1,46 @@
1/*
2 * Andrew Lunn <andrew@lunn.ch>
3 * Ben Peddell <klightspeed@killerwolves.net>
4 *
5 * This file is licensed under the terms of the GNU General Public
6 * License version 2. This program is licensed "as is" without any
7 * warranty of any kind, whether express or implied.
8 */
9
10/dts-v1/;
11
12#include "kirkwood.dtsi"
13#include "kirkwood-6281.dtsi"
14#include "kirkwood-synology.dtsi"
15
16/ {
17 model = "Synology DS210 v10, v20, v30, DS211j";
18 compatible = "synology,ds210jv10", "synology,ds210jv20",
19 "synology,ds210jv30", "synology,ds211j",
20 "marvell,kirkwood";
21
22 memory {
23 device_type = "memory";
24 reg = <0x00000000 0x8000000>;
25 };
26
27 chosen {
28 bootargs = "console=ttyS0,115200n8";
29 };
30
31 gpio-fan-150-32-35 {
32 status = "okay";
33 };
34
35 gpio-leds-hdd-21-2 {
36 status = "okay";
37 };
38
39 regulators-hdd-31 {
40 status = "okay";
41 };
42};
43
44&s35390a {
45 status = "okay";
46};
diff --git a/arch/arm/boot/dts/kirkwood-ds212.dts b/arch/arm/boot/dts/kirkwood-ds212.dts
new file mode 100644
index 000000000000..7f76cd30e84e
--- /dev/null
+++ b/arch/arm/boot/dts/kirkwood-ds212.dts
@@ -0,0 +1,47 @@
1/*
2 * Andrew Lunn <andrew@lunn.ch>
3 * Ben Peddell <klightspeed@killerwolves.net>
4 *
5 * This file is licensed under the terms of the GNU General Public
6 * License version 2. This program is licensed "as is" without any
7 * warranty of any kind, whether express or implied.
8 */
9
10/dts-v1/;
11
12#include "kirkwood.dtsi"
13#include "kirkwood-6282.dtsi"
14#include "kirkwood-synology.dtsi"
15
16/ {
17 model = "Synology DS212, DS212p v10, v20, DS213air v10, DS213 v10";
18 compatible = "synology,ds212", "synology,ds212pv10",
19 "synology,ds212pv10", "synology,ds212pv20",
20 "synology,ds213airv10", "synology,ds213v10",
21 "marvell,kirkwood";
22
23 memory {
24 device_type = "memory";
25 reg = <0x00000000 0x8000000>;
26 };
27
28 chosen {
29 bootargs = "console=ttyS0,115200n8";
30 };
31
32 gpio-fan-100-15-35-1 {
33 status = "okay";
34 };
35
36 gpio-leds-hdd-21-2 {
37 status = "okay";
38 };
39};
40
41&s35390a {
42 status = "okay";
43};
44
45&pcie2 {
46 status = "okay";
47};
diff --git a/arch/arm/boot/dts/kirkwood-ds212j.dts b/arch/arm/boot/dts/kirkwood-ds212j.dts
new file mode 100644
index 000000000000..1f83a00f1f74
--- /dev/null
+++ b/arch/arm/boot/dts/kirkwood-ds212j.dts
@@ -0,0 +1,41 @@
1/*
2 * Andrew Lunn <andrew@lunn.ch>
3 * Ben Peddell <klightspeed@killerwolves.net>
4 *
5 * This file is licensed under the terms of the GNU General Public
6 * License version 2. This program is licensed "as is" without any
7 * warranty of any kind, whether express or implied.
8 */
9
10/dts-v1/;
11
12#include "kirkwood.dtsi"
13#include "kirkwood-6281.dtsi"
14#include "kirkwood-synology.dtsi"
15
16/ {
17 model = "Synology DS212j v10, v20";
18 compatible = "synology,ds212jv10", "synology,ds212jv20",
19 "marvell,kirkwood";
20
21 memory {
22 device_type = "memory";
23 reg = <0x00000000 0x8000000>;
24 };
25
26 chosen {
27 bootargs = "console=ttyS0,115200n8";
28 };
29
30 gpio-fan-100-32-35 {
31 status = "okay";
32 };
33
34 gpio-leds-hdd-21-2 {
35 status = "okay";
36 };
37};
38
39&s35390a {
40 status = "okay";
41};
diff --git a/arch/arm/boot/dts/kirkwood-ds409.dts b/arch/arm/boot/dts/kirkwood-ds409.dts
new file mode 100644
index 000000000000..0a573add44a2
--- /dev/null
+++ b/arch/arm/boot/dts/kirkwood-ds409.dts
@@ -0,0 +1,48 @@
1/*
2 * Andrew Lunn <andrew@lunn.ch>
3 * Ben Peddell <klightspeed@killerwolves.net>
4 *
5 * This file is licensed under the terms of the GNU General Public
6 * License version 2. This program is licensed "as is" without any
7 * warranty of any kind, whether express or implied.
8 */
9
10/dts-v1/;
11
12#include "kirkwood.dtsi"
13#include "kirkwood-6281.dtsi"
14#include "kirkwood-synology.dtsi"
15
16/ {
17 model = "Synology DS409, DS410j";
18 compatible = "synology,ds409", "synology,ds410j", "marvell,kirkwood";
19
20 memory {
21 device_type = "memory";
22 reg = <0x00000000 0x8000000>;
23 };
24
25 chosen {
26 bootargs = "console=ttyS0,115200n8";
27 };
28
29 gpio-fan-150-15-18 {
30 status = "okay";
31 };
32
33 gpio-leds-hdd-36 {
34 status = "okay";
35 };
36
37 gpio-leds-alarm-12 {
38 status = "okay";
39 };
40};
41
42&eth1 {
43 status = "okay";
44};
45
46&rs5c372 {
47 status = "okay";
48};
diff --git a/arch/arm/boot/dts/kirkwood-ds409slim.dts b/arch/arm/boot/dts/kirkwood-ds409slim.dts
new file mode 100644
index 000000000000..1848a6245fd3
--- /dev/null
+++ b/arch/arm/boot/dts/kirkwood-ds409slim.dts
@@ -0,0 +1,40 @@
1/*
2 * Andrew Lunn <andrew@lunn.ch>
3 * Ben Peddell <klightspeed@killerwolves.net>
4 *
5 * This file is licensed under the terms of the GNU General Public
6 * License version 2. This program is licensed "as is" without any
7 * warranty of any kind, whether express or implied.
8 */
9
10/dts-v1/;
11
12#include "kirkwood.dtsi"
13#include "kirkwood-6281.dtsi"
14#include "kirkwood-synology.dtsi"
15
16/ {
17 model = "Synology 409slim";
18 compatible = "synology,ds409slim", "marvell,kirkwood";
19
20 memory {
21 device_type = "memory";
22 reg = <0x00000000 0x8000000>;
23 };
24
25 chosen {
26 bootargs = "console=ttyS0,115200n8";
27 };
28
29 gpio-fan-150-32-35 {
30 status = "okay";
31 };
32
33 gpio-leds-hdd-20 {
34 status = "okay";
35 };
36};
37
38&rs5c372 {
39 status = "okay";
40};
diff --git a/arch/arm/boot/dts/kirkwood-ds411.dts b/arch/arm/boot/dts/kirkwood-ds411.dts
new file mode 100644
index 000000000000..a1737b4311c6
--- /dev/null
+++ b/arch/arm/boot/dts/kirkwood-ds411.dts
@@ -0,0 +1,52 @@
1/*
2 * Andrew Lunn <andrew@lunn.ch>
3 * Ben Peddell <klightspeed@killerwolves.net>
4 *
5 * This file is licensed under the terms of the GNU General Public
6 * License version 2. This program is licensed "as is" without any
7 * warranty of any kind, whether express or implied.
8 */
9
10/dts-v1/;
11
12#include "kirkwood.dtsi"
13#include "kirkwood-6282.dtsi"
14#include "kirkwood-synology.dtsi"
15
16/ {
17 model = "Synology DS411, DS413jv10";
18 compatible = "synology,ds411", "synology,ds413jv10", "marvell,kirkwood";
19
20 memory {
21 device_type = "memory";
22 reg = <0x00000000 0x8000000>;
23 };
24
25 chosen {
26 bootargs = "console=ttyS0,115200n8";
27 };
28
29 gpio-fan-100-15-35-1 {
30 status = "okay";
31 };
32
33 gpio-leds-hdd-36 {
34 status = "okay";
35 };
36
37 regulators-hdd-34 {
38 status = "okay";
39 };
40};
41
42&eth1 {
43 status = "okay";
44};
45
46&s35390a {
47 status = "okay";
48};
49
50&pcie2 {
51 status = "okay";
52};
diff --git a/arch/arm/boot/dts/kirkwood-ds411j.dts b/arch/arm/boot/dts/kirkwood-ds411j.dts
new file mode 100644
index 000000000000..0cde914eceae
--- /dev/null
+++ b/arch/arm/boot/dts/kirkwood-ds411j.dts
@@ -0,0 +1,48 @@
1/*
2 * Andrew Lunn <andrew@lunn.ch>
3 * Ben Peddell <klightspeed@killerwolves.net>
4 *
5 * This file is licensed under the terms of the GNU General Public
6 * License version 2. This program is licensed "as is" without any
7 * warranty of any kind, whether express or implied.
8 */
9
10/dts-v1/;
11
12#include "kirkwood.dtsi"
13#include "kirkwood-6281.dtsi"
14#include "kirkwood-synology.dtsi"
15
16/ {
17 model = "Synology DS411j";
18 compatible = "synology,ds411j", "marvell,kirkwood";
19
20 memory {
21 device_type = "memory";
22 reg = <0x00000000 0x8000000>;
23 };
24
25 chosen {
26 bootargs = "console=ttyS0,115200n8";
27 };
28
29 gpio-fan-150-15-18 {
30 status = "okay";
31 };
32
33 gpio-leds-hdd-36 {
34 status = "okay";
35 };
36
37 gpio-leds-alarm-12 {
38 status = "okay";
39 };
40};
41
42&eth1 {
43 status = "okay";
44};
45
46&s35390a {
47 status = "okay";
48};
diff --git a/arch/arm/boot/dts/kirkwood-ds411slim.dts b/arch/arm/boot/dts/kirkwood-ds411slim.dts
new file mode 100644
index 000000000000..aef0cadc2c78
--- /dev/null
+++ b/arch/arm/boot/dts/kirkwood-ds411slim.dts
@@ -0,0 +1,48 @@
1/*
2 * Andrew Lunn <andrew@lunn.ch>
3 * Ben Peddell <klightspeed@killerwolves.net>
4 *
5 * This file is licensed under the terms of the GNU General Public
6 * License version 2. This program is licensed "as is" without any
7 * warranty of any kind, whether express or implied.
8 */
9
10/dts-v1/;
11
12#include "kirkwood.dtsi"
13#include "kirkwood-6282.dtsi"
14#include "kirkwood-synology.dtsi"
15
16/ {
17 model = "Synology DS411slim";
18 compatible = "synology,ds411slim", "marvell,kirkwood";
19
20 memory {
21 device_type = "memory";
22 reg = <0x00000000 0x8000000>;
23 };
24
25 chosen {
26 bootargs = "console=ttyS0,115200n8";
27 };
28
29 gpio-fan-100-15-35-1 {
30 status = "okay";
31 };
32
33 gpio-leds-hdd-36 {
34 status = "okay";
35 };
36};
37
38&eth1 {
39 status = "okay";
40};
41
42&s35390a {
43 status = "okay";
44};
45
46&pcie2 {
47 status = "okay";
48};
diff --git a/arch/arm/boot/dts/kirkwood-rs212.dts b/arch/arm/boot/dts/kirkwood-rs212.dts
new file mode 100644
index 000000000000..93ec3d00c6ab
--- /dev/null
+++ b/arch/arm/boot/dts/kirkwood-rs212.dts
@@ -0,0 +1,48 @@
1/*
2 * Andrew Lunn <andrew@lunn.ch>
3 * Ben Peddell <klightspeed@killerwolves.net>
4 *
5 * This file is licensed under the terms of the GNU General Public
6 * License version 2. This program is licensed "as is" without any
7 * warranty of any kind, whether express or implied.
8 */
9
10/dts-v1/;
11
12#include "kirkwood.dtsi"
13#include "kirkwood-6282.dtsi"
14#include "kirkwood-synology.dtsi"
15
16/ {
17 model = "Synology RS212";
18 compatible = "synology,rs212", "marvell,kirkwood";
19
20 memory {
21 device_type = "memory";
22 reg = <0x00000000 0x8000000>;
23 };
24
25 chosen {
26 bootargs = "console=ttyS0,115200n8";
27 };
28
29 gpio-fan-100-15-35-3 {
30 status = "okay";
31 };
32
33 gpio-leds-hdd-38 {
34 status = "okay";
35 };
36
37 regulators-hdd-30-2 {
38 status = "okay";
39 };
40};
41
42&s35390a {
43 status = "okay";
44};
45
46&pcie2 {
47 status = "okay";
48};
diff --git a/arch/arm/boot/dts/kirkwood-rs409.dts b/arch/arm/boot/dts/kirkwood-rs409.dts
new file mode 100644
index 000000000000..311df4e5aa28
--- /dev/null
+++ b/arch/arm/boot/dts/kirkwood-rs409.dts
@@ -0,0 +1,44 @@
1/*
2 * Andrew Lunn <andrew@lunn.ch>
3 * Ben Peddell <klightspeed@killerwolves.net>
4 *
5 * This file is licensed under the terms of the GNU General Public
6 * License version 2. This program is licensed "as is" without any
7 * warranty of any kind, whether express or implied.
8 */
9
10/dts-v1/;
11
12#include "kirkwood.dtsi"
13#include "kirkwood-6281.dtsi"
14#include "kirkwood-synology.dtsi"
15
16/ {
17 model = "Synology RS409";
18 compatible = "synology,rs409", "marvell,kirkwood";
19
20 memory {
21 device_type = "memory";
22 reg = <0x00000000 0x8000000>;
23 };
24
25 chosen {
26 bootargs = "console=ttyS0,115200n8";
27 };
28
29 gpio-fan-150-15-18 {
30 status = "okay";
31 };
32
33 gpio-leds-hdd-36 {
34 status = "okay";
35 };
36};
37
38&eth1 {
39 status = "okay";
40};
41
42&rs5c372 {
43 status = "okay";
44};
diff --git a/arch/arm/boot/dts/kirkwood-rs411.dts b/arch/arm/boot/dts/kirkwood-rs411.dts
new file mode 100644
index 000000000000..f90da850bb31
--- /dev/null
+++ b/arch/arm/boot/dts/kirkwood-rs411.dts
@@ -0,0 +1,44 @@
1/*
2 * Andrew Lunn <andrew@lunn.ch>
3 * Ben Peddell <klightspeed@killerwolves.net>
4 *
5 * This file is licensed under the terms of the GNU General Public
6 * License version 2. This program is licensed "as is" without any
7 * warranty of any kind, whether express or implied.
8 */
9
10/dts-v1/;
11
12#include "kirkwood.dtsi"
13#include "kirkwood-6282.dtsi"
14#include "kirkwood-synology.dtsi"
15
16/ {
17 model = "Synology RS411 RS812";
18 compatible = "synology,rs411", "synology,rs812", "marvell,kirkwood";
19
20 memory {
21 device_type = "memory";
22 reg = <0x00000000 0x8000000>;
23 };
24
25 chosen {
26 bootargs = "console=ttyS0,115200n8";
27 };
28
29 gpio-fan-100-15-35-3 {
30 status = "okay";
31 };
32
33 gpio-leds-hdd-36 {
34 status = "okay";
35 };
36};
37
38&eth1 {
39 status = "okay";
40};
41
42&s35390a {
43 status = "okay";
44};
diff --git a/arch/arm/boot/dts/kirkwood-synology.dtsi b/arch/arm/boot/dts/kirkwood-synology.dtsi
new file mode 100644
index 000000000000..4227c974729d
--- /dev/null
+++ b/arch/arm/boot/dts/kirkwood-synology.dtsi
@@ -0,0 +1,871 @@
1/*
2 * Nodes for Marvell 628x Synology devices
3 *
4 * Andrew Lunn <andrew@lunn.ch>
5 * Ben Peddell <klightspeed@killerwolves.net>
6 *
7 * This file is licensed under the terms of the GNU General Public
8 * License version 2. This program is licensed "as is" without any
9 * warranty of any kind, whether express or implied.
10 */
11
12/ {
13 mbus {
14 pcie-controller {
15 status = "okay";
16
17 pcie@1,0 {
18 status = "okay";
19 };
20
21 pcie2: pcie@2,0 {
22 status = "disabled";
23 };
24 };
25 };
26
27 ocp@f1000000 {
28 pinctrl: pinctrl@10000 {
29 pmx_alarmled_12: pmx-alarmled-12 {
30 marvell,pins = "mpp12";
31 marvell,function = "gpio";
32 };
33
34 pmx_fanctrl_15: pmx-fanctrl-15 {
35 marvell,pins = "mpp15";
36 marvell,function = "gpio";
37 };
38
39 pmx_fanctrl_16: pmx-fanctrl-16 {
40 marvell,pins = "mpp16";
41 marvell,function = "gpio";
42 };
43
44 pmx_fanctrl_17: pmx-fanctrl-17 {
45 marvell,pins = "mpp17";
46 marvell,function = "gpio";
47 };
48
49 pmx_fanalarm_18: pmx-fanalarm-18 {
50 marvell,pins = "mpp18";
51 marvell,function = "gpo";
52 };
53
54 pmx_hddled_20: pmx-hddled-20 {
55 marvell,pins = "mpp20";
56 marvell,function = "gpio";
57 };
58
59 pmx_hddled_21: pmx-hddled-21 {
60 marvell,pins = "mpp21";
61 marvell,function = "gpio";
62 };
63
64 pmx_hddled_22: pmx-hddled-22 {
65 marvell,pins = "mpp22";
66 marvell,function = "gpio";
67 };
68
69 pmx_hddled_23: pmx-hddled-23 {
70 marvell,pins = "mpp23";
71 marvell,function = "gpio";
72 };
73
74 pmx_hddled_24: pmx-hddled-24 {
75 marvell,pins = "mpp24";
76 marvell,function = "gpio";
77 };
78
79 pmx_hddled_25: pmx-hddled-25 {
80 marvell,pins = "mpp25";
81 marvell,function = "gpio";
82 };
83
84 pmx_hddled_26: pmx-hddled-26 {
85 marvell,pins = "mpp26";
86 marvell,function = "gpio";
87 };
88
89 pmx_hddled_27: pmx-hddled-27 {
90 marvell,pins = "mpp27";
91 marvell,function = "gpio";
92 };
93
94 pmx_hddled_28: pmx-hddled-28 {
95 marvell,pins = "mpp28";
96 marvell,function = "gpio";
97 };
98
99 pmx_hdd1_pwr_29: pmx-hdd1-pwr-29 {
100 marvell,pins = "mpp29";
101 marvell,function = "gpio";
102 };
103
104 pmx_hdd1_pwr_30: pmx-hdd-pwr-30 {
105 marvell,pins = "mpp30";
106 marvell,function = "gpio";
107 };
108
109 pmx_hdd2_pwr_31: pmx-hdd2-pwr-31 {
110 marvell,pins = "mpp31";
111 marvell,function = "gpio";
112 };
113
114 pmx_fanctrl_32: pmx-fanctrl-32 {
115 marvell,pins = "mpp32";
116 marvell,function = "gpio";
117 };
118
119 pmx_fanctrl_33: pmx-fanctrl-33 {
120 marvell,pins = "mpp33";
121 marvell,function = "gpo";
122 };
123
124 pmx_fanctrl_34: pmx-fanctrl-34 {
125 marvell,pins = "mpp34";
126 marvell,function = "gpio";
127 };
128
129 pmx_hdd2_pwr_34: pmx-hdd2-pwr-34 {
130 marvell,pins = "mpp34";
131 marvell,function = "gpio";
132 };
133
134 pmx_fanalarm_35: pmx-fanalarm-35 {
135 marvell,pins = "mpp35";
136 marvell,function = "gpio";
137 };
138
139 pmx_hddled_36: pmx-hddled-36 {
140 marvell,pins = "mpp36";
141 marvell,function = "gpio";
142 };
143
144 pmx_hddled_37: pmx-hddled-37 {
145 marvell,pins = "mpp37";
146 marvell,function = "gpio";
147 };
148
149 pmx_hddled_38: pmx-hddled-38 {
150 marvell,pins = "mpp38";
151 marvell,function = "gpio";
152 };
153
154 pmx_hddled_39: pmx-hddled-39 {
155 marvell,pins = "mpp39";
156 marvell,function = "gpio";
157 };
158
159 pmx_hddled_40: pmx-hddled-40 {
160 marvell,pins = "mpp40";
161 marvell,function = "gpio";
162 };
163
164 pmx_hddled_41: pmx-hddled-41 {
165 marvell,pins = "mpp41";
166 marvell,function = "gpio";
167 };
168
169 pmx_hddled_42: pmx-hddled-42 {
170 marvell,pins = "mpp42";
171 marvell,function = "gpio";
172 };
173
174 pmx_hddled_43: pmx-hddled-43 {
175 marvell,pins = "mpp43";
176 marvell,function = "gpio";
177 };
178
179 pmx_hddled_44: pmx-hddled-44 {
180 marvell,pins = "mpp44";
181 marvell,function = "gpio";
182 };
183
184 pmx_hddled_45: pmx-hddled-45 {
185 marvell,pins = "mpp45";
186 marvell,function = "gpio";
187 };
188
189 pmx_hdd3_pwr_44: pmx-hdd3-pwr-44 {
190 marvell,pins = "mpp44";
191 marvell,function = "gpio";
192 };
193
194 pmx_hdd4_pwr_45: pmx-hdd4-pwr-45 {
195 marvell,pins = "mpp45";
196 marvell,function = "gpio";
197 };
198
199 pmx_fanalarm_44: pmx-fanalarm-44 {
200 marvell,pins = "mpp44";
201 marvell,function = "gpio";
202 };
203
204 pmx_fanalarm_45: pmx-fanalarm-45 {
205 marvell,pins = "mpp45";
206 marvell,function = "gpio";
207 };
208 };
209
210 rtc@10300 {
211 status = "disabled";
212 };
213
214 spi@10600 {
215 status = "okay";
216 pinctrl-0 = <&pmx_spi>;
217 pinctrl-names = "default";
218
219 m25p80@0 {
220 #address-cells = <1>;
221 #size-cells = <1>;
222 compatible = "st,m25p80";
223 reg = <0>;
224 spi-max-frequency = <20000000>;
225 mode = <0>;
226
227 partition@00000000 {
228 reg = <0x00000000 0x00080000>;
229 label = "RedBoot";
230 };
231
232 partition@00080000 {
233 reg = <0x00080000 0x00200000>;
234 label = "zImage";
235 };
236
237 partition@00280000 {
238 reg = <0x00280000 0x00140000>;
239 label = "rd.gz";
240 };
241
242 partition@003c0000 {
243 reg = <0x003c0000 0x00010000>;
244 label = "vendor";
245 };
246
247 partition@003d0000 {
248 reg = <0x003d0000 0x00020000>;
249 label = "RedBoot config";
250 };
251
252 partition@003f0000 {
253 reg = <0x003f0000 0x00010000>;
254 label = "FIS directory";
255 };
256 };
257 };
258
259 i2c@11000 {
260 status = "okay";
261 clock-frequency = <400000>;
262 pinctrl-0 = <&pmx_twsi0>;
263 pinctrl-names = "default";
264
265 rs5c372: rs5c372@32 {
266 status = "disabled";
267 compatible = "ricoh,rs5c372";
268 reg = <0x32>;
269 };
270
271 s35390a: s35390a@30 {
272 status = "disabled";
273 compatible = "ssi,s35390a";
274 reg = <0x30>;
275 };
276 };
277
278 serial@12000 {
279 status = "okay";
280 pinctrl-0 = <&pmx_uart0>;
281 pinctrl-names = "default";
282 };
283
284 serial@12100 {
285 status = "okay";
286 pinctrl-0 = <&pmx_uart1>;
287 pinctrl-names = "default";
288 };
289
290 poweroff@12100 {
291 compatible = "synology,power-off";
292 reg = <0x12100 0x100>;
293 clocks = <&gate_clk 7>;
294 };
295
296 sata@80000 {
297 pinctrl-0 = <&pmx_sata0 &pmx_sata1>;
298 pinctrl-names = "default";
299 status = "okay";
300 nr-ports = <2>;
301 };
302 };
303
304 gpio-fan-150-32-35 {
305 status = "disabled";
306 compatible = "gpio-fan";
307 pinctrl-0 = <&pmx_fanctrl_32 &pmx_fanctrl_33 &pmx_fanctrl_34
308 &pmx_fanalarm_35>;
309 pinctrl-names = "default";
310 gpios = <&gpio1 0 GPIO_ACTIVE_HIGH
311 &gpio1 1 GPIO_ACTIVE_HIGH
312 &gpio1 2 GPIO_ACTIVE_HIGH>;
313 gpio-fan,speed-map = < 0 0
314 2200 1
315 2500 2
316 3000 4
317 3300 3
318 3700 5
319 3800 6
320 4200 7 >;
321 };
322
323 gpio-fan-150-15-18 {
324 status = "disabled";
325 compatible = "gpio-fan";
326 pinctrl-0 = <&pmx_fanctrl_15 &pmx_fanctrl_16 &pmx_fanctrl_17
327 &pmx_fanalarm_18>;
328 pinctrl-names = "default";
329 gpios = <&gpio0 15 GPIO_ACTIVE_HIGH
330 &gpio0 16 GPIO_ACTIVE_HIGH
331 &gpio0 17 GPIO_ACTIVE_HIGH>;
332 alarm-gpios = <&gpio0 18 GPIO_ACTIVE_HIGH>;
333 gpio-fan,speed-map = < 0 0
334 2200 1
335 2500 2
336 3000 4
337 3300 3
338 3700 5
339 3800 6
340 4200 7 >;
341 };
342
343 gpio-fan-100-32-35 {
344 status = "disabled";
345 compatible = "gpio-fan";
346 pinctrl-0 = <&pmx_fanctrl_32 &pmx_fanctrl_33 &pmx_fanctrl_34
347 &pmx_fanalarm_35>;
348 pinctrl-names = "default";
349 gpios = <&gpio1 0 GPIO_ACTIVE_HIGH
350 &gpio1 1 GPIO_ACTIVE_HIGH
351 &gpio1 2 GPIO_ACTIVE_HIGH>;
352 alarm-gpios = <&gpio1 3 GPIO_ACTIVE_HIGH>;
353 gpio-fan,speed-map = < 0 0
354 2500 1
355 3100 2
356 3800 3
357 4600 4
358 4800 5
359 4900 6
360 5000 7 >;
361 };
362
363 gpio-fan-100-15-18 {
364 status = "disabled";
365 compatible = "gpio-fan";
366 pinctrl-0 = <&pmx_fanctrl_15 &pmx_fanctrl_16 &pmx_fanctrl_17
367 &pmx_fanalarm_18>;
368 pinctrl-names = "default";
369 gpios = <&gpio0 15 GPIO_ACTIVE_HIGH
370 &gpio0 16 GPIO_ACTIVE_HIGH
371 &gpio0 17 GPIO_ACTIVE_HIGH>;
372 alarm-gpios = <&gpio0 18 GPIO_ACTIVE_HIGH>;
373 gpio-fan,speed-map = < 0 0
374 2500 1
375 3100 2
376 3800 3
377 4600 4
378 4800 5
379 4900 6
380 5000 7 >;
381 };
382
383 gpio-fan-100-15-35-1 {
384 status = "disabled";
385 compatible = "gpio-fan";
386 pinctrl-0 = <&pmx_fanctrl_15 &pmx_fanctrl_16 &pmx_fanctrl_17
387 &pmx_fanalarm_35>;
388 pinctrl-names = "default";
389 gpios = <&gpio0 15 GPIO_ACTIVE_HIGH
390 &gpio0 16 GPIO_ACTIVE_HIGH
391 &gpio0 17 GPIO_ACTIVE_HIGH>;
392 alarm-gpios = <&gpio1 3 GPIO_ACTIVE_HIGH>;
393 gpio-fan,speed-map = < 0 0
394 2500 1
395 3100 2
396 3800 3
397 4600 4
398 4800 5
399 4900 6
400 5000 7 >;
401 };
402
403 gpio-fan-100-15-35-3 {
404 status = "disabled";
405 compatible = "gpio-fan";
406 pinctrl-0 = <&pmx_fanctrl_15 &pmx_fanctrl_16 &pmx_fanctrl_17
407 &pmx_fanalarm_35 &pmx_fanalarm_44 &pmx_fanalarm_45>;
408 pinctrl-names = "default";
409 gpios = <&gpio0 15 GPIO_ACTIVE_HIGH
410 &gpio0 16 GPIO_ACTIVE_HIGH
411 &gpio0 17 GPIO_ACTIVE_HIGH>;
412 alarm-gpios = <&gpio1 3 GPIO_ACTIVE_HIGH
413 &gpio1 12 GPIO_ACTIVE_HIGH
414 &gpio1 13 GPIO_ACTIVE_HIGH>;
415 gpio-fan,speed-map = < 0 0
416 2500 1
417 3100 2
418 3800 3
419 4600 4
420 4800 5
421 4900 6
422 5000 7 >;
423 };
424
425 gpio-leds-alarm-12 {
426 status = "disabled";
427 compatible = "gpio-leds";
428 pinctrl-0 = <&pmx_alarmled_12>;
429 pinctrl-names = "default";
430
431 hdd1-green {
432 label = "synology:alarm";
433 gpios = <&gpio0 21 GPIO_ACTIVE_LOW>;
434 };
435 };
436
437 gpio-leds-hdd-20 {
438 status = "disabled";
439 compatible = "gpio-leds";
440 pinctrl-0 = <&pmx_hddled_20 &pmx_hddled_21 &pmx_hddled_22
441 &pmx_hddled_23 &pmx_hddled_24 &pmx_hddled_25
442 &pmx_hddled_26 &pmx_hddled_27>;
443 pinctrl-names = "default";
444
445 hdd1-green {
446 label = "synology:green:hdd1";
447 gpios = <&gpio0 20 GPIO_ACTIVE_LOW>;
448 };
449
450 hdd1-amber {
451 label = "synology:amber:hdd1";
452 gpios = <&gpio0 21 GPIO_ACTIVE_LOW>;
453 };
454
455 hdd2-green {
456 label = "synology:green:hdd2";
457 gpios = <&gpio0 22 GPIO_ACTIVE_LOW>;
458 };
459
460 hdd2-amber {
461 label = "synology:amber:hdd2";
462 gpios = <&gpio0 23 GPIO_ACTIVE_LOW>;
463 };
464
465 hdd3-green {
466 label = "synology:green:hdd3";
467 gpios = <&gpio0 24 GPIO_ACTIVE_LOW>;
468 };
469
470 hdd3-amber {
471 label = "synology:amber:hdd3";
472 gpios = <&gpio0 25 GPIO_ACTIVE_LOW>;
473 };
474
475 hdd4-green {
476 label = "synology:green:hdd4";
477 gpios = <&gpio0 26 GPIO_ACTIVE_LOW>;
478 };
479
480 hdd4-amber {
481 label = "synology:amber:hdd4";
482 gpios = <&gpio0 27 GPIO_ACTIVE_LOW>;
483 };
484 };
485
486 gpio-leds-hdd-21-1 {
487 status = "disabled";
488 compatible = "gpio-leds";
489 pinctrl-0 = <&pmx_hddled_21 &pmx_hddled_23>;
490 pinctrl-names = "default";
491
492 hdd1-green {
493 label = "synology:green:hdd1";
494 gpios = <&gpio0 21 GPIO_ACTIVE_LOW>;
495 };
496
497 hdd1-amber {
498 label = "synology:amber:hdd1";
499 gpios = <&gpio0 23 GPIO_ACTIVE_LOW>;
500 };
501 };
502
503 gpio-leds-hdd-21-2 {
504 status = "disabled";
505 compatible = "gpio-leds";
506 pinctrl-0 = <&pmx_hddled_21 &pmx_hddled_23 &pmx_hddled_20 &pmx_hddled_22>;
507 pinctrl-names = "default";
508
509 hdd1-green {
510 label = "synology:green:hdd1";
511 gpios = <&gpio0 21 GPIO_ACTIVE_LOW>;
512 };
513
514 hdd1-amber {
515 label = "synology:amber:hdd1";
516 gpios = <&gpio0 23 GPIO_ACTIVE_LOW>;
517 };
518
519 hdd2-green {
520 label = "synology:green:hdd2";
521 gpios = <&gpio0 20 GPIO_ACTIVE_LOW>;
522 };
523
524 hdd2-amber {
525 label = "synology:amber:hdd2";
526 gpios = <&gpio0 22 GPIO_ACTIVE_LOW>;
527 };
528 };
529
530 gpio-leds-hdd-36 {
531 status = "disabled";
532 compatible = "gpio-leds";
533 pinctrl-0 = <&pmx_hddled_36 &pmx_hddled_37 &pmx_hddled_38
534 &pmx_hddled_39 &pmx_hddled_40 &pmx_hddled_41
535 &pmx_hddled_42 &pmx_hddled_43 &pmx_hddled_44
536 &pmx_hddled_45>;
537 pinctrl-names = "default";
538
539 hdd1-green {
540 label = "synology:green:hdd1";
541 gpios = <&gpio1 4 GPIO_ACTIVE_LOW>;
542 };
543
544 hdd1-amber {
545 label = "synology:amber:hdd1";
546 gpios = <&gpio1 5 GPIO_ACTIVE_LOW>;
547 };
548
549 hdd2-green {
550 label = "synology:green:hdd2";
551 gpios = <&gpio1 6 GPIO_ACTIVE_LOW>;
552 };
553
554 hdd2-amber {
555 label = "synology:amber:hdd2";
556 gpios = <&gpio1 7 GPIO_ACTIVE_LOW>;
557 };
558
559 hdd3-green {
560 label = "synology:green:hdd3";
561 gpios = <&gpio1 8 GPIO_ACTIVE_LOW>;
562 };
563
564 hdd3-amber {
565 label = "synology:amber:hdd3";
566 gpios = <&gpio1 9 GPIO_ACTIVE_LOW>;
567 };
568
569 hdd4-green {
570 label = "synology:green:hdd4";
571 gpios = <&gpio1 10 GPIO_ACTIVE_LOW>;
572 };
573
574 hdd4-amber {
575 label = "synology:amber:hdd4";
576 gpios = <&gpio1 11 GPIO_ACTIVE_LOW>;
577 };
578
579 hdd5-green {
580 label = "synology:green:hdd5";
581 gpios = <&gpio1 12 GPIO_ACTIVE_LOW>;
582 };
583
584 hdd5-amber {
585 label = "synology:amber:hdd5";
586 gpios = <&gpio1 13 GPIO_ACTIVE_LOW>;
587 };
588 };
589
590 gpio-leds-hdd-38 {
591 status = "disabled";
592 compatible = "gpio-leds";
593 pinctrl-0 = <&pmx_hddled_38 &pmx_hddled_39 &pmx_hddled_36 &pmx_hddled_37>;
594 pinctrl-names = "default";
595
596 hdd1-green {
597 label = "synology:green:hdd1";
598 gpios = <&gpio1 6 GPIO_ACTIVE_LOW>;
599 };
600
601 hdd1-amber {
602 label = "synology:amber:hdd1";
603 gpios = <&gpio1 7 GPIO_ACTIVE_LOW>;
604 };
605
606 hdd2-green {
607 label = "synology:green:hdd2";
608 gpios = <&gpio1 4 GPIO_ACTIVE_LOW>;
609 };
610
611 hdd2-amber {
612 label = "synology:amber:hdd2";
613 gpios = <&gpio1 5 GPIO_ACTIVE_LOW>;
614 };
615 };
616
617 regulators-hdd-29 {
618 status = "disabled";
619 compatible = "simple-bus";
620 #address-cells = <1>;
621 #size-cells = <0>;
622 pinctrl-0 = <&pmx_hdd1_pwr_29 &pmx_hdd2_pwr_31>;
623 pinctrl-names = "default";
624
625 regulator@1 {
626 compatible = "regulator-fixed";
627 reg = <1>;
628 regulator-name = "hdd1power";
629 regulator-min-microvolt = <5000000>;
630 regulator-max-microvolt = <5000000>;
631 enable-active-high;
632 regulator-always-on;
633 regulator-boot-on;
634 startup-delay-us = <5000000>;
635 gpio = <&gpio0 29 GPIO_ACTIVE_HIGH>;
636 };
637
638 regulator@2 {
639 compatible = "regulator-fixed";
640 reg = <2>;
641 regulator-name = "hdd2power";
642 regulator-min-microvolt = <5000000>;
643 regulator-max-microvolt = <5000000>;
644 enable-active-high;
645 regulator-always-on;
646 regulator-boot-on;
647 startup-delay-us = <5000000>;
648 gpio = <&gpio0 31 GPIO_ACTIVE_HIGH>;
649 };
650 };
651
652 regulators-hdd-30-1 {
653 status = "disabled";
654 compatible = "simple-bus";
655 #address-cells = <1>;
656 #size-cells = <0>;
657 pinctrl-0 = <&pmx_hdd1_pwr_30>;
658 pinctrl-names = "default";
659
660 regulator@1 {
661 compatible = "regulator-fixed";
662 reg = <1>;
663 regulator-name = "hdd1power";
664 regulator-min-microvolt = <5000000>;
665 regulator-max-microvolt = <5000000>;
666 enable-active-high;
667 regulator-always-on;
668 regulator-boot-on;
669 startup-delay-us = <5000000>;
670 gpio = <&gpio0 30 GPIO_ACTIVE_HIGH>;
671 };
672 };
673
674 regulators-hdd-30-2 {
675 status = "disabled";
676 compatible = "simple-bus";
677 #address-cells = <1>;
678 #size-cells = <0>;
679 pinctrl-0 = <&pmx_hdd1_pwr_30 &pmx_hdd2_pwr_34>;
680 pinctrl-names = "default";
681
682 regulator@1 {
683 compatible = "regulator-fixed";
684 reg = <1>;
685 regulator-name = "hdd1power";
686 regulator-min-microvolt = <5000000>;
687 regulator-max-microvolt = <5000000>;
688 enable-active-high;
689 regulator-always-on;
690 regulator-boot-on;
691 startup-delay-us = <5000000>;
692 gpio = <&gpio0 30 GPIO_ACTIVE_HIGH>;
693 };
694
695 regulator@2 {
696 compatible = "regulator-fixed";
697 reg = <2>;
698 regulator-name = "hdd2power";
699 regulator-min-microvolt = <5000000>;
700 regulator-max-microvolt = <5000000>;
701 enable-active-high;
702 regulator-always-on;
703 regulator-boot-on;
704 startup-delay-us = <5000000>;
705 gpio = <&gpio1 2 GPIO_ACTIVE_HIGH>;
706 };
707 };
708
709 regulators-hdd-30-4 {
710 status = "disabled";
711 compatible = "simple-bus";
712 #address-cells = <1>;
713 #size-cells = <0>;
714 pinctrl-0 = <&pmx_hdd1_pwr_30 &pmx_hdd2_pwr_34
715 &pmx_hdd3_pwr_44 &pmx_hdd4_pwr_45>;
716 pinctrl-names = "default";
717
718 regulator@1 {
719 compatible = "regulator-fixed";
720 reg = <1>;
721 regulator-name = "hdd1power";
722 regulator-min-microvolt = <5000000>;
723 regulator-max-microvolt = <5000000>;
724 enable-active-high;
725 regulator-always-on;
726 regulator-boot-on;
727 startup-delay-us = <5000000>;
728 gpio = <&gpio0 30 GPIO_ACTIVE_HIGH>;
729 };
730
731 regulator@2 {
732 compatible = "regulator-fixed";
733 reg = <2>;
734 regulator-name = "hdd2power";
735 regulator-min-microvolt = <5000000>;
736 regulator-max-microvolt = <5000000>;
737 enable-active-high;
738 regulator-always-on;
739 regulator-boot-on;
740 startup-delay-us = <5000000>;
741 gpio = <&gpio1 2 GPIO_ACTIVE_HIGH>;
742 };
743
744 regulator@3 {
745 compatible = "regulator-fixed";
746 reg = <3>;
747 regulator-name = "hdd3power";
748 regulator-min-microvolt = <5000000>;
749 regulator-max-microvolt = <5000000>;
750 enable-active-high;
751 regulator-always-on;
752 regulator-boot-on;
753 startup-delay-us = <5000000>;
754 gpio = <&gpio1 12 GPIO_ACTIVE_HIGH>;
755 };
756
757 regulator@4 {
758 compatible = "regulator-fixed";
759 reg = <4>;
760 regulator-name = "hdd4power";
761 regulator-min-microvolt = <5000000>;
762 regulator-max-microvolt = <5000000>;
763 enable-active-high;
764 regulator-always-on;
765 regulator-boot-on;
766 startup-delay-us = <5000000>;
767 gpio = <&gpio1 13 GPIO_ACTIVE_HIGH>;
768 };
769 };
770
771 regulators-hdd-31 {
772 status = "disabled";
773 compatible = "simple-bus";
774 #address-cells = <1>;
775 #size-cells = <0>;
776 pinctrl-0 = <&pmx_hdd2_pwr_31>;
777 pinctrl-names = "default";
778
779 regulator@1 {
780 compatible = "regulator-fixed";
781 reg = <1>;
782 regulator-name = "hdd2power";
783 regulator-min-microvolt = <5000000>;
784 regulator-max-microvolt = <5000000>;
785 enable-active-high;
786 regulator-always-on;
787 regulator-boot-on;
788 startup-delay-us = <5000000>;
789 gpio = <&gpio0 31 GPIO_ACTIVE_HIGH>;
790 };
791 };
792
793 regulators-hdd-34 {
794 status = "disabled";
795 compatible = "simple-bus";
796 #address-cells = <1>;
797 #size-cells = <0>;
798 pinctrl-0 = <&pmx_hdd2_pwr_34 &pmx_hdd3_pwr_44
799 &pmx_hdd4_pwr_45>;
800 pinctrl-names = "default";
801
802 regulator@2 {
803 compatible = "regulator-fixed";
804 reg = <2>;
805 regulator-name = "hdd2power";
806 regulator-min-microvolt = <5000000>;
807 regulator-max-microvolt = <5000000>;
808 enable-active-high;
809 regulator-always-on;
810 regulator-boot-on;
811 startup-delay-us = <5000000>;
812 gpio = <&gpio1 2 GPIO_ACTIVE_HIGH>;
813 };
814
815 regulator@3 {
816 compatible = "regulator-fixed";
817 reg = <3>;
818 regulator-name = "hdd3power";
819 regulator-min-microvolt = <5000000>;
820 regulator-max-microvolt = <5000000>;
821 enable-active-high;
822 regulator-always-on;
823 regulator-boot-on;
824 startup-delay-us = <5000000>;
825 gpio = <&gpio1 12 GPIO_ACTIVE_HIGH>;
826 };
827
828 regulator@4 {
829 compatible = "regulator-fixed";
830 reg = <4>;
831 regulator-name = "hdd4power";
832 regulator-min-microvolt = <5000000>;
833 regulator-max-microvolt = <5000000>;
834 enable-active-high;
835 regulator-always-on;
836 regulator-boot-on;
837 startup-delay-us = <5000000>;
838 gpio = <&gpio1 13 GPIO_ACTIVE_HIGH>;
839 };
840 };
841};
842
843&mdio {
844 status = "okay";
845
846 ethphy0: ethernet-phy@0 {
847 device_type = "ethernet-phy";
848 reg = <8>;
849 };
850
851 ethphy1: ethernet-phy@1 {
852 device_type = "ethernet-phy";
853 reg = <9>;
854 };
855};
856
857&eth0 {
858 status = "okay";
859
860 ethernet0-port@0 {
861 phy-handle = <&ethphy0>;
862 };
863};
864
865&eth1 {
866 status = "disabled";
867
868 ethernet1-port@0 {
869 phy-handle = <&ethphy1>;
870 };
871};