aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/arm/boot/dts/Makefile3
-rw-r--r--arch/arm/boot/dts/armada-370-db.dts56
-rw-r--r--arch/arm/boot/dts/armada-370-xp.dtsi4
-rw-r--r--arch/arm/boot/dts/armada-370.dtsi33
-rw-r--r--arch/arm/boot/dts/armada-xp.dtsi6
-rw-r--r--arch/arm/boot/dts/dove.dtsi8
-rw-r--r--arch/arm/boot/dts/kirkwood-rd88f6192.dts112
-rw-r--r--arch/arm/boot/dts/kirkwood-rd88f6281-a0.dts26
-rw-r--r--arch/arm/boot/dts/kirkwood-rd88f6281-a1.dts31
-rw-r--r--arch/arm/boot/dts/kirkwood-rd88f6281.dtsi152
-rw-r--r--arch/arm/boot/dts/kirkwood.dtsi2
11 files changed, 432 insertions, 1 deletions
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 222fe15a8d53..94b3bb4a08ea 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -113,6 +113,9 @@ dtb-$(CONFIG_ARCH_KIRKWOOD) += kirkwood-b3.dtb \
113 kirkwood-nsa310a.dtb \ 113 kirkwood-nsa310a.dtb \
114 kirkwood-openblocks_a6.dtb \ 114 kirkwood-openblocks_a6.dtb \
115 kirkwood-openblocks_a7.dtb \ 115 kirkwood-openblocks_a7.dtb \
116 kirkwood-rd88f6192.dtb \
117 kirkwood-rd88f6281-a0.dtb \
118 kirkwood-rd88f6281-a1.dtb \
116 kirkwood-sheevaplug.dtb \ 119 kirkwood-sheevaplug.dtb \
117 kirkwood-sheevaplug-esata.dtb \ 120 kirkwood-sheevaplug-esata.dtb \
118 kirkwood-topkick.dtb \ 121 kirkwood-topkick.dtb \
diff --git a/arch/arm/boot/dts/armada-370-db.dts b/arch/arm/boot/dts/armada-370-db.dts
index 08a56bcfc724..82f238a9063f 100644
--- a/arch/arm/boot/dts/armada-370-db.dts
+++ b/arch/arm/boot/dts/armada-370-db.dts
@@ -64,6 +64,22 @@
64 phy-mode = "rgmii-id"; 64 phy-mode = "rgmii-id";
65 }; 65 };
66 66
67 i2c@11000 {
68 pinctrl-0 = <&i2c0_pins>;
69 pinctrl-names = "default";
70 status = "okay";
71 audio_codec: audio-codec@4a {
72 compatible = "cirrus,cs42l51";
73 reg = <0x4a>;
74 };
75 };
76
77 audio-controller@30000 {
78 pinctrl-0 = <&i2s_pins2>;
79 pinctrl-names = "default";
80 status = "okay";
81 };
82
67 mvsdio@d4000 { 83 mvsdio@d4000 {
68 pinctrl-0 = <&sdio_pins1>; 84 pinctrl-0 = <&sdio_pins1>;
69 pinctrl-names = "default"; 85 pinctrl-names = "default";
@@ -80,6 +96,30 @@
80 broken-cd; 96 broken-cd;
81 }; 97 };
82 98
99 pinctrl {
100 /*
101 * These pins might be muxed as I2S by
102 * the bootloader, but it conflicts
103 * with the real I2S pins that are
104 * muxed using i2s_pins. We must mux
105 * those pins to a function other than
106 * I2S.
107 */
108 pinctrl-0 = <&hog_pins1 &hog_pins2>;
109 pinctrl-names = "default";
110
111 hog_pins1: hog-pins1 {
112 marvell,pins = "mpp6", "mpp8", "mpp10",
113 "mpp12", "mpp13";
114 marvell,function = "gpio";
115 };
116
117 hog_pins2: hog-pins2 {
118 marvell,pins = "mpp5", "mpp7", "mpp9";
119 marvell,function = "gpo";
120 };
121 };
122
83 usb@50000 { 123 usb@50000 {
84 status = "okay"; 124 status = "okay";
85 }; 125 };
@@ -112,10 +152,26 @@
112 /* Port 0, Lane 0 */ 152 /* Port 0, Lane 0 */
113 status = "okay"; 153 status = "okay";
114 }; 154 };
155
115 pcie@2,0 { 156 pcie@2,0 {
116 /* Port 1, Lane 0 */ 157 /* Port 1, Lane 0 */
117 status = "okay"; 158 status = "okay";
118 }; 159 };
119 }; 160 };
120 }; 161 };
162
163 sound {
164 compatible = "marvell,a370db-audio";
165 marvell,audio-controller = <&audio_controller>;
166 marvell,audio-codec = <&audio_codec &spdif_out &spdif_in>;
167 status = "okay";
168 };
169
170 spdif_out: spdif-out {
171 compatible = "linux,spdif-dit";
172 };
173
174 spdif_in: spdif-in {
175 compatible = "linux,spdif-dir";
176 };
121}; 177};
diff --git a/arch/arm/boot/dts/armada-370-xp.dtsi b/arch/arm/boot/dts/armada-370-xp.dtsi
index 74b5964430ac..7bbc4ac997fb 100644
--- a/arch/arm/boot/dts/armada-370-xp.dtsi
+++ b/arch/arm/boot/dts/armada-370-xp.dtsi
@@ -199,6 +199,10 @@
199 interrupts = <37>, <38>, <39>, <40>, <5>, <6>; 199 interrupts = <37>, <38>, <39>, <40>, <5>, <6>;
200 }; 200 };
201 201
202 watchdog@20300 {
203 reg = <0x20300 0x34>, <0x20704 0x4>;
204 };
205
202 usb@50000 { 206 usb@50000 {
203 compatible = "marvell,orion-ehci"; 207 compatible = "marvell,orion-ehci";
204 reg = <0x50000 0x500>; 208 reg = <0x50000 0x500>;
diff --git a/arch/arm/boot/dts/armada-370.dtsi b/arch/arm/boot/dts/armada-370.dtsi
index 0d8530c98cf5..af1f11e9e5a0 100644
--- a/arch/arm/boot/dts/armada-370.dtsi
+++ b/arch/arm/boot/dts/armada-370.dtsi
@@ -132,6 +132,25 @@
132 "mpp51", "mpp52", "mpp53"; 132 "mpp51", "mpp52", "mpp53";
133 marvell,function = "sd0"; 133 marvell,function = "sd0";
134 }; 134 };
135
136 i2c0_pins: i2c0-pins {
137 marvell,pins = "mpp2", "mpp3";
138 marvell,function = "i2c0";
139 };
140
141 i2s_pins1: i2s-pins1 {
142 marvell,pins = "mpp5", "mpp6", "mpp7",
143 "mpp8", "mpp9", "mpp10",
144 "mpp12", "mpp13";
145 marvell,function = "audio";
146 };
147
148 i2s_pins2: i2s-pins2 {
149 marvell,pins = "mpp49", "mpp47", "mpp50",
150 "mpp59", "mpp57", "mpp61",
151 "mpp62", "mpp60", "mpp58";
152 marvell,function = "audio";
153 };
135 }; 154 };
136 155
137 gpio0: gpio@18100 { 156 gpio0: gpio@18100 {
@@ -196,6 +215,20 @@
196 clocks = <&coreclk 2>; 215 clocks = <&coreclk 2>;
197 }; 216 };
198 217
218 watchdog@20300 {
219 compatible = "marvell,armada-370-wdt";
220 clocks = <&coreclk 2>;
221 };
222
223 audio_controller: audio-controller@30000 {
224 compatible = "marvell,armada370-audio";
225 reg = <0x30000 0x4000>;
226 interrupts = <93>;
227 clocks = <&gateclk 0>;
228 clock-names = "internal";
229 status = "disabled";
230 };
231
199 usb@50000 { 232 usb@50000 {
200 clocks = <&coreclk 0>; 233 clocks = <&coreclk 0>;
201 }; 234 };
diff --git a/arch/arm/boot/dts/armada-xp.dtsi b/arch/arm/boot/dts/armada-xp.dtsi
index b8b84a22f0f3..abb9f9dcc525 100644
--- a/arch/arm/boot/dts/armada-xp.dtsi
+++ b/arch/arm/boot/dts/armada-xp.dtsi
@@ -111,6 +111,12 @@
111 clock-names = "nbclk", "fixed"; 111 clock-names = "nbclk", "fixed";
112 }; 112 };
113 113
114 watchdog@20300 {
115 compatible = "marvell,armada-xp-wdt";
116 clocks = <&coreclk 2>, <&refclk>;
117 clock-names = "nbclk", "fixed";
118 };
119
114 armada-370-xp-pmsu@22000 { 120 armada-370-xp-pmsu@22000 {
115 compatible = "marvell,armada-370-xp-pmsu"; 121 compatible = "marvell,armada-370-xp-pmsu";
116 reg = <0x22100 0x400>, <0x20800 0x20>; 122 reg = <0x22100 0x400>, <0x20800 0x20>;
diff --git a/arch/arm/boot/dts/dove.dtsi b/arch/arm/boot/dts/dove.dtsi
index 2b76524f4aa7..a88ed73c1c86 100644
--- a/arch/arm/boot/dts/dove.dtsi
+++ b/arch/arm/boot/dts/dove.dtsi
@@ -210,6 +210,14 @@
210 clocks = <&core_clk 0>; 210 clocks = <&core_clk 0>;
211 }; 211 };
212 212
213 watchdog@20300 {
214 compatible = "marvell,orion-wdt";
215 reg = <0x20300 0x28>, <0x20108 0x4>;
216 interrupt-parent = <&bridge_intc>;
217 interrupts = <3>;
218 clocks = <&core_clk 0>;
219 };
220
213 crypto: crypto-engine@30000 { 221 crypto: crypto-engine@30000 {
214 compatible = "marvell,orion-crypto"; 222 compatible = "marvell,orion-crypto";
215 reg = <0x30000 0x10000>, 223 reg = <0x30000 0x10000>,
diff --git a/arch/arm/boot/dts/kirkwood-rd88f6192.dts b/arch/arm/boot/dts/kirkwood-rd88f6192.dts
new file mode 100644
index 000000000000..e9dd85049297
--- /dev/null
+++ b/arch/arm/boot/dts/kirkwood-rd88f6192.dts
@@ -0,0 +1,112 @@
1/*
2 * Marvell RD88F6192 Board descrition
3 *
4 * Andrew Lunn <andrew@lunn.ch>
5 *
6 * This file is licensed under the terms of the GNU General Public
7 * License version 2. This program is licensed "as is" without any
8 * warranty of any kind, whether express or implied.
9 *
10 * This file contains the definitions that are common between the three
11 * variants of the Marvell Kirkwood Development Board.
12 */
13/dts-v1/;
14
15#include "kirkwood.dtsi"
16#include "kirkwood-6192.dtsi"
17
18/ {
19 model = "Marvell RD88F6192 reference design";
20 compatible = "marvell,rd88f6192", "marvell,kirkwood-88f6192", "marvell,kirkwood";
21
22 memory {
23 device_type = "memory";
24 reg = <0x00000000 0x20000000>;
25 };
26
27 chosen {
28 bootargs = "console=ttyS0,115200n8";
29 };
30
31 mbus {
32 pcie-controller {
33 status = "okay";
34
35 pcie@1,0 {
36 status = "okay";
37 };
38 };
39 };
40
41 ocp@f1000000 {
42 pinctrl: pinctrl@10000 {
43 pinctrl-0 = <&pmx_usb_power>;
44 pinctrl-names = "default";
45
46 pmx_usb_power: pmx-usb-power {
47 marvell,pins = "mpp10";
48 marvell,function = "gpo";
49 };
50 };
51
52 serial@12000 {
53 status = "okay";
54
55 };
56
57 spi@10600 {
58 status = "okay";
59 pinctrl-0 = <&pmx_spi>;
60 pinctrl-names = "default";
61
62 m25p128@0 {
63 #address-cells = <1>;
64 #size-cells = <1>;
65 compatible = "st,m25p128";
66 reg = <0>;
67 spi-max-frequency = <20000000>;
68 mode = <0>;
69 };
70 };
71
72 sata@80000 {
73 status = "okay";
74 nr-ports = <2>;
75 };
76 };
77
78 regulators {
79 compatible = "simple-bus";
80 #address-cells = <1>;
81 #size-cells = <0>;
82 pinctrl-0 = <&pmx_usb_power>;
83 pinctrl-names = "default";
84
85 usb_power: regulator@0 {
86 compatible = "regulator-fixed";
87 reg = <0>;
88 regulator-name = "USB VBUS";
89 regulator-min-microvolt = <5000000>;
90 regulator-max-microvolt = <5000000>;
91 enable-active-high;
92 regulator-always-on;
93 regulator-boot-on;
94 gpio = <&gpio0 10 GPIO_ACTIVE_HIGH>;
95 };
96 };
97};
98
99&mdio {
100 status = "okay";
101
102 ethphy0: ethernet-phy@8 {
103 reg = <8>;
104 };
105};
106
107&eth0 {
108 status = "okay";
109 ethernet0-port@0 {
110 phy-handle = <&ethphy0>;
111 };
112}; \ No newline at end of file
diff --git a/arch/arm/boot/dts/kirkwood-rd88f6281-a0.dts b/arch/arm/boot/dts/kirkwood-rd88f6281-a0.dts
new file mode 100644
index 000000000000..a803bbb70bc8
--- /dev/null
+++ b/arch/arm/boot/dts/kirkwood-rd88f6281-a0.dts
@@ -0,0 +1,26 @@
1/*
2 * Marvell RD88F6181 A0 Board descrition
3 *
4 * Andrew Lunn <andrew@lunn.ch>
5 *
6 * This file is licensed under the terms of the GNU General Public
7 * License version 2. This program is licensed "as is" without any
8 * warranty of any kind, whether express or implied.
9 *
10 * This file contains the definitions for the board with the A0 variant of
11 * the SoC. The ethernet switch does not have a "wan" port.
12 */
13
14/dts-v1/;
15#include "kirkwood-rd88f6281.dtsi"
16
17/ {
18 model = "Marvell RD88f6281 Reference design, with A0 SoC";
19 compatible = "marvell,rd88f6281-a0", "marvell,rd88f6281","marvell,kirkwood-88f6281", "marvell,kirkwood";
20
21 dsa@0 {
22 switch@0 {
23 reg = <10 0>; /* MDIO address 10, switch 0 in tree */
24 };
25 };
26}; \ No newline at end of file
diff --git a/arch/arm/boot/dts/kirkwood-rd88f6281-a1.dts b/arch/arm/boot/dts/kirkwood-rd88f6281-a1.dts
new file mode 100644
index 000000000000..baeebbf1d8c7
--- /dev/null
+++ b/arch/arm/boot/dts/kirkwood-rd88f6281-a1.dts
@@ -0,0 +1,31 @@
1/*
2 * Marvell RD88F6181 A1 Board descrition
3 *
4 * Andrew Lunn <andrew@lunn.ch>
5 *
6 * This file is licensed under the terms of the GNU General Public
7 * License version 2. This program is licensed "as is" without any
8 * warranty of any kind, whether express or implied.
9 *
10 * This file contains the definitions for the board with the A1 variant of
11 * the SoC. The ethernet switch has a "wan" port.
12 */
13
14/dts-v1/;
15
16#include "kirkwood-rd88f6281.dtsi"
17
18/ {
19 model = "Marvell RD88f6281 Reference design, with A1 SoC";
20 compatible = "marvell,rd88f6281-a1", "marvell,rd88f6281","marvell,kirkwood-88f6281", "marvell,kirkwood";
21
22 dsa@0 {
23 switch@0 {
24 reg = <0 0>; /* MDIO address 0, switch 0 in tree */
25 port@4 {
26 reg = <4>;
27 label = "wan";
28 };
29 };
30 };
31}; \ No newline at end of file
diff --git a/arch/arm/boot/dts/kirkwood-rd88f6281.dtsi b/arch/arm/boot/dts/kirkwood-rd88f6281.dtsi
new file mode 100644
index 000000000000..d6368c39102e
--- /dev/null
+++ b/arch/arm/boot/dts/kirkwood-rd88f6281.dtsi
@@ -0,0 +1,152 @@
1/*
2 * Marvell RD88F6181 Common Board descrition
3 *
4 * Andrew Lunn <andrew@lunn.ch>
5 *
6 * This file is licensed under the terms of the GNU General Public
7 * License version 2. This program is licensed "as is" without any
8 * warranty of any kind, whether express or implied.
9 *
10 * This file contains the definitions that are common between the two
11 * variants of the Marvell Kirkwood Development Board.
12 */
13
14#include "kirkwood.dtsi"
15#include "kirkwood-6281.dtsi"
16
17/ {
18 memory {
19 device_type = "memory";
20 reg = <0x00000000 0x20000000>;
21 };
22
23 chosen {
24 bootargs = "console=ttyS0,115200n8";
25 };
26
27 mbus {
28 pcie-controller {
29 status = "okay";
30
31 pcie@1,0 {
32 status = "okay";
33 };
34 };
35 };
36
37 ocp@f1000000 {
38 pinctrl: pinctrl@10000 {
39 pinctrl-0 = <&pmx_sdio_cd>;
40 pinctrl-names = "default";
41
42 pmx_sdio_cd: pmx-sdio-cd {
43 marvell,pins = "mpp28";
44 marvell,function = "gpio";
45 };
46 };
47
48 serial@12000 {
49 status = "okay";
50
51 };
52
53 sata@80000 {
54 status = "okay";
55 nr-ports = <2>;
56 };
57 mvsdio@90000 {
58 pinctrl-0 = <&pmx_sdio &pmx_sdio_cd>;
59 pinctrl-names = "default";
60 status = "okay";
61 cd-gpios = <&gpio0 28 GPIO_ACTIVE_HIGH>;
62 /* No WP GPIO */
63 };
64 };
65
66 dsa@0 {
67 compatible = "marvell,dsa";
68 #address-cells = <2>;
69 #size-cells = <0>;
70
71 dsa,ethernet = <&eth0>;
72 dsa,mii-bus = <&ethphy1>;
73
74 switch@0 {
75 #address-cells = <1>;
76 #size-cells = <0>;
77
78 port@0 {
79 reg = <0>;
80 label = "lan1";
81 };
82
83 port@1 {
84 reg = <1>;
85 label = "lan2";
86 };
87
88 port@2 {
89 reg = <2>;
90 label = "lan3";
91 };
92
93 port@3 {
94 reg = <3>;
95 label = "lan4";
96 };
97
98 port@5 {
99 reg = <5>;
100 label = "cpu";
101 };
102 };
103 };
104};
105
106&nand {
107 status = "okay";
108
109 partition@0 {
110 label = "u-boot";
111 reg = <0x0000000 0x100000>;
112 read-only;
113 };
114
115 partition@100000 {
116 label = "uImage";
117 reg = <0x0100000 0x200000>;
118 };
119
120 partition@300000 {
121 label = "data";
122 reg = <0x0300000 0x500000>;
123 };
124};
125
126&mdio {
127 status = "okay";
128
129 ethphy0: ethernet-phy@0 {
130 reg = <0>;
131 };
132
133 ethphy1: ethernet-phy@ff {
134 reg = <0xff>; /* No PHY attached */
135 speed = <1000>;
136 duple = <1>;
137 };
138};
139
140&eth0 {
141 status = "okay";
142 ethernet0-port@0 {
143 phy-handle = <&ethphy0>;
144 };
145};
146
147&eth1 {
148 status = "okay";
149 ethernet1-port@0 {
150 phy-handle = <&ethphy1>;
151 };
152};
diff --git a/arch/arm/boot/dts/kirkwood.dtsi b/arch/arm/boot/dts/kirkwood.dtsi
index 6abf44d257df..85542c2f34b1 100644
--- a/arch/arm/boot/dts/kirkwood.dtsi
+++ b/arch/arm/boot/dts/kirkwood.dtsi
@@ -178,7 +178,7 @@
178 178
179 wdt: watchdog-timer@20300 { 179 wdt: watchdog-timer@20300 {
180 compatible = "marvell,orion-wdt"; 180 compatible = "marvell,orion-wdt";
181 reg = <0x20300 0x28>; 181 reg = <0x20300 0x28>, <0x20108 0x4>;
182 interrupt-parent = <&bridge_intc>; 182 interrupt-parent = <&bridge_intc>;
183 interrupts = <3>; 183 interrupts = <3>;
184 clocks = <&gate_clk 7>; 184 clocks = <&gate_clk 7>;