aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/boot/dts
diff options
context:
space:
mode:
authorArnd Bergmann <arnd@arndb.de>2016-09-19 11:30:06 -0400
committerArnd Bergmann <arnd@arndb.de>2016-09-19 11:30:06 -0400
commitfb90bc50602b34cb3d45bbcd1ba5d527c575dc2e (patch)
tree33a40fb49e7586eb238cb1ad10fb82b057793b98 /arch/arm/boot/dts
parent3598f2470b286113c17e85d6f97145b4fbe67ef9 (diff)
parentd30363364811e956816cb586936269ecb9a30299 (diff)
Merge tag 'mvebu-dt-4.9-2' of git://git.infradead.org/linux-mvebu into next/dt
Pull "mvebu dt for 4.9 (part 2)" from Gregory CLEMENT: - convert orion5x based SoC Netgear WNR854T to devicetree - remove obsolete orion-gpio binding description * tag 'mvebu-dt-4.9-2' of git://git.infradead.org/linux-mvebu: ARM: dts: orion5x: Configure WNR854T ethernet PHY LEDs ARM: dts: orion5x: Add description for Netgear WNR854T ARM: dts: arm: orion5x: Add DT include for mv88f5181 dt-bindings: arm: add DT binding for Marvell Orion5x SoC family ARM: dts: orion5x: Add required properties for orion-wdt to DT node dt-binding: mrvl-gpio: remove orion-gpio description
Diffstat (limited to 'arch/arm/boot/dts')
-rw-r--r--arch/arm/boot/dts/Makefile1
-rw-r--r--arch/arm/boot/dts/orion5x-mv88f5181.dtsi49
-rw-r--r--arch/arm/boot/dts/orion5x-netgear-wnr854t.dts251
-rw-r--r--arch/arm/boot/dts/orion5x.dtsi3
4 files changed, 303 insertions, 1 deletions
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 50d730101ab2..2fcd6a10b070 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -598,6 +598,7 @@ dtb-$(CONFIG_ARCH_ORION5X) += \
598 orion5x-linkstation-lswtgl.dtb \ 598 orion5x-linkstation-lswtgl.dtb \
599 orion5x-lswsgl.dtb \ 599 orion5x-lswsgl.dtb \
600 orion5x-maxtor-shared-storage-2.dtb \ 600 orion5x-maxtor-shared-storage-2.dtb \
601 orion5x-netgear-wnr854t.dtb \
601 orion5x-rd88f5182-nas.dtb 602 orion5x-rd88f5182-nas.dtb
602dtb-$(CONFIG_ARCH_PRIMA2) += \ 603dtb-$(CONFIG_ARCH_PRIMA2) += \
603 prima2-evb.dtb 604 prima2-evb.dtb
diff --git a/arch/arm/boot/dts/orion5x-mv88f5181.dtsi b/arch/arm/boot/dts/orion5x-mv88f5181.dtsi
new file mode 100644
index 000000000000..f667012b26ca
--- /dev/null
+++ b/arch/arm/boot/dts/orion5x-mv88f5181.dtsi
@@ -0,0 +1,49 @@
1/*
2 * Copyright (C) 2016 Jamie Lentin <jm@lentin.co.uk>
3 *
4 * This file is licensed under the terms of the GNU General Public
5 * License version 2. This program is licensed "as is" without any
6 * warranty of any kind, whether express or implied.
7 */
8
9#include "orion5x.dtsi"
10
11/ {
12 compatible = "marvell,orion5x-88f5181", "marvell,orion5x";
13
14 soc {
15 compatible = "marvell,orion5x-88f5181-mbus", "simple-bus";
16
17 internal-regs {
18 pinctrl: pinctrl@10000 {
19 compatible = "marvell,88f5181-pinctrl";
20 reg = <0x10000 0x8>, <0x10050 0x4>;
21 };
22
23 core_clk: core-clocks@10030 {
24 compatible = "marvell,mv88f5181-core-clock";
25 reg = <0x10010 0x4>;
26 #clock-cells = <1>;
27 };
28
29 mbusc: mbus-controller@20000 {
30 compatible = "marvell,mbus-controller";
31 reg = <0x20000 0x100>, <0x1500 0x20>;
32 };
33 };
34 };
35};
36
37&pinctrl {
38 pmx_ge: pmx-ge {
39 marvell,pins = "mpp8", "mpp9", "mpp10", "mpp11",
40 "mpp12", "mpp13", "mpp14", "mpp15",
41 "mpp16", "mpp17", "mpp18", "mpp19";
42 marvell,function = "ge";
43 };
44};
45
46&eth {
47 pinctrl-0 = <&pmx_ge>;
48 pinctrl-names = "default";
49};
diff --git a/arch/arm/boot/dts/orion5x-netgear-wnr854t.dts b/arch/arm/boot/dts/orion5x-netgear-wnr854t.dts
new file mode 100644
index 000000000000..9f6ae4e1de06
--- /dev/null
+++ b/arch/arm/boot/dts/orion5x-netgear-wnr854t.dts
@@ -0,0 +1,251 @@
1/*
2 * Copyright (C) 2016 Jamie Lentin <jm@lentin.co.uk>
3 *
4 * This file is licensed under the terms of the GNU General Public
5 * License version 2. This program is licensed "as is" without any
6 * warranty of any kind, whether express or implied.
7 */
8
9/dts-v1/;
10
11#include <dt-bindings/gpio/gpio.h>
12#include <dt-bindings/input/input.h>
13#include "orion5x-mv88f5181.dtsi"
14
15/ {
16 model = "Netgear WNR854-t";
17 compatible = "netgear,wnr854t", "marvell,orion5x-88f5181",
18 "marvell,orion5x";
19 aliases {
20 serial0 = &uart0;
21 };
22
23 memory {
24 reg = <0x00000000 0x2000000>; /* 32 MB */
25 };
26
27 chosen {
28 stdout-path = "serial0:115200n8";
29 };
30
31 soc {
32 ranges = <MBUS_ID(0xf0, 0x01) 0 0xf1000000 0x100000>,
33 <MBUS_ID(0x09, 0x00) 0 0xf2200000 0x800>,
34 <MBUS_ID(0x01, 0x0f) 0 0xf4000000 0x800000>;
35 };
36
37 gpio-keys {
38 compatible = "gpio-keys";
39 pinctrl-0 = <&pmx_reset_button>;
40 pinctrl-names = "default";
41
42 reset {
43 label = "Reset Button";
44 linux,code = <KEY_RESTART>;
45 gpios = <&gpio0 1 GPIO_ACTIVE_LOW>;
46 };
47 };
48
49 gpio-leds {
50 compatible = "gpio-leds";
51 pinctrl-0 = <&pmx_power_led &pmx_power_led_blink &pmx_wan_led>;
52 pinctrl-names = "default";
53
54 led@0 {
55 label = "wnr854t:green:power";
56 gpios = <&gpio0 0 GPIO_ACTIVE_LOW>;
57 };
58
59 led@1 {
60 label = "wnr854t:blink:power";
61 gpios = <&gpio0 2 GPIO_ACTIVE_LOW>;
62 };
63
64 led@2 {
65 label = "wnr854t:green:wan";
66 gpios = <&gpio0 3 GPIO_ACTIVE_LOW>;
67 };
68 };
69};
70
71&devbus_bootcs {
72 status = "okay";
73
74 devbus,keep-config;
75
76 flash@0 {
77 compatible = "cfi-flash";
78 reg = <0 0x800000>;
79 bank-width = <2>;
80
81 partitions {
82 compatible = "fixed-partitions";
83 #address-cells = <1>;
84 #size-cells = <1>;
85
86 partition@0 {
87 label = "kernel";
88 reg = <0x0 0x100000>;
89 };
90
91 partition@100000 {
92 label = "rootfs";
93 reg = <0x100000 0x660000>;
94 };
95
96 partition@760000 {
97 label = "uboot_env";
98 reg = <0x760000 0x20000>;
99 };
100
101 partition@780000 {
102 label = "uboot";
103 reg = <0x780000 0x80000>;
104 read-only;
105 };
106 };
107 };
108};
109
110&mdio {
111 status = "okay";
112
113 switch: switch@0 {
114 compatible = "marvell,mv88e6085";
115 #address-cells = <1>;
116 #size-cells = <0>;
117 reg = <0>;
118 dsa,member = <0 0>;
119
120 ports {
121 #address-cells = <1>;
122 #size-cells = <0>;
123
124 port@0 {
125 reg = <0>;
126 label = "lan3";
127 phy-handle = <&lan3phy>;
128 };
129
130 port@1 {
131 reg = <1>;
132 label = "lan4";
133 phy-handle = <&lan4phy>;
134 };
135
136 port@2 {
137 reg = <2>;
138 label = "wan";
139 phy-handle = <&wanphy>;
140 };
141
142 port@3 {
143 reg = <3>;
144 label = "cpu";
145 ethernet = <&ethport>;
146 };
147
148 port@5 {
149 reg = <5>;
150 label = "lan1";
151 phy-handle = <&lan1phy>;
152 };
153
154 port@7 {
155 reg = <7>;
156 label = "lan2";
157 phy-handle = <&lan2phy>;
158 };
159 };
160
161 mdio {
162 #address-cells = <1>;
163 #size-cells = <0>;
164
165 lan3phy: ethernet-phy@0 {
166 /* Marvell 88E1121R (port 1) */
167 compatible = "ethernet-phy-id0141.0cb0",
168 "ethernet-phy-ieee802.3-c22";
169 reg = <0>;
170 marvell,reg-init = <3 16 0 0x1777 3 17 0 0x15>;
171 };
172
173 lan4phy: ethernet-phy@1 {
174 /* Marvell 88E1121R (port 2) */
175 compatible = "ethernet-phy-id0141.0cb0",
176 "ethernet-phy-ieee802.3-c22";
177 reg = <1>;
178 marvell,reg-init = <3 16 0 0x1777 3 17 0 0x15>;
179 };
180
181 wanphy: ethernet-phy@2 {
182 /* Marvell 88E1121R (port 1) */
183 compatible = "ethernet-phy-id0141.0cb0",
184 "ethernet-phy-ieee802.3-c22";
185 reg = <2>;
186 marvell,reg-init = <3 16 0 0x1777 3 17 0 0x15>;
187 };
188
189 lan1phy: ethernet-phy@5 {
190 /* Marvell 88E1112 */
191 compatible = "ethernet-phy-id0141.0cb0",
192 "ethernet-phy-ieee802.3-c22";
193 reg = <5>;
194 marvell,reg-init = <3 16 0 0x1777 3 17 0 0x15>;
195 };
196
197 lan2phy: ethernet-phy@7 {
198 /* Marvell 88E1112 */
199 compatible = "ethernet-phy-id0141.0cb0",
200 "ethernet-phy-ieee802.3-c22";
201 reg = <7>;
202 marvell,reg-init = <3 16 0 0x1777 3 17 0 0x15>;
203 };
204 };
205 };
206};
207
208&eth {
209 status = "okay";
210
211 ethernet-port@0 {
212 /* Hardwired to DSA switch */
213 speed = <1000>;
214 duplex = <1>;
215 };
216};
217
218&pinctrl {
219 pinctrl-0 = <&pmx_pci_gpios>;
220 pinctrl-names = "default";
221
222 pmx_power_led: pmx-power-led {
223 marvell,pins = "mpp0";
224 marvell,function = "gpio";
225 };
226
227 pmx_reset_button: pmx-reset-button {
228 marvell,pins = "mpp1";
229 marvell,function = "gpio";
230 };
231
232 pmx_power_led_blink: pmx-power-led-blink {
233 marvell,pins = "mpp2";
234 marvell,function = "gpio";
235 };
236
237 pmx_wan_led: pmx-wan-led {
238 marvell,pins = "mpp3";
239 marvell,function = "gpio";
240 };
241
242 pmx_pci_gpios: pmx-pci-gpios {
243 marvell,pins = "mpp4";
244 marvell,function = "gpio";
245 };
246};
247
248&uart0 {
249 /* Pin 1: Tx, Pin 7: Rx, Pin 8: Gnd */
250 status = "okay";
251};
diff --git a/arch/arm/boot/dts/orion5x.dtsi b/arch/arm/boot/dts/orion5x.dtsi
index e1b6d2a2ac49..fbccfbbab223 100644
--- a/arch/arm/boot/dts/orion5x.dtsi
+++ b/arch/arm/boot/dts/orion5x.dtsi
@@ -144,9 +144,10 @@
144 144
145 wdt: wdt@20300 { 145 wdt: wdt@20300 {
146 compatible = "marvell,orion-wdt"; 146 compatible = "marvell,orion-wdt";
147 reg = <0x20300 0x28>; 147 reg = <0x20300 0x28>, <0x20108 0x4>;
148 interrupt-parent = <&bridge_intc>; 148 interrupt-parent = <&bridge_intc>;
149 interrupts = <3>; 149 interrupts = <3>;
150 clocks = <&core_clk 0>;
150 status = "okay"; 151 status = "okay";
151 }; 152 };
152 153