mvebu: Add basic support for WRT1900AC (v1) and Turris Omnia (pre 2019)
[librecmc/librecmc.git] / target / linux / mvebu / files-4.14 / arch / arm / boot / dts / armada-385-linksys-venom.dts
1 /*
2  * Device Tree file for the Linksys WRT32X (Venom)
3  *
4  * Copyright (C) 2017 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 WRT32X";
47         compatible = "linksys,venom", "linksys,armada385", "marvell,armada385",
48                      "marvell,armada380";
49
50         chosen {
51                 bootargs = "console=ttyS0,115200";
52                 stdout-path = "serial0:115200n8";
53                 append-rootblock = "root=/dev/mtdblock";
54         };
55 };
56
57         &expander0 {
58                         wan_amber@0 {
59                                 label = "venom:amber:wan";
60                                 reg = <0x0>;
61                         };
62
63                         wan_blue@1 {
64                                 label = "venom:blue:wan";
65                                 reg = <0x1>;
66                         };
67
68                         usb2@5 {
69                                 label = "venom:blue:usb2";
70                                 reg = <0x5>;
71                         };
72
73                         usb3_1@6 {
74                                 label = "venom:blue:usb3_1";
75                                 reg = <0x6>;
76                         };
77
78                         usb3_2@7 {
79                                 label = "venom:blue:usb3_2";
80                                 reg = <0x7>;
81                         };
82
83                         wps_blue@8 {
84                                 label = "venom:blue:wps";
85                                 reg = <0x8>;
86                         };
87
88                         wps_amber@9 {
89                                 label = "venom:amber:wps";
90                                 reg = <0x9>;
91                         };
92         };
93
94         &gpio_leds {
95                         power {
96                                 gpios = <&gpio1 24 GPIO_ACTIVE_HIGH>;
97                                 label = "venom:blue:power";
98                         };
99
100                         sata {
101                                 gpios = <&gpio1 21 GPIO_ACTIVE_LOW>;
102                                 label = "venom:blue:sata";
103                         };
104
105                         wlan_2g {
106                                 gpios = <&gpio1 13 GPIO_ACTIVE_LOW>;
107                                 label = "venom:blue:wlan_2g";
108                         };
109
110                         wlan_5g {
111                                 gpios = <&gpio1 14 GPIO_ACTIVE_LOW>;
112                                 label = "venom:blue:wlan_5g";
113                         };
114         };
115
116         &gpio_leds_pins {
117                         marvell,pins = "mpp21", "mpp45", "mpp46", "mpp56";
118         };
119
120         &nand {
121                         /* Spansion S34ML02G2 256MiB, OEM Layout */
122                         partition@0 {
123                                 label = "u-boot";
124                                 reg = <0x0000000 0x200000>;     /* 2MB */
125                                 read-only;
126                         };
127
128                         partition@200000 {
129                                 label = "u_env";
130                                 reg = <0x200000 0x20000>;       /* 128KB */
131                         };
132
133                         partition@220000 {
134                                 label = "s_env";
135                                 reg = <0x220000 0x40000>;       /* 256KB */
136                         };
137
138                         partition@180000 {
139                                 label = "unused_area";
140                                 reg = <0x260000 0x5c0000>;      /* 5.75MB */
141                         };
142
143                         partition@7e0000 {
144                                 label = "devinfo";
145                                 reg = <0x7e0000 0x40000>;       /* 256KB */
146                                 read-only;
147                         };
148
149                         /* kernel1 overlaps with rootfs1 by design */
150                         partition@900000 {
151                                 label = "kernel1";
152                                 reg = <0x900000 0x7b00000>;     /* 123MB */
153                         };
154
155                         partition@c00000 {
156                                 label = "rootfs1";
157                                 reg = <0xc00000 0x7800000>;     /* 120MB */
158                         };
159
160                         /* kernel2 overlaps with rootfs2 by design */
161                         partition@8400000 {
162                                 label = "kernel2";
163                                 reg = <0x8400000 0x7b00000>;    /* 123MB */
164                         };
165
166                         partition@8700000 {
167                                 label = "rootfs2";
168                                 reg = <0x8700000 0x7800000>;    /* 120MB */
169                         };
170
171                         /* last MB is for the BBT, not writable */
172                         partition@ff00000 {
173                                 label = "BBT";
174                                 reg = <0xff00000 0x100000>;
175                         };
176         };
177
178
179         &pcie1 {
180                         mwlwifi {
181                                 marvell,chainmask = <4 4>;
182                         };
183         };
184
185         &pcie2 {
186                         mwlwifi {
187                                 marvell,chainmask = <4 4>;
188                         };
189         };
190
191         &sdhci {
192                 pinctrl-names = "default";
193                 pinctrl-0 = <&sdhci_pins>;
194                 no-1-8-v;
195                 non-removable;
196                 wp-inverted;
197                 bus-width = <8>;
198                 status = "okay";
199         };
200
201         &usb3_1_vbus {
202                 gpio = <&gpio1 12 GPIO_ACTIVE_HIGH>;
203         };
204
205         &usb3_1_vbus_pins {
206                 marvell,pins = "mpp44";
207         };