aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOlof Johansson <olof@lixom.net>2013-08-29 13:01:40 -0400
committerOlof Johansson <olof@lixom.net>2013-08-29 13:01:40 -0400
commit6cbe0e1feaf8f8516ee863e5c37144bafb84c17d (patch)
tree2330961e07164d13745b530520b9179b56a32070
parentd519049cb17b63604149431496460ff9cf00845d (diff)
parent5d3b883071763e6448386b875f04fcb201b6e12d (diff)
Merge tag 'dt-3.12' of git://git.infradead.org/linux-mvebu into next/soc
From Jason Cooper: mvebu dt changes for v3.12 - kirkwood - add ZyXEL NSA310 board, fan for ReadyNAS Duo v2 - mvebu - add ReadyNAS 102 board - misc dts updates and changes. v2: - dropped mv64xxx-i2c change * tag 'dt-3.12' of git://git.infradead.org/linux-mvebu: ARM: mvebu: Fix the Armada 370/XP timer compatible strings ARM: mvebu: use dts pre-processor for readynas 102 ARM: kirkwood: use dts pre-processor for nsa310 boards ARM: mvebu: use correct #interrupt-cells instead of #interrupts-cells ARM: Kirkwood: Add support for another ZyXEL NSA310 variant ARM: mvebu: Add Netgear ReadyNAS 102 board arm: kirkwood: readynas duo v2: Add GMT G762 Fan Controller Signed-off-by: Olof Johansson <olof@lixom.net> Conflicts: arch/arm/boot/dts/kirkwood-nsa310.dts
-rw-r--r--arch/arm/boot/dts/Makefile2
-rw-r--r--arch/arm/boot/dts/armada-370-netgear-rn102.dts179
-rw-r--r--arch/arm/boot/dts/armada-370-xp.dtsi2
-rw-r--r--arch/arm/boot/dts/armada-370.dtsi11
-rw-r--r--arch/arm/boot/dts/armada-xp-mv78230.dtsi4
-rw-r--r--arch/arm/boot/dts/armada-xp-mv78260.dtsi6
-rw-r--r--arch/arm/boot/dts/armada-xp-mv78460.dtsi6
-rw-r--r--arch/arm/boot/dts/armada-xp.dtsi2
-rw-r--r--arch/arm/boot/dts/kirkwood-netgear_readynas_duo_v2.dts20
-rw-r--r--arch/arm/boot/dts/kirkwood-nsa310-common.dtsi107
-rw-r--r--arch/arm/boot/dts/kirkwood-nsa310.dts92
-rw-r--r--arch/arm/boot/dts/kirkwood-nsa310a.dts165
12 files changed, 491 insertions, 105 deletions
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 0537a23b9dcf..80b9d903cba9 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -89,6 +89,7 @@ dtb-$(CONFIG_ARCH_KIRKWOOD) += kirkwood-cloudbox.dtb \
89 kirkwood-ns2max.dtb \ 89 kirkwood-ns2max.dtb \
90 kirkwood-ns2mini.dtb \ 90 kirkwood-ns2mini.dtb \
91 kirkwood-nsa310.dtb \ 91 kirkwood-nsa310.dtb \
92 kirkwood-nsa310a.dtb \
92 kirkwood-sheevaplug.dtb \ 93 kirkwood-sheevaplug.dtb \
93 kirkwood-sheevaplug-esata.dtb \ 94 kirkwood-sheevaplug-esata.dtb \
94 kirkwood-topkick.dtb \ 95 kirkwood-topkick.dtb \
@@ -100,6 +101,7 @@ dtb-$(CONFIG_ARCH_MSM) += msm8660-surf.dtb \
100 msm8960-cdp.dtb 101 msm8960-cdp.dtb
101dtb-$(CONFIG_ARCH_MVEBU) += armada-370-db.dtb \ 102dtb-$(CONFIG_ARCH_MVEBU) += armada-370-db.dtb \
102 armada-370-mirabox.dtb \ 103 armada-370-mirabox.dtb \
104 armada-370-netgear-rn102.dtb \
103 armada-370-rd.dtb \ 105 armada-370-rd.dtb \
104 armada-xp-axpwifiap.dtb \ 106 armada-xp-axpwifiap.dtb \
105 armada-xp-db.dtb \ 107 armada-xp-db.dtb \
diff --git a/arch/arm/boot/dts/armada-370-netgear-rn102.dts b/arch/arm/boot/dts/armada-370-netgear-rn102.dts
new file mode 100644
index 000000000000..05e4485a8225
--- /dev/null
+++ b/arch/arm/boot/dts/armada-370-netgear-rn102.dts
@@ -0,0 +1,179 @@
1/*
2 * Device Tree file for NETGEAR ReadyNAS 102
3 *
4 * Copyright (C) 2013, Arnaud EBALARD <arno@natisbad.org>
5 *
6 * This program is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU General Public License
8 * as published by the Free Software Foundation; either version
9 * 2 of the License, or (at your option) any later version.
10 */
11
12/dts-v1/;
13
14#include "armada-370.dtsi"
15
16/ {
17 model = "NETGEAR ReadyNAS 102";
18 compatible = "netgear,readynas-102", "marvell,armada370", "marvell,armada-370-xp";
19
20 chosen {
21 bootargs = "console=ttyS0,115200 earlyprintk";
22 };
23
24 memory {
25 device_type = "memory";
26 reg = <0x00000000 0x20000000>; /* 512 MB */
27 };
28
29 soc {
30 internal-regs {
31 serial@12000 {
32 clock-frequency = <200000000>;
33 status = "okay";
34 };
35
36 sata@a0000 {
37 nr-ports = <2>;
38 status = "okay";
39 };
40
41 pinctrl {
42 power_led_pin: power-led-pin {
43 marvell,pins = "mpp57";
44 marvell,function = "gpio";
45 };
46 sata1_led_pin: sata1-led-pin {
47 marvell,pins = "mpp15";
48 marvell,function = "gpio";
49 };
50
51 sata2_led_pin: sata2-led-pin {
52 marvell,pins = "mpp14";
53 marvell,function = "gpio";
54 };
55
56 backup_led_pin: backup-led-pin {
57 marvell,pins = "mpp56";
58 marvell,function = "gpio";
59 };
60 };
61
62 mdio {
63 phy0: ethernet-phy@0 {
64 reg = <0>;
65 };
66 };
67
68 ethernet@74000 {
69 status = "okay";
70 phy = <&phy0>;
71 phy-mode = "rgmii-id";
72 };
73
74 usb@50000 {
75 status = "okay";
76 };
77
78 i2c@11000 {
79 compatible = "marvell,mv64xxx-i2c";
80 clock-frequency = <100000>;
81 status = "okay";
82
83 g762: g762@3e {
84 compatible = "gmt,g762";
85 reg = <0x3e>;
86 clocks = <&g762_clk>; /* input clock */
87 fan_gear_mode = <0>;
88 fan_startv = <1>;
89 pwm_polarity = <0>;
90 };
91 };
92
93 pcie-controller {
94 status = "okay";
95
96 /* Connected to Marvell SATA controller */
97 pcie@1,0 {
98 /* Port 0, Lane 0 */
99 status = "okay";
100 };
101
102 /* Connected to FL1009 USB 3.0 controller */
103 pcie@2,0 {
104 /* Port 1, Lane 0 */
105 status = "okay";
106 };
107 };
108 };
109 };
110
111 clocks {
112 #address-cells = <1>;
113 #size-cells = <0>;
114
115 g762_clk: fixedclk {
116 compatible = "fixed-clock";
117 #clock-cells = <0>;
118 clock-frequency = <8192>;
119 };
120 };
121
122 gpio_leds {
123 compatible = "gpio-leds";
124 pinctrl-0 = < &power_led_pin
125 &sata1_led_pin
126 &sata2_led_pin
127 &backup_led_pin >;
128 pinctrl-names = "default";
129
130 blue_power_led {
131 label = "rn102:blue:pwr";
132 gpios = <&gpio1 25 1>; /* GPIO 57 Active Low */
133 linux,default-trigger = "heartbeat";
134 };
135
136 green_sata1_led {
137 label = "rn102:green:sata1";
138 gpios = <&gpio0 15 1>; /* GPIO 15 Active Low */
139 default-state = "on";
140 };
141
142 green_sata2_led {
143 label = "rn102:green:sata2";
144 gpios = <&gpio0 14 1>; /* GPIO 14 Active Low */
145 default-state = "on";
146 };
147
148 green_backup_led {
149 label = "rn102:green:backup";
150 gpios = <&gpio1 24 1>; /* GPIO 56 Active Low */
151 default-state = "on";
152 };
153 };
154
155 gpio_keys {
156 compatible = "gpio-keys";
157 #address-cells = <1>;
158 #size-cells = <0>;
159
160 button@1 {
161 label = "Power Button";
162 linux,code = <116>; /* KEY_POWER */
163 gpios = <&gpio1 30 1>;
164 };
165
166 button@2 {
167 label = "Reset Button";
168 linux,code = <0x198>; /* KEY_RESTART */
169 gpios = <&gpio0 6 1>;
170 };
171
172 button@3 {
173 label = "Backup Button";
174 linux,code = <133>; /* KEY_COPY */
175 gpios = <&gpio1 26 1>;
176 };
177 };
178
179};
diff --git a/arch/arm/boot/dts/armada-370-xp.dtsi b/arch/arm/boot/dts/armada-370-xp.dtsi
index e984ce6bb33f..1de2dae0fdae 100644
--- a/arch/arm/boot/dts/armada-370-xp.dtsi
+++ b/arch/arm/boot/dts/armada-370-xp.dtsi
@@ -138,10 +138,8 @@
138 }; 138 };
139 139
140 timer@20300 { 140 timer@20300 {
141 compatible = "marvell,armada-370-xp-timer";
142 reg = <0x20300 0x30>, <0x21040 0x30>; 141 reg = <0x20300 0x30>, <0x21040 0x30>;
143 interrupts = <37>, <38>, <39>, <40>, <5>, <6>; 142 interrupts = <37>, <38>, <39>, <40>, <5>, <6>;
144 clocks = <&coreclk 2>;
145 }; 143 };
146 144
147 sata@a0000 { 145 sata@a0000 {
diff --git a/arch/arm/boot/dts/armada-370.dtsi b/arch/arm/boot/dts/armada-370.dtsi
index 648e5303446e..e134d7a90c9a 100644
--- a/arch/arm/boot/dts/armada-370.dtsi
+++ b/arch/arm/boot/dts/armada-370.dtsi
@@ -136,7 +136,7 @@
136 gpio-controller; 136 gpio-controller;
137 #gpio-cells = <2>; 137 #gpio-cells = <2>;
138 interrupt-controller; 138 interrupt-controller;
139 #interrupts-cells = <2>; 139 #interrupt-cells = <2>;
140 interrupts = <82>, <83>, <84>, <85>; 140 interrupts = <82>, <83>, <84>, <85>;
141 }; 141 };
142 142
@@ -147,7 +147,7 @@
147 gpio-controller; 147 gpio-controller;
148 #gpio-cells = <2>; 148 #gpio-cells = <2>;
149 interrupt-controller; 149 interrupt-controller;
150 #interrupts-cells = <2>; 150 #interrupt-cells = <2>;
151 interrupts = <87>, <88>, <89>, <90>; 151 interrupts = <87>, <88>, <89>, <90>;
152 }; 152 };
153 153
@@ -158,10 +158,15 @@
158 gpio-controller; 158 gpio-controller;
159 #gpio-cells = <2>; 159 #gpio-cells = <2>;
160 interrupt-controller; 160 interrupt-controller;
161 #interrupts-cells = <2>; 161 #interrupt-cells = <2>;
162 interrupts = <91>; 162 interrupts = <91>;
163 }; 163 };
164 164
165 timer@20300 {
166 compatible = "marvell,armada-370-timer";
167 clocks = <&coreclk 2>;
168 };
169
165 coreclk: mvebu-sar@18230 { 170 coreclk: mvebu-sar@18230 {
166 compatible = "marvell,armada-370-core-clock"; 171 compatible = "marvell,armada-370-core-clock";
167 reg = <0x18230 0x08>; 172 reg = <0x18230 0x08>;
diff --git a/arch/arm/boot/dts/armada-xp-mv78230.dtsi b/arch/arm/boot/dts/armada-xp-mv78230.dtsi
index e45e363cc9b9..0358a33cba48 100644
--- a/arch/arm/boot/dts/armada-xp-mv78230.dtsi
+++ b/arch/arm/boot/dts/armada-xp-mv78230.dtsi
@@ -181,7 +181,7 @@
181 gpio-controller; 181 gpio-controller;
182 #gpio-cells = <2>; 182 #gpio-cells = <2>;
183 interrupt-controller; 183 interrupt-controller;
184 #interrupts-cells = <2>; 184 #interrupt-cells = <2>;
185 interrupts = <82>, <83>, <84>, <85>; 185 interrupts = <82>, <83>, <84>, <85>;
186 }; 186 };
187 187
@@ -192,7 +192,7 @@
192 gpio-controller; 192 gpio-controller;
193 #gpio-cells = <2>; 193 #gpio-cells = <2>;
194 interrupt-controller; 194 interrupt-controller;
195 #interrupts-cells = <2>; 195 #interrupt-cells = <2>;
196 interrupts = <87>, <88>, <89>; 196 interrupts = <87>, <88>, <89>;
197 }; 197 };
198 }; 198 };
diff --git a/arch/arm/boot/dts/armada-xp-mv78260.dtsi b/arch/arm/boot/dts/armada-xp-mv78260.dtsi
index 6dc3921df9b3..0e82c5062243 100644
--- a/arch/arm/boot/dts/armada-xp-mv78260.dtsi
+++ b/arch/arm/boot/dts/armada-xp-mv78260.dtsi
@@ -203,7 +203,7 @@
203 gpio-controller; 203 gpio-controller;
204 #gpio-cells = <2>; 204 #gpio-cells = <2>;
205 interrupt-controller; 205 interrupt-controller;
206 #interrupts-cells = <2>; 206 #interrupt-cells = <2>;
207 interrupts = <82>, <83>, <84>, <85>; 207 interrupts = <82>, <83>, <84>, <85>;
208 }; 208 };
209 209
@@ -214,7 +214,7 @@
214 gpio-controller; 214 gpio-controller;
215 #gpio-cells = <2>; 215 #gpio-cells = <2>;
216 interrupt-controller; 216 interrupt-controller;
217 #interrupts-cells = <2>; 217 #interrupt-cells = <2>;
218 interrupts = <87>, <88>, <89>, <90>; 218 interrupts = <87>, <88>, <89>, <90>;
219 }; 219 };
220 220
@@ -225,7 +225,7 @@
225 gpio-controller; 225 gpio-controller;
226 #gpio-cells = <2>; 226 #gpio-cells = <2>;
227 interrupt-controller; 227 interrupt-controller;
228 #interrupts-cells = <2>; 228 #interrupt-cells = <2>;
229 interrupts = <91>; 229 interrupts = <91>;
230 }; 230 };
231 231
diff --git a/arch/arm/boot/dts/armada-xp-mv78460.dtsi b/arch/arm/boot/dts/armada-xp-mv78460.dtsi
index a6661e3aea23..e82c1b80af17 100644
--- a/arch/arm/boot/dts/armada-xp-mv78460.dtsi
+++ b/arch/arm/boot/dts/armada-xp-mv78460.dtsi
@@ -301,7 +301,7 @@
301 gpio-controller; 301 gpio-controller;
302 #gpio-cells = <2>; 302 #gpio-cells = <2>;
303 interrupt-controller; 303 interrupt-controller;
304 #interrupts-cells = <2>; 304 #interrupt-cells = <2>;
305 interrupts = <82>, <83>, <84>, <85>; 305 interrupts = <82>, <83>, <84>, <85>;
306 }; 306 };
307 307
@@ -312,7 +312,7 @@
312 gpio-controller; 312 gpio-controller;
313 #gpio-cells = <2>; 313 #gpio-cells = <2>;
314 interrupt-controller; 314 interrupt-controller;
315 #interrupts-cells = <2>; 315 #interrupt-cells = <2>;
316 interrupts = <87>, <88>, <89>, <90>; 316 interrupts = <87>, <88>, <89>, <90>;
317 }; 317 };
318 318
@@ -323,7 +323,7 @@
323 gpio-controller; 323 gpio-controller;
324 #gpio-cells = <2>; 324 #gpio-cells = <2>;
325 interrupt-controller; 325 interrupt-controller;
326 #interrupts-cells = <2>; 326 #interrupt-cells = <2>;
327 interrupts = <91>; 327 interrupts = <91>;
328 }; 328 };
329 329
diff --git a/arch/arm/boot/dts/armada-xp.dtsi b/arch/arm/boot/dts/armada-xp.dtsi
index 7ba99ce107bb..def125c0eeaa 100644
--- a/arch/arm/boot/dts/armada-xp.dtsi
+++ b/arch/arm/boot/dts/armada-xp.dtsi
@@ -69,7 +69,7 @@
69 }; 69 };
70 70
71 timer@20300 { 71 timer@20300 {
72 marvell,timer-25Mhz; 72 compatible = "marvell,armada-xp-timer";
73 }; 73 };
74 74
75 coreclk: mvebu-sar@18230 { 75 coreclk: mvebu-sar@18230 {
diff --git a/arch/arm/boot/dts/kirkwood-netgear_readynas_duo_v2.dts b/arch/arm/boot/dts/kirkwood-netgear_readynas_duo_v2.dts
index 84ff31cfbcdc..cc40f19ae3fc 100644
--- a/arch/arm/boot/dts/kirkwood-netgear_readynas_duo_v2.dts
+++ b/arch/arm/boot/dts/kirkwood-netgear_readynas_duo_v2.dts
@@ -63,6 +63,17 @@
63 }; 63 };
64 }; 64 };
65 65
66 clocks {
67 #address-cells = <1>;
68 #size-cells = <0>;
69
70 g762_clk: fixedclk {
71 compatible = "fixed-clock";
72 #clock-cells = <0>;
73 clock-frequency = <8192>;
74 };
75 };
76
66 i2c@11000 { 77 i2c@11000 {
67 status = "okay"; 78 status = "okay";
68 79
@@ -70,6 +81,15 @@
70 compatible = "ricoh,rs5c372a"; 81 compatible = "ricoh,rs5c372a";
71 reg = <0x32>; 82 reg = <0x32>;
72 }; 83 };
84
85 g762: g762@3e {
86 compatible = "gmt,g762";
87 reg = <0x3e>;
88 clocks = <&g762_clk>; /* input clock */
89 fan_gear_mode = <0>;
90 fan_startv = <1>;
91 pwm_polarity = <0>;
92 };
73 }; 93 };
74 94
75 serial@12000 { 95 serial@12000 {
diff --git a/arch/arm/boot/dts/kirkwood-nsa310-common.dtsi b/arch/arm/boot/dts/kirkwood-nsa310-common.dtsi
new file mode 100644
index 000000000000..06267a91de38
--- /dev/null
+++ b/arch/arm/boot/dts/kirkwood-nsa310-common.dtsi
@@ -0,0 +1,107 @@
1#include "kirkwood.dtsi"
2#include "kirkwood-6281.dtsi"
3
4/ {
5 model = "ZyXEL NSA310";
6
7 ocp@f1000000 {
8 pinctrl: pinctrl@10000 {
9
10 pmx_usb_power_off: pmx-usb-power-off {
11 marvell,pins = "mpp21";
12 marvell,function = "gpio";
13 };
14 pmx_pwr_off: pmx-pwr-off {
15 marvell,pins = "mpp48";
16 marvell,function = "gpio";
17 };
18
19 };
20
21 serial@12000 {
22 status = "ok";
23 };
24
25 sata@80000 {
26 status = "okay";
27 nr-ports = <2>;
28 };
29
30 nand@3000000 {
31 status = "okay";
32 chip-delay = <35>;
33
34 partition@0 {
35 label = "uboot";
36 reg = <0x0000000 0x0100000>;
37 read-only;
38 };
39 partition@100000 {
40 label = "uboot_env";
41 reg = <0x0100000 0x0080000>;
42 };
43 partition@180000 {
44 label = "key_store";
45 reg = <0x0180000 0x0080000>;
46 };
47 partition@200000 {
48 label = "info";
49 reg = <0x0200000 0x0080000>;
50 };
51 partition@280000 {
52 label = "etc";
53 reg = <0x0280000 0x0a00000>;
54 };
55 partition@c80000 {
56 label = "kernel_1";
57 reg = <0x0c80000 0x0a00000>;
58 };
59 partition@1680000 {
60 label = "rootfs1";
61 reg = <0x1680000 0x2fc0000>;
62 };
63 partition@4640000 {
64 label = "kernel_2";
65 reg = <0x4640000 0x0a00000>;
66 };
67 partition@5040000 {
68 label = "rootfs2";
69 reg = <0x5040000 0x2fc0000>;
70 };
71 };
72
73 pcie-controller {
74 status = "okay";
75
76 pcie@1,0 {
77 status = "okay";
78 };
79 };
80 };
81
82 gpio_poweroff {
83 compatible = "gpio-poweroff";
84 pinctrl-0 = <&pmx_pwr_off>;
85 pinctrl-names = "default";
86 gpios = <&gpio1 16 0>;
87 };
88
89 regulators {
90 compatible = "simple-bus";
91 #address-cells = <1>;
92 #size-cells = <0>;
93 pinctrl-0 = <&pmx_usb_power_off>;
94 pinctrl-names = "default";
95
96 usb0_power_off: regulator@1 {
97 compatible = "regulator-fixed";
98 reg = <1>;
99 regulator-name = "USB Power Off";
100 regulator-min-microvolt = <5000000>;
101 regulator-max-microvolt = <5000000>;
102 regulator-always-on;
103 regulator-boot-on;
104 gpio = <&gpio0 21 0>;
105 };
106 };
107};
diff --git a/arch/arm/boot/dts/kirkwood-nsa310.dts b/arch/arm/boot/dts/kirkwood-nsa310.dts
index bd7f05f6aa96..7aeae0c2c1f4 100644
--- a/arch/arm/boot/dts/kirkwood-nsa310.dts
+++ b/arch/arm/boot/dts/kirkwood-nsa310.dts
@@ -1,10 +1,8 @@
1/dts-v1/; 1/dts-v1/;
2 2
3#include "kirkwood.dtsi" 3#include "kirkwood-nsa310-common.dtsi"
4#include "kirkwood-6281.dtsi"
5 4
6/ { 5/ {
7 model = "ZyXEL NSA310";
8 compatible = "zyxel,nsa310", "marvell,kirkwood-88f6281", "marvell,kirkwood"; 6 compatible = "zyxel,nsa310", "marvell,kirkwood-88f6281", "marvell,kirkwood";
9 7
10 memory { 8 memory {
@@ -52,11 +50,6 @@
52 marvell,function = "gpio"; 50 marvell,function = "gpio";
53 }; 51 };
54 52
55 pmx_usb_power_off: pmx-usb-power-off {
56 marvell,pins = "mpp21";
57 marvell,function = "gpio";
58 };
59
60 pmx_led_sys_green: pmx-led-sys-green { 53 pmx_led_sys_green: pmx-led-sys-green {
61 marvell,pins = "mpp28"; 54 marvell,pins = "mpp28";
62 marvell,function = "gpio"; 55 marvell,function = "gpio";
@@ -106,20 +99,6 @@
106 marvell,pins = "mpp46"; 99 marvell,pins = "mpp46";
107 marvell,function = "gpio"; 100 marvell,function = "gpio";
108 }; 101 };
109
110 pmx_pwr_off: pmx-pwr-off {
111 marvell,pins = "mpp48";
112 marvell,function = "gpio";
113 };
114 };
115
116 serial@12000 {
117 status = "ok";
118 };
119
120 sata@80000 {
121 status = "okay";
122 nr-ports = <2>;
123 }; 102 };
124 103
125 i2c@11000 { 104 i2c@11000 {
@@ -130,49 +109,6 @@
130 reg = <0x2e>; 109 reg = <0x2e>;
131 }; 110 };
132 }; 111 };
133
134 nand@3000000 {
135 status = "okay";
136 chip-delay = <35>;
137
138 partition@0 {
139 label = "uboot";
140 reg = <0x0000000 0x0100000>;
141 read-only;
142 };
143 partition@100000 {
144 label = "uboot_env";
145 reg = <0x0100000 0x0080000>;
146 };
147 partition@180000 {
148 label = "key_store";
149 reg = <0x0180000 0x0080000>;
150 };
151 partition@200000 {
152 label = "info";
153 reg = <0x0200000 0x0080000>;
154 };
155 partition@280000 {
156 label = "etc";
157 reg = <0x0280000 0x0a00000>;
158 };
159 partition@c80000 {
160 label = "kernel_1";
161 reg = <0x0c80000 0x0a00000>;
162 };
163 partition@1680000 {
164 label = "rootfs1";
165 reg = <0x1680000 0x2fc0000>;
166 };
167 partition@4640000 {
168 label = "kernel_2";
169 reg = <0x4640000 0x0a00000>;
170 };
171 partition@5040000 {
172 label = "rootfs2";
173 reg = <0x5040000 0x2fc0000>;
174 };
175 };
176 }; 112 };
177 113
178 gpio_keys { 114 gpio_keys {
@@ -249,30 +185,4 @@
249 gpios = <&gpio1 8 0>; 185 gpios = <&gpio1 8 0>;
250 }; 186 };
251 }; 187 };
252
253 gpio_poweroff {
254 compatible = "gpio-poweroff";
255 pinctrl-0 = <&pmx_pwr_off>;
256 pinctrl-names = "default";
257 gpios = <&gpio1 16 0>;
258 };
259
260 regulators {
261 compatible = "simple-bus";
262 #address-cells = <1>;
263 #size-cells = <0>;
264 pinctrl-0 = <&pmx_usb_power_off>;
265 pinctrl-names = "default";
266
267 usb0_power_off: regulator@1 {
268 compatible = "regulator-fixed";
269 reg = <1>;
270 regulator-name = "USB Power Off";
271 regulator-min-microvolt = <5000000>;
272 regulator-max-microvolt = <5000000>;
273 regulator-always-on;
274 regulator-boot-on;
275 gpio = <&gpio0 21 0>;
276 };
277 };
278}; 188};
diff --git a/arch/arm/boot/dts/kirkwood-nsa310a.dts b/arch/arm/boot/dts/kirkwood-nsa310a.dts
new file mode 100644
index 000000000000..ab0212b0e6f5
--- /dev/null
+++ b/arch/arm/boot/dts/kirkwood-nsa310a.dts
@@ -0,0 +1,165 @@
1/dts-v1/;
2
3#include "kirkwood-nsa310-common.dtsi"
4
5/*
6 * There are at least two different NSA310 designs. This variant does
7 * not have the red USB Led.
8 */
9
10/ {
11 compatible = "zyxel,nsa310a", "zyxel,nsa310", "marvell,kirkwood-88f6281", "marvell,kirkwood";
12
13 memory {
14 device_type = "memory";
15 reg = <0x00000000 0x10000000>;
16 };
17
18 chosen {
19 bootargs = "console=ttyS0,115200";
20 };
21
22 ocp@f1000000 {
23 pinctrl: pinctrl@10000 {
24 pinctrl-names = "default";
25
26 pmx_led_esata_green: pmx-led-esata-green {
27 marvell,pins = "mpp12";
28 marvell,function = "gpio";
29 };
30
31 pmx_led_esata_red: pmx-led-esata-red {
32 marvell,pins = "mpp13";
33 marvell,function = "gpio";
34 };
35
36 pmx_led_usb_green: pmx-led-usb-green {
37 marvell,pins = "mpp15";
38 marvell,function = "gpio";
39 };
40
41 pmx_usb_power_off: pmx-usb-power-off {
42 marvell,pins = "mpp21";
43 marvell,function = "gpio";
44 };
45
46 pmx_led_sys_green: pmx-led-sys-green {
47 marvell,pins = "mpp28";
48 marvell,function = "gpio";
49 };
50
51 pmx_led_sys_red: pmx-led-sys-red {
52 marvell,pins = "mpp29";
53 marvell,function = "gpio";
54 };
55
56 pmx_btn_reset: pmx-btn-reset {
57 marvell,pins = "mpp36";
58 marvell,function = "gpio";
59 };
60
61 pmx_btn_copy: pmx-btn-copy {
62 marvell,pins = "mpp37";
63 marvell,function = "gpio";
64 };
65
66 pmx_led_copy_green: pmx-led-copy-green {
67 marvell,pins = "mpp39";
68 marvell,function = "gpio";
69 };
70
71 pmx_led_copy_red: pmx-led-copy-red {
72 marvell,pins = "mpp40";
73 marvell,function = "gpio";
74 };
75
76 pmx_led_hdd_green: pmx-led-hdd-green {
77 marvell,pins = "mpp41";
78 marvell,function = "gpio";
79 };
80
81 pmx_led_hdd_red: pmx-led-hdd-red {
82 marvell,pins = "mpp42";
83 marvell,function = "gpio";
84 };
85
86 pmx_btn_power: pmx-btn-power {
87 marvell,pins = "mpp46";
88 marvell,function = "gpio";
89 };
90
91 };
92
93 i2c@11000 {
94 status = "okay";
95
96 lm85: lm85@2e {
97 compatible = "lm85";
98 reg = <0x2e>;
99 };
100 };
101 };
102
103 gpio_keys {
104 compatible = "gpio-keys";
105 #address-cells = <1>;
106 #size-cells = <0>;
107
108 button@1 {
109 label = "Power Button";
110 linux,code = <116>;
111 gpios = <&gpio1 14 0>;
112 };
113 button@2 {
114 label = "Copy Button";
115 linux,code = <133>;
116 gpios = <&gpio1 5 1>;
117 };
118 button@3 {
119 label = "Reset Button";
120 linux,code = <0x198>;
121 gpios = <&gpio1 4 1>;
122 };
123 };
124
125 gpio-leds {
126 compatible = "gpio-leds";
127
128 green-sys {
129 label = "nsa310:green:sys";
130 gpios = <&gpio0 28 0>;
131 };
132 red-sys {
133 label = "nsa310:red:sys";
134 gpios = <&gpio0 29 0>;
135 };
136 green-hdd {
137 label = "nsa310:green:hdd";
138 gpios = <&gpio1 9 0>;
139 };
140 red-hdd {
141 label = "nsa310:red:hdd";
142 gpios = <&gpio1 10 0>;
143 };
144 green-esata {
145 label = "nsa310:green:esata";
146 gpios = <&gpio0 12 0>;
147 };
148 red-esata {
149 label = "nsa310:red:esata";
150 gpios = <&gpio0 13 0>;
151 };
152 green-usb {
153 label = "nsa310:green:usb";
154 gpios = <&gpio0 15 0>;
155 };
156 green-copy {
157 label = "nsa310:green:copy";
158 gpios = <&gpio1 7 0>;
159 };
160 red-copy {
161 label = "nsa310:red:copy";
162 gpios = <&gpio1 8 0>;
163 };
164 };
165};