diff options
-rw-r--r-- | arch/arm/boot/dts/Makefile | 1 | ||||
-rw-r--r-- | arch/arm/boot/dts/armada-370.dtsi | 19 | ||||
-rw-r--r-- | arch/arm/boot/dts/armada-385-linksys-caiman.dts | 187 | ||||
-rw-r--r-- | arch/arm/boot/dts/armada-385-linksys-cobra.dts | 187 | ||||
-rw-r--r-- | arch/arm/boot/dts/armada-385-linksys-rango.dts | 203 | ||||
-rw-r--r-- | arch/arm/boot/dts/armada-385-linksys-shelby.dts | 187 | ||||
-rw-r--r-- | arch/arm/boot/dts/armada-385-linksys.dtsi | 362 | ||||
-rw-r--r-- | arch/arm/boot/dts/armada-385-turris-omnia.dts | 2 | ||||
-rw-r--r-- | arch/arm/boot/dts/armada-38x.dtsi | 16 | ||||
-rw-r--r-- | arch/arm/boot/dts/armada-xp-98dx3236.dtsi | 4 | ||||
-rw-r--r-- | arch/arm/boot/dts/armada-xp-98dx4251.dtsi | 1 | ||||
-rw-r--r-- | arch/arm/boot/dts/armada-xp-linksys-mamba.dts | 8 | ||||
-rw-r--r-- | arch/arm/boot/dts/armada-xp-mv78230.dtsi | 16 | ||||
-rw-r--r-- | arch/arm/boot/dts/armada-xp-mv78260.dtsi | 19 | ||||
-rw-r--r-- | arch/arm/boot/dts/armada-xp-mv78460.dtsi | 19 |
15 files changed, 768 insertions, 463 deletions
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile index 1e7ddf7e7258..f87854842d82 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile | |||
@@ -1008,6 +1008,7 @@ dtb-$(CONFIG_MACH_ARMADA_38X) += \ | |||
1008 | armada-385-db-ap.dtb \ | 1008 | armada-385-db-ap.dtb \ |
1009 | armada-385-linksys-caiman.dtb \ | 1009 | armada-385-linksys-caiman.dtb \ |
1010 | armada-385-linksys-cobra.dtb \ | 1010 | armada-385-linksys-cobra.dtb \ |
1011 | armada-385-linksys-rango.dtb \ | ||
1011 | armada-385-linksys-shelby.dtb \ | 1012 | armada-385-linksys-shelby.dtb \ |
1012 | armada-385-synology-ds116.dtb \ | 1013 | armada-385-synology-ds116.dtb \ |
1013 | armada-385-turris-omnia.dtb \ | 1014 | armada-385-turris-omnia.dtb \ |
diff --git a/arch/arm/boot/dts/armada-370.dtsi b/arch/arm/boot/dts/armada-370.dtsi index cc011c8bc36b..f9cf1273f35e 100644 --- a/arch/arm/boot/dts/armada-370.dtsi +++ b/arch/arm/boot/dts/armada-370.dtsi | |||
@@ -137,29 +137,38 @@ | |||
137 | }; | 137 | }; |
138 | 138 | ||
139 | gpio0: gpio@18100 { | 139 | gpio0: gpio@18100 { |
140 | compatible = "marvell,orion-gpio"; | 140 | compatible = "marvell,armada-370-gpio", |
141 | reg = <0x18100 0x40>; | 141 | "marvell,orion-gpio"; |
142 | reg = <0x18100 0x40>, <0x181c0 0x08>; | ||
143 | reg-names = "gpio", "pwm"; | ||
142 | ngpios = <32>; | 144 | ngpios = <32>; |
143 | gpio-controller; | 145 | gpio-controller; |
144 | #gpio-cells = <2>; | 146 | #gpio-cells = <2>; |
147 | #pwm-cells = <2>; | ||
145 | interrupt-controller; | 148 | interrupt-controller; |
146 | #interrupt-cells = <2>; | 149 | #interrupt-cells = <2>; |
147 | interrupts = <82>, <83>, <84>, <85>; | 150 | interrupts = <82>, <83>, <84>, <85>; |
151 | clocks = <&coreclk 0>; | ||
148 | }; | 152 | }; |
149 | 153 | ||
150 | gpio1: gpio@18140 { | 154 | gpio1: gpio@18140 { |
151 | compatible = "marvell,orion-gpio"; | 155 | compatible = "marvell,armada-370-gpio", |
152 | reg = <0x18140 0x40>; | 156 | "marvell,orion-gpio"; |
157 | reg = <0x18140 0x40>, <0x181c8 0x08>; | ||
158 | reg-names = "gpio", "pwm"; | ||
153 | ngpios = <32>; | 159 | ngpios = <32>; |
154 | gpio-controller; | 160 | gpio-controller; |
155 | #gpio-cells = <2>; | 161 | #gpio-cells = <2>; |
162 | #pwm-cells = <2>; | ||
156 | interrupt-controller; | 163 | interrupt-controller; |
157 | #interrupt-cells = <2>; | 164 | #interrupt-cells = <2>; |
158 | interrupts = <87>, <88>, <89>, <90>; | 165 | interrupts = <87>, <88>, <89>, <90>; |
166 | clocks = <&coreclk 0>; | ||
159 | }; | 167 | }; |
160 | 168 | ||
161 | gpio2: gpio@18180 { | 169 | gpio2: gpio@18180 { |
162 | compatible = "marvell,orion-gpio"; | 170 | compatible = "marvell,armada-370-gpio", |
171 | "marvell,orion-gpio"; | ||
163 | reg = <0x18180 0x40>; | 172 | reg = <0x18180 0x40>; |
164 | ngpios = <2>; | 173 | ngpios = <2>; |
165 | gpio-controller; | 174 | gpio-controller; |
diff --git a/arch/arm/boot/dts/armada-385-linksys-caiman.dts b/arch/arm/boot/dts/armada-385-linksys-caiman.dts index f3cee918d285..ee669ae61011 100644 --- a/arch/arm/boot/dts/armada-385-linksys-caiman.dts +++ b/arch/arm/boot/dts/armada-385-linksys-caiman.dts | |||
@@ -44,71 +44,128 @@ | |||
44 | model = "Linksys WRT1200AC"; | 44 | model = "Linksys WRT1200AC"; |
45 | compatible = "linksys,caiman", "linksys,armada385", "marvell,armada385", | 45 | compatible = "linksys,caiman", "linksys,armada385", "marvell,armada385", |
46 | "marvell,armada380"; | 46 | "marvell,armada380"; |
47 | }; | ||
48 | |||
49 | &expander0 { | ||
50 | wan_amber@0 { | ||
51 | label = "caiman:amber:wan"; | ||
52 | reg = <0x0>; | ||
53 | }; | ||
54 | |||
55 | wan_white@1 { | ||
56 | label = "caiman:white:wan"; | ||
57 | reg = <0x1>; | ||
58 | }; | ||
59 | |||
60 | wlan_2g@2 { | ||
61 | label = "caiman:white:wlan_2g"; | ||
62 | reg = <0x2>; | ||
63 | }; | ||
64 | |||
65 | wlan_5g@3 { | ||
66 | label = "caiman:white:wlan_5g"; | ||
67 | reg = <0x3>; | ||
68 | }; | ||
69 | |||
70 | usb2@5 { | ||
71 | label = "caiman:white:usb2"; | ||
72 | reg = <0x5>; | ||
73 | }; | ||
74 | |||
75 | usb3_1@6 { | ||
76 | label = "caiman:white:usb3_1"; | ||
77 | reg = <0x6>; | ||
78 | }; | ||
79 | |||
80 | usb3_2@7 { | ||
81 | label = "caiman:white:usb3_2"; | ||
82 | reg = <0x7>; | ||
83 | }; | ||
84 | |||
85 | wps_white@8 { | ||
86 | label = "caiman:white:wps"; | ||
87 | reg = <0x8>; | ||
88 | }; | ||
89 | |||
90 | wps_amber@9 { | ||
91 | label = "caiman:amber:wps"; | ||
92 | reg = <0x9>; | ||
93 | }; | ||
94 | }; | ||
95 | |||
96 | &gpio_leds { | ||
97 | power { | ||
98 | label = "caiman:white:power"; | ||
99 | }; | ||
100 | |||
101 | sata { | ||
102 | label = "caiman:white:sata"; | ||
103 | }; | ||
104 | }; | ||
105 | |||
106 | &nand { | ||
107 | /* 128MiB */ | ||
108 | |||
109 | partition@0 { | ||
110 | label = "u-boot"; | ||
111 | reg = <0x0000000 0x200000>; /* 2MiB */ | ||
112 | read-only; | ||
113 | }; | ||
114 | |||
115 | partition@100000 { | ||
116 | label = "u_env"; | ||
117 | reg = <0x200000 0x40000>; /* 256KiB */ | ||
118 | }; | ||
119 | |||
120 | partition@140000 { | ||
121 | label = "s_env"; | ||
122 | reg = <0x240000 0x40000>; /* 256KiB */ | ||
123 | }; | ||
124 | |||
125 | partition@900000 { | ||
126 | label = "devinfo"; | ||
127 | reg = <0x900000 0x100000>; /* 1MiB */ | ||
128 | read-only; | ||
129 | }; | ||
130 | |||
131 | /* kernel1 overlaps with rootfs1 by design */ | ||
132 | partition@a00000 { | ||
133 | label = "kernel1"; | ||
134 | reg = <0xa00000 0x2800000>; /* 40MiB */ | ||
135 | }; | ||
136 | |||
137 | partition@1000000 { | ||
138 | label = "rootfs1"; | ||
139 | reg = <0x1000000 0x2200000>; /* 34MiB */ | ||
140 | }; | ||
141 | |||
142 | /* kernel2 overlaps with rootfs2 by design */ | ||
143 | partition@3200000 { | ||
144 | label = "kernel2"; | ||
145 | reg = <0x3200000 0x2800000>; /* 40MiB */ | ||
146 | }; | ||
147 | |||
148 | partition@3800000 { | ||
149 | label = "rootfs2"; | ||
150 | reg = <0x3800000 0x2200000>; /* 34MiB */ | ||
151 | }; | ||
152 | |||
153 | /* | ||
154 | * 38MiB, last MiB is for the BBT, not writable | ||
155 | */ | ||
156 | partition@5a00000 { | ||
157 | label = "syscfg"; | ||
158 | reg = <0x5a00000 0x2600000>; | ||
159 | }; | ||
47 | 160 | ||
48 | soc { | 161 | /* |
49 | internal-regs{ | 162 | * Unused area between "s_env" and "devinfo". |
50 | i2c@11000 { | 163 | * Moved here because otherwise the renumbered |
51 | 164 | * partitions would break the bootloader | |
52 | pca9635@68 { | 165 | * supplied bootargs |
53 | #address-cells = <1>; | 166 | */ |
54 | #size-cells = <0>; | 167 | partition@180000 { |
55 | 168 | label = "unused_area"; | |
56 | wan_amber@0 { | 169 | reg = <0x280000 0x680000>; /* 6.5MiB */ |
57 | label = "caiman:amber:wan"; | ||
58 | reg = <0x0>; | ||
59 | }; | ||
60 | |||
61 | wan_white@1 { | ||
62 | label = "caiman:white:wan"; | ||
63 | reg = <0x1>; | ||
64 | }; | ||
65 | |||
66 | wlan_2g@2 { | ||
67 | label = "caiman:white:wlan_2g"; | ||
68 | reg = <0x2>; | ||
69 | }; | ||
70 | |||
71 | wlan_5g@3 { | ||
72 | label = "caiman:white:wlan_5g"; | ||
73 | reg = <0x3>; | ||
74 | }; | ||
75 | |||
76 | usb2@5 { | ||
77 | label = "caiman:white:usb2"; | ||
78 | reg = <0x5>; | ||
79 | }; | ||
80 | |||
81 | usb3_1@6 { | ||
82 | label = "caiman:white:usb3_1"; | ||
83 | reg = <0x6>; | ||
84 | }; | ||
85 | |||
86 | usb3_2@7 { | ||
87 | label = "caiman:white:usb3_2"; | ||
88 | reg = <0x7>; | ||
89 | }; | ||
90 | |||
91 | wps_white@8 { | ||
92 | label = "caiman:white:wps"; | ||
93 | reg = <0x8>; | ||
94 | }; | ||
95 | |||
96 | wps_amber@9 { | ||
97 | label = "caiman:amber:wps"; | ||
98 | reg = <0x9>; | ||
99 | }; | ||
100 | }; | ||
101 | }; | ||
102 | }; | ||
103 | }; | ||
104 | |||
105 | gpio-leds { | ||
106 | power { | ||
107 | label = "caiman:white:power"; | ||
108 | }; | ||
109 | |||
110 | sata { | ||
111 | label = "caiman:white:sata"; | ||
112 | }; | ||
113 | }; | 170 | }; |
114 | }; | 171 | }; |
diff --git a/arch/arm/boot/dts/armada-385-linksys-cobra.dts b/arch/arm/boot/dts/armada-385-linksys-cobra.dts index 111071860559..5169ca89c55a 100644 --- a/arch/arm/boot/dts/armada-385-linksys-cobra.dts +++ b/arch/arm/boot/dts/armada-385-linksys-cobra.dts | |||
@@ -44,71 +44,128 @@ | |||
44 | model = "Linksys WRT1900ACv2"; | 44 | model = "Linksys WRT1900ACv2"; |
45 | compatible = "linksys,cobra", "linksys,armada385", "marvell,armada385", | 45 | compatible = "linksys,cobra", "linksys,armada385", "marvell,armada385", |
46 | "marvell,armada380"; | 46 | "marvell,armada380"; |
47 | }; | ||
48 | |||
49 | &expander0 { | ||
50 | wan_amber@0 { | ||
51 | label = "cobra:amber:wan"; | ||
52 | reg = <0x0>; | ||
53 | }; | ||
54 | |||
55 | wan_white@1 { | ||
56 | label = "cobra:white:wan"; | ||
57 | reg = <0x1>; | ||
58 | }; | ||
59 | |||
60 | wlan_2g@2 { | ||
61 | label = "cobra:white:wlan_2g"; | ||
62 | reg = <0x2>; | ||
63 | }; | ||
64 | |||
65 | wlan_5g@3 { | ||
66 | label = "cobra:white:wlan_5g"; | ||
67 | reg = <0x3>; | ||
68 | }; | ||
69 | |||
70 | usb2@5 { | ||
71 | label = "cobra:white:usb2"; | ||
72 | reg = <0x5>; | ||
73 | }; | ||
74 | |||
75 | usb3_1@6 { | ||
76 | label = "cobra:white:usb3_1"; | ||
77 | reg = <0x6>; | ||
78 | }; | ||
79 | |||
80 | usb3_2@7 { | ||
81 | label = "cobra:white:usb3_2"; | ||
82 | reg = <0x7>; | ||
83 | }; | ||
84 | |||
85 | wps_white@8 { | ||
86 | label = "cobra:white:wps"; | ||
87 | reg = <0x8>; | ||
88 | }; | ||
89 | |||
90 | wps_amber@9 { | ||
91 | label = "cobra:amber:wps"; | ||
92 | reg = <0x9>; | ||
93 | }; | ||
94 | }; | ||
95 | |||
96 | &gpio_leds { | ||
97 | power { | ||
98 | label = "cobra:white:power"; | ||
99 | }; | ||
100 | |||
101 | sata { | ||
102 | label = "cobra:white:sata"; | ||
103 | }; | ||
104 | }; | ||
105 | |||
106 | &nand { | ||
107 | /* 128MiB */ | ||
108 | |||
109 | partition@0 { | ||
110 | label = "u-boot"; | ||
111 | reg = <0x0000000 0x200000>; /* 2MiB */ | ||
112 | read-only; | ||
113 | }; | ||
114 | |||
115 | partition@100000 { | ||
116 | label = "u_env"; | ||
117 | reg = <0x200000 0x40000>; /* 256KiB */ | ||
118 | }; | ||
119 | |||
120 | partition@140000 { | ||
121 | label = "s_env"; | ||
122 | reg = <0x240000 0x40000>; /* 256KiB */ | ||
123 | }; | ||
124 | |||
125 | partition@900000 { | ||
126 | label = "devinfo"; | ||
127 | reg = <0x900000 0x100000>; /* 1MiB */ | ||
128 | read-only; | ||
129 | }; | ||
130 | |||
131 | /* kernel1 overlaps with rootfs1 by design */ | ||
132 | partition@a00000 { | ||
133 | label = "kernel1"; | ||
134 | reg = <0xa00000 0x2800000>; /* 40MiB */ | ||
135 | }; | ||
136 | |||
137 | partition@1000000 { | ||
138 | label = "rootfs1"; | ||
139 | reg = <0x1000000 0x2200000>; /* 34MiB */ | ||
140 | }; | ||
141 | |||
142 | /* kernel2 overlaps with rootfs2 by design */ | ||
143 | partition@3200000 { | ||
144 | label = "kernel2"; | ||
145 | reg = <0x3200000 0x2800000>; /* 40MiB */ | ||
146 | }; | ||
147 | |||
148 | partition@3800000 { | ||
149 | label = "rootfs2"; | ||
150 | reg = <0x3800000 0x2200000>; /* 34MiB */ | ||
151 | }; | ||
152 | |||
153 | /* | ||
154 | * 38MiB, last MiB is for the BBT, not writable | ||
155 | */ | ||
156 | partition@5a00000 { | ||
157 | label = "syscfg"; | ||
158 | reg = <0x5a00000 0x2600000>; | ||
159 | }; | ||
47 | 160 | ||
48 | soc { | 161 | /* |
49 | internal-regs{ | 162 | * Unused area between "s_env" and "devinfo". |
50 | i2c@11000 { | 163 | * Moved here because otherwise the renumbered |
51 | 164 | * partitions would break the bootloader | |
52 | pca9635@68 { | 165 | * supplied bootargs |
53 | #address-cells = <1>; | 166 | */ |
54 | #size-cells = <0>; | 167 | partition@180000 { |
55 | 168 | label = "unused_area"; | |
56 | wan_amber@0 { | 169 | reg = <0x280000 0x680000>; /* 6.5MiB */ |
57 | label = "cobra:amber:wan"; | ||
58 | reg = <0x0>; | ||
59 | }; | ||
60 | |||
61 | wan_white@1 { | ||
62 | label = "cobra:white:wan"; | ||
63 | reg = <0x1>; | ||
64 | }; | ||
65 | |||
66 | wlan_2g@2 { | ||
67 | label = "cobra:white:wlan_2g"; | ||
68 | reg = <0x2>; | ||
69 | }; | ||
70 | |||
71 | wlan_5g@3 { | ||
72 | label = "cobra:white:wlan_5g"; | ||
73 | reg = <0x3>; | ||
74 | }; | ||
75 | |||
76 | usb2@5 { | ||
77 | label = "cobra:white:usb2"; | ||
78 | reg = <0x5>; | ||
79 | }; | ||
80 | |||
81 | usb3_1@6 { | ||
82 | label = "cobra:white:usb3_1"; | ||
83 | reg = <0x6>; | ||
84 | }; | ||
85 | |||
86 | usb3_2@7 { | ||
87 | label = "cobra:white:usb3_2"; | ||
88 | reg = <0x7>; | ||
89 | }; | ||
90 | |||
91 | wps_white@8 { | ||
92 | label = "cobra:white:wps"; | ||
93 | reg = <0x8>; | ||
94 | }; | ||
95 | |||
96 | wps_amber@9 { | ||
97 | label = "cobra:amber:wps"; | ||
98 | reg = <0x9>; | ||
99 | }; | ||
100 | }; | ||
101 | }; | ||
102 | }; | ||
103 | }; | ||
104 | |||
105 | gpio-leds { | ||
106 | power { | ||
107 | label = "cobra:white:power"; | ||
108 | }; | ||
109 | |||
110 | sata { | ||
111 | label = "cobra:white:sata"; | ||
112 | }; | ||
113 | }; | 170 | }; |
114 | }; | 171 | }; |
diff --git a/arch/arm/boot/dts/armada-385-linksys-rango.dts b/arch/arm/boot/dts/armada-385-linksys-rango.dts new file mode 100644 index 000000000000..da8a0f3d432b --- /dev/null +++ b/arch/arm/boot/dts/armada-385-linksys-rango.dts | |||
@@ -0,0 +1,203 @@ | |||
1 | /* | ||
2 | * Device Tree file for the Linksys WRT3200ACM (Rango) | ||
3 | * | ||
4 | * Copyright (C) 2016 Imre Kaloz <kaloz@openwrt.org> | ||
5 | * | ||
6 | * | ||
7 | * This file is dual-licensed: you can use it either under the terms | ||
8 | * of the GPL or the X11 license, at your option. Note that this dual | ||
9 | * licensing only applies to this file, and not this project as a | ||
10 | * whole. | ||
11 | * | ||
12 | * a) This file is licensed under the terms of the GNU General Public | ||
13 | * License version 2. This program is licensed "as is" without | ||
14 | * any warranty of any kind, whether express or implied. | ||
15 | * | ||
16 | * Or, alternatively, | ||
17 | * | ||
18 | * b) Permission is hereby granted, free of charge, to any person | ||
19 | * obtaining a copy of this software and associated documentation | ||
20 | * files (the "Software"), to deal in the Software without | ||
21 | * restriction, including without limitation the rights to use, | ||
22 | * copy, modify, merge, publish, distribute, sublicense, and/or | ||
23 | * sell copies of the Software, and to permit persons to whom the | ||
24 | * Software is furnished to do so, subject to the following | ||
25 | * conditions: | ||
26 | * | ||
27 | * The above copyright notice and this permission notice shall be | ||
28 | * included in all copies or substantial portions of the Software. | ||
29 | * | ||
30 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
31 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES | ||
32 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||
33 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT | ||
34 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, | ||
35 | * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | ||
36 | * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR | ||
37 | * OTHER DEALINGS IN THE SOFTWARE. | ||
38 | */ | ||
39 | |||
40 | /dts-v1/; | ||
41 | #include <dt-bindings/gpio/gpio.h> | ||
42 | #include <dt-bindings/input/input.h> | ||
43 | #include "armada-385-linksys.dtsi" | ||
44 | |||
45 | / { | ||
46 | model = "Linksys WRT3200ACM"; | ||
47 | compatible = "linksys,rango", "linksys,armada385", "marvell,armada385", | ||
48 | "marvell,armada380"; | ||
49 | }; | ||
50 | |||
51 | &expander0 { | ||
52 | wan_amber@0 { | ||
53 | label = "rango:amber:wan"; | ||
54 | reg = <0x0>; | ||
55 | }; | ||
56 | |||
57 | wan_white@1 { | ||
58 | label = "rango:white:wan"; | ||
59 | reg = <0x1>; | ||
60 | }; | ||
61 | |||
62 | usb2@5 { | ||
63 | label = "rango:white:usb2"; | ||
64 | reg = <0x5>; | ||
65 | }; | ||
66 | |||
67 | usb3_1@6 { | ||
68 | label = "rango:white:usb3_1"; | ||
69 | reg = <0x6>; | ||
70 | }; | ||
71 | |||
72 | usb3_2@7 { | ||
73 | label = "rango:white:usb3_2"; | ||
74 | reg = <0x7>; | ||
75 | }; | ||
76 | |||
77 | wps_white@8 { | ||
78 | label = "rango:white:wps"; | ||
79 | reg = <0x8>; | ||
80 | }; | ||
81 | |||
82 | wps_amber@9 { | ||
83 | label = "rango:amber:wps"; | ||
84 | reg = <0x9>; | ||
85 | }; | ||
86 | }; | ||
87 | |||
88 | &gpio_leds { | ||
89 | power { | ||
90 | gpios = <&gpio1 24 GPIO_ACTIVE_HIGH>; | ||
91 | label = "rango:white:power"; | ||
92 | }; | ||
93 | |||
94 | sata { | ||
95 | gpios = <&gpio0 21 GPIO_ACTIVE_LOW>; | ||
96 | label = "rango:white:sata"; | ||
97 | }; | ||
98 | |||
99 | wlan_2g { | ||
100 | gpios = <&gpio1 13 GPIO_ACTIVE_LOW>; | ||
101 | label = "rango:white:wlan_2g"; | ||
102 | }; | ||
103 | |||
104 | wlan_5g { | ||
105 | gpios = <&gpio1 14 GPIO_ACTIVE_LOW>; | ||
106 | label = "rango:white:wlan_5g"; | ||
107 | }; | ||
108 | }; | ||
109 | |||
110 | &gpio_leds_pins { | ||
111 | marvell,pins = "mpp21", "mpp45", "mpp46", "mpp56"; | ||
112 | }; | ||
113 | |||
114 | &nand { | ||
115 | /* AMD/Spansion S34ML02G2 256MiB, OEM Layout */ | ||
116 | |||
117 | partition@0 { | ||
118 | label = "u-boot"; | ||
119 | reg = <0x0000000 0x200000>; /* 2MiB */ | ||
120 | read-only; | ||
121 | }; | ||
122 | |||
123 | partition@200000 { | ||
124 | label = "u_env"; | ||
125 | reg = <0x200000 0x20000>; /* 128KiB */ | ||
126 | }; | ||
127 | |||
128 | partition@220000 { | ||
129 | label = "s_env"; | ||
130 | reg = <0x220000 0x40000>; /* 256KiB */ | ||
131 | }; | ||
132 | |||
133 | partition@7e0000 { | ||
134 | label = "devinfo"; | ||
135 | reg = <0x7e0000 0x40000>; /* 256KiB */ | ||
136 | read-only; | ||
137 | }; | ||
138 | |||
139 | partition@820000 { | ||
140 | label = "sysdiag"; | ||
141 | reg = <0x820000 0x1e0000>; /* 1920KiB */ | ||
142 | read-only; | ||
143 | }; | ||
144 | |||
145 | /* kernel1 overlaps with rootfs1 by design */ | ||
146 | partition@a00000 { | ||
147 | label = "kernel1"; | ||
148 | reg = <0xa00000 0x5000000>; /* 80MiB */ | ||
149 | }; | ||
150 | |||
151 | partition@1000000 { | ||
152 | label = "rootfs1"; | ||
153 | reg = <0x1000000 0x4a00000>; /* 74MiB */ | ||
154 | }; | ||
155 | |||
156 | /* kernel2 overlaps with rootfs2 by design */ | ||
157 | partition@5a00000 { | ||
158 | label = "kernel2"; | ||
159 | reg = <0x5a00000 0x5000000>; /* 80MiB */ | ||
160 | }; | ||
161 | |||
162 | partition@6000000 { | ||
163 | label = "rootfs2"; | ||
164 | reg = <0x6000000 0x4a00000>; /* 74MiB */ | ||
165 | }; | ||
166 | |||
167 | /* | ||
168 | * 86MiB, last MiB is for the BBT, not writable | ||
169 | */ | ||
170 | partition@aa00000 { | ||
171 | label = "syscfg"; | ||
172 | reg = <0xaa00000 0x5600000>; | ||
173 | }; | ||
174 | |||
175 | /* | ||
176 | * Unused area between "s_env" and "devinfo". | ||
177 | * Moved here because otherwise the renumbered | ||
178 | * partitions would break the bootloader | ||
179 | * supplied bootargs | ||
180 | */ | ||
181 | partition@180000 { | ||
182 | label = "unused_area"; | ||
183 | reg = <0x260000 0x5c0000>; /* 5.75MiB */ | ||
184 | }; | ||
185 | }; | ||
186 | |||
187 | &sdhci { | ||
188 | pinctrl-names = "default"; | ||
189 | pinctrl-0 = <&sdhci_pins>; | ||
190 | no-1-8-v; | ||
191 | non-removable; | ||
192 | wp-inverted; | ||
193 | bus-width = <8>; | ||
194 | status = "okay"; | ||
195 | }; | ||
196 | |||
197 | &usb3_1_vbus { | ||
198 | gpio = <&gpio1 12 GPIO_ACTIVE_HIGH>; | ||
199 | }; | ||
200 | |||
201 | &usb3_1_vbus_pins { | ||
202 | marvell,pins = "mpp44"; | ||
203 | }; | ||
diff --git a/arch/arm/boot/dts/armada-385-linksys-shelby.dts b/arch/arm/boot/dts/armada-385-linksys-shelby.dts index c7a8ddd7f9a5..94aa35bc0bff 100644 --- a/arch/arm/boot/dts/armada-385-linksys-shelby.dts +++ b/arch/arm/boot/dts/armada-385-linksys-shelby.dts | |||
@@ -44,71 +44,128 @@ | |||
44 | model = "Linksys WRT1900ACS"; | 44 | model = "Linksys WRT1900ACS"; |
45 | compatible = "linksys,shelby", "linksys,armada385", "marvell,armada385", | 45 | compatible = "linksys,shelby", "linksys,armada385", "marvell,armada385", |
46 | "marvell,armada380"; | 46 | "marvell,armada380"; |
47 | }; | ||
48 | |||
49 | &expander0 { | ||
50 | wan_amber@0 { | ||
51 | label = "shelby:amber:wan"; | ||
52 | reg = <0x0>; | ||
53 | }; | ||
54 | |||
55 | wan_white@1 { | ||
56 | label = "shelby:white:wan"; | ||
57 | reg = <0x1>; | ||
58 | }; | ||
59 | |||
60 | wlan_2g@2 { | ||
61 | label = "shelby:white:wlan_2g"; | ||
62 | reg = <0x2>; | ||
63 | }; | ||
64 | |||
65 | wlan_5g@3 { | ||
66 | label = "shelby:white:wlan_5g"; | ||
67 | reg = <0x3>; | ||
68 | }; | ||
69 | |||
70 | usb2@5 { | ||
71 | label = "shelby:white:usb2"; | ||
72 | reg = <0x5>; | ||
73 | }; | ||
74 | |||
75 | usb3_1@6 { | ||
76 | label = "shelby:white:usb3_1"; | ||
77 | reg = <0x6>; | ||
78 | }; | ||
79 | |||
80 | usb3_2@7 { | ||
81 | label = "shelby:white:usb3_2"; | ||
82 | reg = <0x7>; | ||
83 | }; | ||
84 | |||
85 | wps_white@8 { | ||
86 | label = "shelby:white:wps"; | ||
87 | reg = <0x8>; | ||
88 | }; | ||
89 | |||
90 | wps_amber@9 { | ||
91 | label = "shelby:amber:wps"; | ||
92 | reg = <0x9>; | ||
93 | }; | ||
94 | }; | ||
95 | |||
96 | &gpio_leds { | ||
97 | power { | ||
98 | label = "shelby:white:power"; | ||
99 | }; | ||
100 | |||
101 | sata { | ||
102 | label = "shelby:white:sata"; | ||
103 | }; | ||
104 | }; | ||
105 | |||
106 | &nand { | ||
107 | /* 128MiB */ | ||
108 | |||
109 | partition@0 { | ||
110 | label = "u-boot"; | ||
111 | reg = <0x0000000 0x200000>; /* 2MiB */ | ||
112 | read-only; | ||
113 | }; | ||
114 | |||
115 | partition@100000 { | ||
116 | label = "u_env"; | ||
117 | reg = <0x200000 0x40000>; /* 256KiB */ | ||
118 | }; | ||
119 | |||
120 | partition@140000 { | ||
121 | label = "s_env"; | ||
122 | reg = <0x240000 0x40000>; /* 256KiB */ | ||
123 | }; | ||
124 | |||
125 | partition@900000 { | ||
126 | label = "devinfo"; | ||
127 | reg = <0x900000 0x100000>; /* 1MiB */ | ||
128 | read-only; | ||
129 | }; | ||
130 | |||
131 | /* kernel1 overlaps with rootfs1 by design */ | ||
132 | partition@a00000 { | ||
133 | label = "kernel1"; | ||
134 | reg = <0xa00000 0x2800000>; /* 40MiB */ | ||
135 | }; | ||
136 | |||
137 | partition@1000000 { | ||
138 | label = "rootfs1"; | ||
139 | reg = <0x1000000 0x2200000>; /* 34MiB */ | ||
140 | }; | ||
141 | |||
142 | /* kernel2 overlaps with rootfs2 by design */ | ||
143 | partition@3200000 { | ||
144 | label = "kernel2"; | ||
145 | reg = <0x3200000 0x2800000>; /* 40MiB */ | ||
146 | }; | ||
147 | |||
148 | partition@3800000 { | ||
149 | label = "rootfs2"; | ||
150 | reg = <0x3800000 0x2200000>; /* 34MiB */ | ||
151 | }; | ||
152 | |||
153 | /* | ||
154 | * 38MiB, last MiB is for the BBT, not writable | ||
155 | */ | ||
156 | partition@5a00000 { | ||
157 | label = "syscfg"; | ||
158 | reg = <0x5a00000 0x2600000>; | ||
159 | }; | ||
47 | 160 | ||
48 | soc { | 161 | /* |
49 | internal-regs{ | 162 | * Unused area between "s_env" and "devinfo". |
50 | i2c@11000 { | 163 | * Moved here because otherwise the renumbered |
51 | 164 | * partitions would break the bootloader | |
52 | pca9635@68 { | 165 | * supplied bootargs |
53 | #address-cells = <1>; | 166 | */ |
54 | #size-cells = <0>; | 167 | partition@180000 { |
55 | 168 | label = "unused_area"; | |
56 | wan_amber@0 { | 169 | reg = <0x280000 0x680000>; /* 6.5MiB */ |
57 | label = "shelby:amber:wan"; | ||
58 | reg = <0x0>; | ||
59 | }; | ||
60 | |||
61 | wan_white@1 { | ||
62 | label = "shelby:white:wan"; | ||
63 | reg = <0x1>; | ||
64 | }; | ||
65 | |||
66 | wlan_2g@2 { | ||
67 | label = "shelby:white:wlan_2g"; | ||
68 | reg = <0x2>; | ||
69 | }; | ||
70 | |||
71 | wlan_5g@3 { | ||
72 | label = "shelby:white:wlan_5g"; | ||
73 | reg = <0x3>; | ||
74 | }; | ||
75 | |||
76 | usb2@5 { | ||
77 | label = "shelby:white:usb2"; | ||
78 | reg = <0x5>; | ||
79 | }; | ||
80 | |||
81 | usb3_1@6 { | ||
82 | label = "shelby:white:usb3_1"; | ||
83 | reg = <0x6>; | ||
84 | }; | ||
85 | |||
86 | usb3_2@7 { | ||
87 | label = "shelby:white:usb3_2"; | ||
88 | reg = <0x7>; | ||
89 | }; | ||
90 | |||
91 | wps_white@8 { | ||
92 | label = "shelby:white:wps"; | ||
93 | reg = <0x8>; | ||
94 | }; | ||
95 | |||
96 | wps_amber@9 { | ||
97 | label = "shelby:amber:wps"; | ||
98 | reg = <0x9>; | ||
99 | }; | ||
100 | }; | ||
101 | }; | ||
102 | }; | ||
103 | }; | ||
104 | |||
105 | gpio-leds { | ||
106 | power { | ||
107 | label = "shelby:white:power"; | ||
108 | }; | ||
109 | |||
110 | sata { | ||
111 | label = "shelby:white:sata"; | ||
112 | }; | ||
113 | }; | 170 | }; |
114 | }; | 171 | }; |
diff --git a/arch/arm/boot/dts/armada-385-linksys.dtsi b/arch/arm/boot/dts/armada-385-linksys.dtsi index 2306c45685b1..e1f355ffc8f7 100644 --- a/arch/arm/boot/dts/armada-385-linksys.dtsi +++ b/arch/arm/boot/dts/armada-385-linksys.dtsi | |||
@@ -52,7 +52,7 @@ | |||
52 | 52 | ||
53 | memory { | 53 | memory { |
54 | device_type = "memory"; | 54 | device_type = "memory"; |
55 | reg = <0x00000000 0x20000000>; /* 512 MB */ | 55 | reg = <0x00000000 0x20000000>; /* 512 MiB */ |
56 | }; | 56 | }; |
57 | 57 | ||
58 | soc { | 58 | soc { |
@@ -61,255 +61,45 @@ | |||
61 | MBUS_ID(0x09, 0x19) 0 0xf1100000 0x10000 | 61 | MBUS_ID(0x09, 0x19) 0 0xf1100000 0x10000 |
62 | MBUS_ID(0x09, 0x15) 0 0xf1110000 0x10000 | 62 | MBUS_ID(0x09, 0x15) 0 0xf1110000 0x10000 |
63 | MBUS_ID(0x0c, 0x04) 0 0xf1200000 0x100000>; | 63 | MBUS_ID(0x0c, 0x04) 0 0xf1200000 0x100000>; |
64 | |||
65 | internal-regs { | ||
66 | i2c@11000 { | ||
67 | pinctrl-names = "default"; | ||
68 | pinctrl-0 = <&i2c0_pins>; | ||
69 | status = "okay"; | ||
70 | |||
71 | tmp421@4c { | ||
72 | compatible = "ti,tmp421"; | ||
73 | reg = <0x4c>; | ||
74 | }; | ||
75 | |||
76 | pca9635@68 { | ||
77 | #address-cells = <1>; | ||
78 | #size-cells = <0>; | ||
79 | compatible = "nxp,pca9635"; | ||
80 | reg = <0x68>; | ||
81 | }; | ||
82 | }; | ||
83 | |||
84 | /* J10: VCC, NC, RX, NC, TX, GND */ | ||
85 | serial@12000 { | ||
86 | status = "okay"; | ||
87 | }; | ||
88 | |||
89 | ethernet@70000 { | ||
90 | status = "okay"; | ||
91 | phy-mode = "rgmii-id"; | ||
92 | buffer-manager = <&bm>; | ||
93 | bm,pool-long = <2>; | ||
94 | bm,pool-short = <3>; | ||
95 | fixed-link { | ||
96 | speed = <1000>; | ||
97 | full-duplex; | ||
98 | }; | ||
99 | }; | ||
100 | |||
101 | ethernet@34000 { | ||
102 | status = "okay"; | ||
103 | phy-mode = "sgmii"; | ||
104 | buffer-manager = <&bm>; | ||
105 | bm,pool-long = <0>; | ||
106 | bm,pool-short = <1>; | ||
107 | fixed-link { | ||
108 | speed = <1000>; | ||
109 | full-duplex; | ||
110 | }; | ||
111 | }; | ||
112 | |||
113 | mdio@72004 { | ||
114 | status = "okay"; | ||
115 | |||
116 | switch@0 { | ||
117 | compatible = "marvell,mv88e6085"; | ||
118 | #address-cells = <1>; | ||
119 | #size-cells = <0>; | ||
120 | reg = <0>; | ||
121 | |||
122 | ports { | ||
123 | #address-cells = <1>; | ||
124 | #size-cells = <0>; | ||
125 | |||
126 | port@0 { | ||
127 | reg = <0>; | ||
128 | label = "lan4"; | ||
129 | }; | ||
130 | |||
131 | port@1 { | ||
132 | reg = <1>; | ||
133 | label = "lan3"; | ||
134 | }; | ||
135 | |||
136 | port@2 { | ||
137 | reg = <2>; | ||
138 | label = "lan2"; | ||
139 | }; | ||
140 | |||
141 | port@3 { | ||
142 | reg = <3>; | ||
143 | label = "lan1"; | ||
144 | }; | ||
145 | |||
146 | port@4 { | ||
147 | reg = <4>; | ||
148 | label = "wan"; | ||
149 | }; | ||
150 | |||
151 | port@5 { | ||
152 | reg = <5>; | ||
153 | label = "cpu"; | ||
154 | ethernet = <ð2>; | ||
155 | |||
156 | fixed-link { | ||
157 | speed = <1000>; | ||
158 | full-duplex; | ||
159 | }; | ||
160 | }; | ||
161 | }; | ||
162 | }; | ||
163 | }; | ||
164 | |||
165 | sata@a8000 { | ||
166 | status = "okay"; | ||
167 | }; | ||
168 | |||
169 | bm@c8000 { | ||
170 | status = "okay"; | ||
171 | }; | ||
172 | |||
173 | /* USB part of the eSATA/USB 2.0 port */ | ||
174 | usb@58000 { | ||
175 | status = "okay"; | ||
176 | }; | ||
177 | |||
178 | usb3@f8000 { | ||
179 | status = "okay"; | ||
180 | usb-phy = <&usb3_phy>; | ||
181 | }; | ||
182 | |||
183 | flash@d0000 { | ||
184 | status = "okay"; | ||
185 | num-cs = <1>; | ||
186 | marvell,nand-keep-config; | ||
187 | marvell,nand-enable-arbiter; | ||
188 | nand-on-flash-bbt; | ||
189 | |||
190 | partition@0 { | ||
191 | label = "u-boot"; | ||
192 | reg = <0x0000000 0x200000>; /* 2MB */ | ||
193 | read-only; | ||
194 | }; | ||
195 | |||
196 | partition@100000 { | ||
197 | label = "u_env"; | ||
198 | reg = <0x200000 0x40000>; /* 256KB */ | ||
199 | }; | ||
200 | |||
201 | partition@140000 { | ||
202 | label = "s_env"; | ||
203 | reg = <0x240000 0x40000>; /* 256KB */ | ||
204 | }; | ||
205 | |||
206 | partition@900000 { | ||
207 | label = "devinfo"; | ||
208 | reg = <0x900000 0x100000>; /* 1MB */ | ||
209 | read-only; | ||
210 | }; | ||
211 | |||
212 | /* kernel1 overlaps with rootfs1 by design */ | ||
213 | partition@a00000 { | ||
214 | label = "kernel1"; | ||
215 | reg = <0xa00000 0x2800000>; /* 40MB */ | ||
216 | }; | ||
217 | |||
218 | partition@1000000 { | ||
219 | label = "rootfs1"; | ||
220 | reg = <0x1000000 0x2200000>; /* 34MB */ | ||
221 | }; | ||
222 | |||
223 | /* kernel2 overlaps with rootfs2 by design */ | ||
224 | partition@3200000 { | ||
225 | label = "kernel2"; | ||
226 | reg = <0x3200000 0x2800000>; /* 40MB */ | ||
227 | }; | ||
228 | |||
229 | partition@3800000 { | ||
230 | label = "rootfs2"; | ||
231 | reg = <0x3800000 0x2200000>; /* 34MB */ | ||
232 | }; | ||
233 | |||
234 | /* | ||
235 | * 38MB, last MB is for the BBT, not writable | ||
236 | */ | ||
237 | partition@5a00000 { | ||
238 | label = "syscfg"; | ||
239 | reg = <0x5a00000 0x2600000>; | ||
240 | }; | ||
241 | |||
242 | /* | ||
243 | * Unused area between "s_env" and "devinfo". | ||
244 | * Moved here because otherwise the renumbered | ||
245 | * partitions would break the bootloader | ||
246 | * supplied bootargs | ||
247 | */ | ||
248 | partition@180000 { | ||
249 | label = "unused_area"; | ||
250 | reg = <0x280000 0x680000>; /* 6.5MB */ | ||
251 | }; | ||
252 | }; | ||
253 | }; | ||
254 | |||
255 | bm-bppi { | ||
256 | status = "okay"; | ||
257 | }; | ||
258 | |||
259 | pcie-controller { | ||
260 | status = "okay"; | ||
261 | |||
262 | pcie@1,0 { | ||
263 | /* Marvell 88W8864, 5GHz-only */ | ||
264 | status = "okay"; | ||
265 | }; | ||
266 | |||
267 | pcie@2,0 { | ||
268 | /* Marvell 88W8864, 2GHz-only */ | ||
269 | status = "okay"; | ||
270 | }; | ||
271 | }; | ||
272 | }; | 64 | }; |
273 | 65 | ||
274 | usb3_phy: usb3_phy { | 66 | usb3_1_phy: usb3_1-phy { |
275 | compatible = "usb-nop-xceiv"; | 67 | compatible = "usb-nop-xceiv"; |
276 | vcc-supply = <®_xhci0_vbus>; | 68 | vcc-supply = <&usb3_1_vbus>; |
277 | }; | 69 | }; |
278 | 70 | ||
279 | reg_xhci0_vbus: xhci0-vbus { | 71 | usb3_1_vbus: usb3_1-vbus { |
280 | compatible = "regulator-fixed"; | 72 | compatible = "regulator-fixed"; |
281 | pinctrl-names = "default"; | 73 | pinctrl-names = "default"; |
282 | pinctrl-0 = <&xhci0_vbus_pins>; | 74 | pinctrl-0 = <&usb3_1_vbus_pins>; |
283 | regulator-name = "xhci0-vbus"; | 75 | regulator-name = "usb3_1-vbus"; |
284 | regulator-min-microvolt = <5000000>; | 76 | regulator-min-microvolt = <5000000>; |
285 | regulator-max-microvolt = <5000000>; | 77 | regulator-max-microvolt = <5000000>; |
286 | enable-active-high; | 78 | enable-active-high; |
287 | gpio = <&gpio1 18 GPIO_ACTIVE_HIGH>; | 79 | gpio = <&gpio1 18 GPIO_ACTIVE_HIGH>; |
288 | }; | 80 | }; |
289 | 81 | ||
290 | gpio_keys { | 82 | gpio_keys: gpio-keys { |
291 | compatible = "gpio-keys"; | 83 | compatible = "gpio-keys"; |
292 | #address-cells = <1>; | 84 | pinctrl-0 = <&gpio_keys_pins>; |
293 | #size-cells = <0>; | ||
294 | pinctrl-0 = <&keys_pin>; | ||
295 | pinctrl-names = "default"; | 85 | pinctrl-names = "default"; |
296 | 86 | ||
297 | button@1 { | 87 | wps { |
298 | label = "WPS"; | 88 | label = "WPS"; |
299 | linux,code = <KEY_WPS_BUTTON>; | 89 | linux,code = <KEY_WPS_BUTTON>; |
300 | gpios = <&gpio0 24 GPIO_ACTIVE_LOW>; | 90 | gpios = <&gpio0 24 GPIO_ACTIVE_LOW>; |
301 | }; | 91 | }; |
302 | 92 | ||
303 | button@2 { | 93 | reset { |
304 | label = "Factory Reset Button"; | 94 | label = "Factory Reset Button"; |
305 | linux,code = <KEY_RESTART>; | 95 | linux,code = <KEY_RESTART>; |
306 | gpios = <&gpio0 29 GPIO_ACTIVE_LOW>; | 96 | gpios = <&gpio0 29 GPIO_ACTIVE_LOW>; |
307 | }; | 97 | }; |
308 | }; | 98 | }; |
309 | 99 | ||
310 | gpio-leds { | 100 | gpio_leds: gpio-leds { |
311 | compatible = "gpio-leds"; | 101 | compatible = "gpio-leds"; |
312 | pinctrl-0 = <&power_led_pin &sata_led_pin>; | 102 | pinctrl-0 = <&gpio_leds_pins>; |
313 | pinctrl-names = "default"; | 103 | pinctrl-names = "default"; |
314 | 104 | ||
315 | power { | 105 | power { |
@@ -323,21 +113,83 @@ | |||
323 | linux,default-trigger = "disk-activity"; | 113 | linux,default-trigger = "disk-activity"; |
324 | }; | 114 | }; |
325 | }; | 115 | }; |
116 | }; | ||
326 | 117 | ||
327 | dsa@0 { | 118 | &ahci0 { |
328 | status = "disabled"; | 119 | status = "okay"; |
120 | }; | ||
121 | |||
122 | &bm { | ||
123 | status = "okay"; | ||
124 | }; | ||
329 | 125 | ||
330 | compatible = "marvell,dsa"; | 126 | &bm_bppi { |
331 | #address-cells = <2>; | 127 | status = "okay"; |
128 | }; | ||
129 | |||
130 | ð0 { | ||
131 | status = "okay"; | ||
132 | phy-mode = "rgmii-id"; | ||
133 | buffer-manager = <&bm>; | ||
134 | bm,pool-long = <0>; | ||
135 | bm,pool-short = <1>; | ||
136 | fixed-link { | ||
137 | speed = <1000>; | ||
138 | full-duplex; | ||
139 | }; | ||
140 | }; | ||
141 | |||
142 | ð2 { | ||
143 | status = "okay"; | ||
144 | phy-mode = "sgmii"; | ||
145 | buffer-manager = <&bm>; | ||
146 | bm,pool-long = <2>; | ||
147 | bm,pool-short = <3>; | ||
148 | fixed-link { | ||
149 | speed = <1000>; | ||
150 | full-duplex; | ||
151 | }; | ||
152 | }; | ||
153 | |||
154 | &i2c0 { | ||
155 | pinctrl-names = "default"; | ||
156 | pinctrl-0 = <&i2c0_pins>; | ||
157 | status = "okay"; | ||
158 | |||
159 | tmp421@4c { | ||
160 | compatible = "ti,tmp421"; | ||
161 | reg = <0x4c>; | ||
162 | }; | ||
163 | |||
164 | expander0: pca9635@68 { | ||
165 | #address-cells = <1>; | ||
332 | #size-cells = <0>; | 166 | #size-cells = <0>; |
167 | compatible = "nxp,pca9635"; | ||
168 | reg = <0x68>; | ||
169 | }; | ||
170 | }; | ||
171 | |||
172 | &nand { | ||
173 | /* 128MiB or 256MiB */ | ||
174 | status = "okay"; | ||
175 | num-cs = <1>; | ||
176 | marvell,nand-keep-config; | ||
177 | marvell,nand-enable-arbiter; | ||
178 | nand-on-flash-bbt; | ||
179 | }; | ||
333 | 180 | ||
334 | dsa,ethernet = <ð2>; | 181 | &mdio { |
335 | dsa,mii-bus = <&mdio>; | 182 | status = "okay"; |
336 | 183 | ||
337 | switch@0 { | 184 | switch@0 { |
185 | compatible = "marvell,mv88e6085"; | ||
186 | #address-cells = <1>; | ||
187 | #size-cells = <0>; | ||
188 | reg = <0>; | ||
189 | |||
190 | ports { | ||
338 | #address-cells = <1>; | 191 | #address-cells = <1>; |
339 | #size-cells = <0>; | 192 | #size-cells = <0>; |
340 | reg = <0x0 0>; /* MDIO address 0, switch 0 in tree */ | ||
341 | 193 | ||
342 | port@0 { | 194 | port@0 { |
343 | reg = <0>; | 195 | reg = <0>; |
@@ -367,28 +219,45 @@ | |||
367 | port@5 { | 219 | port@5 { |
368 | reg = <5>; | 220 | reg = <5>; |
369 | label = "cpu"; | 221 | label = "cpu"; |
222 | ethernet = <ð2>; | ||
223 | |||
224 | fixed-link { | ||
225 | speed = <1000>; | ||
226 | full-duplex; | ||
227 | }; | ||
370 | }; | 228 | }; |
371 | }; | 229 | }; |
372 | }; | 230 | }; |
373 | }; | 231 | }; |
374 | 232 | ||
233 | &pciec { | ||
234 | status = "okay"; | ||
235 | }; | ||
236 | |||
237 | &pcie1 { | ||
238 | /* Marvell 88W8864, 5GHz-only */ | ||
239 | status = "okay"; | ||
240 | }; | ||
241 | |||
242 | &pcie2 { | ||
243 | /* Marvell 88W8864, 2GHz-only */ | ||
244 | status = "okay"; | ||
245 | }; | ||
246 | |||
375 | &pinctrl { | 247 | &pinctrl { |
376 | keys_pin: keys-pin { | 248 | gpio_keys_pins: gpio-keys-pins { |
249 | /* mpp24: wps, mpp29: reset */ | ||
377 | marvell,pins = "mpp24", "mpp29"; | 250 | marvell,pins = "mpp24", "mpp29"; |
378 | marvell,function = "gpio"; | 251 | marvell,function = "gpio"; |
379 | }; | 252 | }; |
380 | 253 | ||
381 | power_led_pin: power-led-pin { | 254 | gpio_leds_pins: gpio-leds-pins { |
382 | marvell,pins = "mpp55"; | 255 | /* mpp54: sata, mpp55: power */ |
383 | marvell,function = "gpio"; | 256 | marvell,pins = "mpp54", "mpp55"; |
384 | }; | ||
385 | |||
386 | sata_led_pin: sata-led-pin { | ||
387 | marvell,pins = "mpp54"; | ||
388 | marvell,function = "gpio"; | 257 | marvell,function = "gpio"; |
389 | }; | 258 | }; |
390 | 259 | ||
391 | xhci0_vbus_pins: xhci0-vbus-pins { | 260 | usb3_1_vbus_pins: usb3_1-vbus-pins { |
392 | marvell,pins = "mpp50"; | 261 | marvell,pins = "mpp50"; |
393 | marvell,function = "gpio"; | 262 | marvell,function = "gpio"; |
394 | }; | 263 | }; |
@@ -397,3 +266,18 @@ | |||
397 | &spi0 { | 266 | &spi0 { |
398 | status = "disabled"; | 267 | status = "disabled"; |
399 | }; | 268 | }; |
269 | |||
270 | &uart0 { | ||
271 | /* J10: VCC, NC, RX, NC, TX, GND */ | ||
272 | status = "okay"; | ||
273 | }; | ||
274 | |||
275 | &usb0 { | ||
276 | /* USB part of the eSATA/USB 2.0 port */ | ||
277 | status = "okay"; | ||
278 | }; | ||
279 | |||
280 | &usb3_1 { | ||
281 | status = "okay"; | ||
282 | usb-phy = <&usb3_1_phy>; | ||
283 | }; | ||
diff --git a/arch/arm/boot/dts/armada-385-turris-omnia.dts b/arch/arm/boot/dts/armada-385-turris-omnia.dts index 28eede180e4f..be16ce39fb3d 100644 --- a/arch/arm/boot/dts/armada-385-turris-omnia.dts +++ b/arch/arm/boot/dts/armada-385-turris-omnia.dts | |||
@@ -171,7 +171,7 @@ | |||
171 | /* leds device (in STM32F0) at address 0x2b */ | 171 | /* leds device (in STM32F0) at address 0x2b */ |
172 | 172 | ||
173 | eeprom@54 { | 173 | eeprom@54 { |
174 | compatible = "at,24c64"; | 174 | compatible = "atmel,24c64"; |
175 | reg = <0x54>; | 175 | reg = <0x54>; |
176 | 176 | ||
177 | /* The EEPROM contains data for bootloader. | 177 | /* The EEPROM contains data for bootloader. |
diff --git a/arch/arm/boot/dts/armada-38x.dtsi b/arch/arm/boot/dts/armada-38x.dtsi index 8b165c31de1e..af31f5d6c0e5 100644 --- a/arch/arm/boot/dts/armada-38x.dtsi +++ b/arch/arm/boot/dts/armada-38x.dtsi | |||
@@ -312,31 +312,39 @@ | |||
312 | }; | 312 | }; |
313 | 313 | ||
314 | gpio0: gpio@18100 { | 314 | gpio0: gpio@18100 { |
315 | compatible = "marvell,orion-gpio"; | 315 | compatible = "marvell,armada-370-gpio", |
316 | reg = <0x18100 0x40>; | 316 | "marvell,orion-gpio"; |
317 | reg = <0x18100 0x40>, <0x181c0 0x08>; | ||
318 | reg-names = "gpio", "pwm"; | ||
317 | ngpios = <32>; | 319 | ngpios = <32>; |
318 | gpio-controller; | 320 | gpio-controller; |
319 | #gpio-cells = <2>; | 321 | #gpio-cells = <2>; |
322 | #pwm-cells = <2>; | ||
320 | interrupt-controller; | 323 | interrupt-controller; |
321 | #interrupt-cells = <2>; | 324 | #interrupt-cells = <2>; |
322 | interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>, | 325 | interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>, |
323 | <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>, | 326 | <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>, |
324 | <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>, | 327 | <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>, |
325 | <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>; | 328 | <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>; |
329 | clocks = <&coreclk 0>; | ||
326 | }; | 330 | }; |
327 | 331 | ||
328 | gpio1: gpio@18140 { | 332 | gpio1: gpio@18140 { |
329 | compatible = "marvell,orion-gpio"; | 333 | compatible = "marvell,armada-370-gpio", |
330 | reg = <0x18140 0x40>; | 334 | "marvell,orion-gpio"; |
335 | reg = <0x18140 0x40>, <0x181c8 0x08>; | ||
336 | reg-names = "gpio", "pwm"; | ||
331 | ngpios = <28>; | 337 | ngpios = <28>; |
332 | gpio-controller; | 338 | gpio-controller; |
333 | #gpio-cells = <2>; | 339 | #gpio-cells = <2>; |
340 | #pwm-cells = <2>; | ||
334 | interrupt-controller; | 341 | interrupt-controller; |
335 | #interrupt-cells = <2>; | 342 | #interrupt-cells = <2>; |
336 | interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>, | 343 | interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>, |
337 | <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>, | 344 | <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>, |
338 | <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>, | 345 | <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>, |
339 | <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>; | 346 | <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>; |
347 | clocks = <&coreclk 0>; | ||
340 | }; | 348 | }; |
341 | 349 | ||
342 | systemc: system-controller@18200 { | 350 | systemc: system-controller@18200 { |
diff --git a/arch/arm/boot/dts/armada-xp-98dx3236.dtsi b/arch/arm/boot/dts/armada-xp-98dx3236.dtsi index 84cc232a29e9..be22ec5236ac 100644 --- a/arch/arm/boot/dts/armada-xp-98dx3236.dtsi +++ b/arch/arm/boot/dts/armada-xp-98dx3236.dtsi | |||
@@ -311,6 +311,10 @@ | |||
311 | reg = <0x20a00 0x2d0>, <0x21070 0x58>; | 311 | reg = <0x20a00 0x2d0>, <0x21070 0x58>; |
312 | }; | 312 | }; |
313 | 313 | ||
314 | &rtc { | ||
315 | status = "disabled"; | ||
316 | }; | ||
317 | |||
314 | &timer { | 318 | &timer { |
315 | compatible = "marvell,armada-xp-timer"; | 319 | compatible = "marvell,armada-xp-timer"; |
316 | clocks = <&coreclk 2>, <&refclk>; | 320 | clocks = <&coreclk 2>, <&refclk>; |
diff --git a/arch/arm/boot/dts/armada-xp-98dx4251.dtsi b/arch/arm/boot/dts/armada-xp-98dx4251.dtsi index 51de91b31a9d..bc9f824020eb 100644 --- a/arch/arm/boot/dts/armada-xp-98dx4251.dtsi +++ b/arch/arm/boot/dts/armada-xp-98dx4251.dtsi | |||
@@ -87,4 +87,5 @@ | |||
87 | 87 | ||
88 | &pp0 { | 88 | &pp0 { |
89 | compatible = "marvell,prestera-98dx4251"; | 89 | compatible = "marvell,prestera-98dx4251"; |
90 | interrupts = <33>, <34>, <35>, <36>; | ||
90 | }; | 91 | }; |
diff --git a/arch/arm/boot/dts/armada-xp-linksys-mamba.dts b/arch/arm/boot/dts/armada-xp-linksys-mamba.dts index 9efcf59c9b44..6d705f518254 100644 --- a/arch/arm/boot/dts/armada-xp-linksys-mamba.dts +++ b/arch/arm/boot/dts/armada-xp-linksys-mamba.dts | |||
@@ -308,13 +308,11 @@ | |||
308 | }; | 308 | }; |
309 | }; | 309 | }; |
310 | 310 | ||
311 | gpio_fan { | 311 | pwm_fan { |
312 | /* SUNON HA4010V4-0000-C99 */ | 312 | /* SUNON HA4010V4-0000-C99 */ |
313 | compatible = "gpio-fan"; | ||
314 | gpios = <&gpio0 24 0>; | ||
315 | 313 | ||
316 | gpio-fan,speed-map = <0 0 | 314 | compatible = "pwm-fan"; |
317 | 4500 1>; | 315 | pwms = <&gpio0 24 4000>; |
318 | }; | 316 | }; |
319 | 317 | ||
320 | dsa { | 318 | dsa { |
diff --git a/arch/arm/boot/dts/armada-xp-mv78230.dtsi b/arch/arm/boot/dts/armada-xp-mv78230.dtsi index 07c5090ecd29..9f25814077f2 100644 --- a/arch/arm/boot/dts/armada-xp-mv78230.dtsi +++ b/arch/arm/boot/dts/armada-xp-mv78230.dtsi | |||
@@ -202,25 +202,33 @@ | |||
202 | 202 | ||
203 | internal-regs { | 203 | internal-regs { |
204 | gpio0: gpio@18100 { | 204 | gpio0: gpio@18100 { |
205 | compatible = "marvell,orion-gpio"; | 205 | compatible = "marvell,armada-370-gpio", |
206 | reg = <0x18100 0x40>; | 206 | "marvell,orion-gpio"; |
207 | reg = <0x18100 0x40>, <0x181c0 0x08>; | ||
208 | reg-names = "gpio", "pwm"; | ||
207 | ngpios = <32>; | 209 | ngpios = <32>; |
208 | gpio-controller; | 210 | gpio-controller; |
209 | #gpio-cells = <2>; | 211 | #gpio-cells = <2>; |
212 | #pwm-cells = <2>; | ||
210 | interrupt-controller; | 213 | interrupt-controller; |
211 | #interrupt-cells = <2>; | 214 | #interrupt-cells = <2>; |
212 | interrupts = <82>, <83>, <84>, <85>; | 215 | interrupts = <82>, <83>, <84>, <85>; |
216 | clocks = <&coreclk 0>; | ||
213 | }; | 217 | }; |
214 | 218 | ||
215 | gpio1: gpio@18140 { | 219 | gpio1: gpio@18140 { |
216 | compatible = "marvell,orion-gpio"; | 220 | compatible = "marvell,armada-370-gpio", |
217 | reg = <0x18140 0x40>; | 221 | "marvell,orion-gpio"; |
222 | reg = <0x18140 0x40>, <0x181c8 0x08>; | ||
223 | reg-names = "gpio", "pwm"; | ||
218 | ngpios = <17>; | 224 | ngpios = <17>; |
219 | gpio-controller; | 225 | gpio-controller; |
220 | #gpio-cells = <2>; | 226 | #gpio-cells = <2>; |
227 | #pwm-cells = <2>; | ||
221 | interrupt-controller; | 228 | interrupt-controller; |
222 | #interrupt-cells = <2>; | 229 | #interrupt-cells = <2>; |
223 | interrupts = <87>, <88>, <89>; | 230 | interrupts = <87>, <88>, <89>; |
231 | clocks = <&coreclk 0>; | ||
224 | }; | 232 | }; |
225 | }; | 233 | }; |
226 | }; | 234 | }; |
diff --git a/arch/arm/boot/dts/armada-xp-mv78260.dtsi b/arch/arm/boot/dts/armada-xp-mv78260.dtsi index 64e936ae7b22..2bfe07aebf1a 100644 --- a/arch/arm/boot/dts/armada-xp-mv78260.dtsi +++ b/arch/arm/boot/dts/armada-xp-mv78260.dtsi | |||
@@ -285,29 +285,38 @@ | |||
285 | 285 | ||
286 | internal-regs { | 286 | internal-regs { |
287 | gpio0: gpio@18100 { | 287 | gpio0: gpio@18100 { |
288 | compatible = "marvell,orion-gpio"; | 288 | compatible = "marvell,armada-370-gpio", |
289 | reg = <0x18100 0x40>; | 289 | "marvell,orion-gpio"; |
290 | reg = <0x18100 0x40>, <0x181c0 0x08>; | ||
291 | reg-names = "gpio", "pwm"; | ||
290 | ngpios = <32>; | 292 | ngpios = <32>; |
291 | gpio-controller; | 293 | gpio-controller; |
292 | #gpio-cells = <2>; | 294 | #gpio-cells = <2>; |
295 | #pwm-cells = <2>; | ||
293 | interrupt-controller; | 296 | interrupt-controller; |
294 | #interrupt-cells = <2>; | 297 | #interrupt-cells = <2>; |
295 | interrupts = <82>, <83>, <84>, <85>; | 298 | interrupts = <82>, <83>, <84>, <85>; |
299 | clocks = <&coreclk 0>; | ||
296 | }; | 300 | }; |
297 | 301 | ||
298 | gpio1: gpio@18140 { | 302 | gpio1: gpio@18140 { |
299 | compatible = "marvell,orion-gpio"; | 303 | compatible = "marvell,armada-370-gpio", |
300 | reg = <0x18140 0x40>; | 304 | "marvell,orion-gpio"; |
305 | reg = <0x18140 0x40>, <0x181c8 0x08>; | ||
306 | reg-names = "gpio", "pwm"; | ||
301 | ngpios = <32>; | 307 | ngpios = <32>; |
302 | gpio-controller; | 308 | gpio-controller; |
303 | #gpio-cells = <2>; | 309 | #gpio-cells = <2>; |
310 | #pwm-cells = <2>; | ||
304 | interrupt-controller; | 311 | interrupt-controller; |
305 | #interrupt-cells = <2>; | 312 | #interrupt-cells = <2>; |
306 | interrupts = <87>, <88>, <89>, <90>; | 313 | interrupts = <87>, <88>, <89>, <90>; |
314 | clocks = <&coreclk 0>; | ||
307 | }; | 315 | }; |
308 | 316 | ||
309 | gpio2: gpio@18180 { | 317 | gpio2: gpio@18180 { |
310 | compatible = "marvell,orion-gpio"; | 318 | compatible = "marvell,armada-370-gpio", |
319 | "marvell,orion-gpio"; | ||
311 | reg = <0x18180 0x40>; | 320 | reg = <0x18180 0x40>; |
312 | ngpios = <3>; | 321 | ngpios = <3>; |
313 | gpio-controller; | 322 | gpio-controller; |
diff --git a/arch/arm/boot/dts/armada-xp-mv78460.dtsi b/arch/arm/boot/dts/armada-xp-mv78460.dtsi index d1383dde43eb..6c33935f7074 100644 --- a/arch/arm/boot/dts/armada-xp-mv78460.dtsi +++ b/arch/arm/boot/dts/armada-xp-mv78460.dtsi | |||
@@ -323,29 +323,38 @@ | |||
323 | 323 | ||
324 | internal-regs { | 324 | internal-regs { |
325 | gpio0: gpio@18100 { | 325 | gpio0: gpio@18100 { |
326 | compatible = "marvell,orion-gpio"; | 326 | compatible = "marvell,armada-370-gpio", |
327 | reg = <0x18100 0x40>; | 327 | "marvell,orion-gpio"; |
328 | reg = <0x18100 0x40>, <0x181c0 0x08>; | ||
329 | reg-names = "gpio", "pwm"; | ||
328 | ngpios = <32>; | 330 | ngpios = <32>; |
329 | gpio-controller; | 331 | gpio-controller; |
330 | #gpio-cells = <2>; | 332 | #gpio-cells = <2>; |
333 | #pwm-cells = <2>; | ||
331 | interrupt-controller; | 334 | interrupt-controller; |
332 | #interrupt-cells = <2>; | 335 | #interrupt-cells = <2>; |
333 | interrupts = <82>, <83>, <84>, <85>; | 336 | interrupts = <82>, <83>, <84>, <85>; |
337 | clocks = <&coreclk 0>; | ||
334 | }; | 338 | }; |
335 | 339 | ||
336 | gpio1: gpio@18140 { | 340 | gpio1: gpio@18140 { |
337 | compatible = "marvell,orion-gpio"; | 341 | compatible = "marvell,armada-370-gpio", |
338 | reg = <0x18140 0x40>; | 342 | "marvell,orion-gpio"; |
343 | reg = <0x18140 0x40>, <0x181c8 0x08>; | ||
344 | reg-names = "gpio", "pwm"; | ||
339 | ngpios = <32>; | 345 | ngpios = <32>; |
340 | gpio-controller; | 346 | gpio-controller; |
341 | #gpio-cells = <2>; | 347 | #gpio-cells = <2>; |
348 | #pwm-cells = <2>; | ||
342 | interrupt-controller; | 349 | interrupt-controller; |
343 | #interrupt-cells = <2>; | 350 | #interrupt-cells = <2>; |
344 | interrupts = <87>, <88>, <89>, <90>; | 351 | interrupts = <87>, <88>, <89>, <90>; |
352 | clocks = <&coreclk 0>; | ||
345 | }; | 353 | }; |
346 | 354 | ||
347 | gpio2: gpio@18180 { | 355 | gpio2: gpio@18180 { |
348 | compatible = "marvell,orion-gpio"; | 356 | compatible = "marvell,armada-370-gpio", |
357 | "marvell,orion-gpio"; | ||
349 | reg = <0x18180 0x40>; | 358 | reg = <0x18180 0x40>; |
350 | ngpios = <3>; | 359 | ngpios = <3>; |
351 | gpio-controller; | 360 | gpio-controller; |