Merge tag 'armsoc-late' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc
[sfrench/cifs-2.6.git] / arch / arm / boot / dts / bcm47094-linksys-panamera.dts
1 // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
2 /*
3  * Copyright (C) 2017 Rafał Miłecki <rafal@milecki.pl>
4  */
5
6 /dts-v1/;
7
8 #include "bcm47094.dtsi"
9 #include "bcm5301x-nand-cs0-bch8.dtsi"
10
11 / {
12         compatible = "linksys,panamera", "brcm,bcm47094", "brcm,bcm4708";
13         model = "Linksys EA9500";
14
15         chosen {
16                 bootargs = "console=ttyS0,115200";
17         };
18
19         memory@0 {
20                 device_type = "memory";
21                 reg = <0x00000000 0x08000000
22                        0x88000000 0x08000000>;
23         };
24
25         gpio-keys {
26                 compatible = "gpio-keys";
27
28                 wps {
29                         label = "WPS";
30                         linux,code = <KEY_WPS_BUTTON>;
31                         gpios = <&chipcommon 3 GPIO_ACTIVE_LOW>;
32                 };
33
34                 rfkill {
35                                 label = "WiFi";
36                                 linux,code = <KEY_RFKILL>;
37                                 gpios = <&chipcommon 16 GPIO_ACTIVE_LOW>;
38                 };
39
40                 reset {
41                                 label = "Reset";
42                                 linux,code = <KEY_RESTART>;
43                                 gpios = <&chipcommon 17 GPIO_ACTIVE_LOW>;
44                 };
45         };
46
47         leds {
48                 compatible = "gpio-leds";
49
50                 wps {
51                         label = "bcm53xx:white:wps";
52                         gpios = <&chipcommon 22 GPIO_ACTIVE_LOW>;
53                 };
54
55                 usb2 {
56                         label = "bcm53xx:green:usb2";
57                         gpios = <&chipcommon 1 GPIO_ACTIVE_LOW>;
58                         trigger-sources = <&ohci_port2>, <&ehci_port2>;
59                         linux,default-trigger = "usbport";
60                 };
61
62                 usb3 {
63                         label = "bcm53xx:green:usb3";
64                         gpios = <&chipcommon 2 GPIO_ACTIVE_LOW>;
65                         trigger-sources = <&ohci_port1>, <&ehci_port1>,
66                                           <&xhci_port1>;
67                         linux,default-trigger = "usbport";
68                 };
69
70                 power {
71                         label = "bcm53xx:white:power";
72                         gpios = <&chipcommon 4 GPIO_ACTIVE_HIGH>;
73                 };
74
75                 wifi-disabled {
76                         label = "bcm53xx:amber:wifi-disabled";
77                         gpios = <&chipcommon 0 GPIO_ACTIVE_LOW>;
78                 };
79
80                 wifi-enabled {
81                         label = "bcm53xx:white:wifi-enabled";
82                         gpios = <&chipcommon 5 GPIO_ACTIVE_HIGH>;
83                 };
84
85                 bluebar1 {
86                         label = "bcm53xx:white:bluebar1";
87                         gpios = <&chipcommon 11 GPIO_ACTIVE_HIGH>;
88                 };
89
90                 bluebar2 {
91                         label = "bcm53xx:white:bluebar2";
92                         gpios = <&chipcommon 12 GPIO_ACTIVE_HIGH>;
93                 };
94
95                 bluebar3 {
96                         label = "bcm53xx:white:bluebar3";
97                         gpios = <&chipcommon 15 GPIO_ACTIVE_LOW>;
98                 };
99
100                 bluebar4 {
101                         label = "bcm53xx:white:bluebar4";
102                         gpios = <&chipcommon 18 GPIO_ACTIVE_HIGH>;
103                 };
104
105                 bluebar5 {
106                         label = "bcm53xx:white:bluebar5";
107                         gpios = <&chipcommon 19 GPIO_ACTIVE_HIGH>;
108                 };
109
110                 bluebar6 {
111                         label = "bcm53xx:white:bluebar6";
112                         gpios = <&chipcommon 20 GPIO_ACTIVE_HIGH>;
113                 };
114
115                 bluebar7 {
116                         label = "bcm53xx:white:bluebar7";
117                         gpios = <&chipcommon 21 GPIO_ACTIVE_HIGH>;
118                 };
119
120                 bluebar8 {
121                         label = "bcm53xx:white:bluebar8";
122                         gpios = <&chipcommon 8 GPIO_ACTIVE_HIGH>;
123                 };
124         };
125
126         mdio-bus-mux {
127                 #address-cells = <1>;
128                 #size-cells = <0>;
129
130                 /* BIT(9) = 1 => external mdio */
131                 mdio_ext: mdio@200 {
132                         reg = <0x200>;
133                         #address-cells = <1>;
134                         #size-cells = <0>;
135                 };
136         };
137
138         mdio-mii-mux {
139                 compatible = "mdio-mux-mmioreg";
140                 mdio-parent-bus = <&mdio_ext>;
141                 #address-cells = <1>;
142                 #size-cells = <0>;
143                 reg = <0x1800c1c0 0x4>;
144
145                 /* BIT(6) = mdc, BIT(7) = mdio */
146                 mux-mask = <0xc0>;
147
148                 mdio-mii@0 {
149                         /* Enable MII function */
150                         reg = <0x0>;
151                         #address-cells = <1>;
152                         #size-cells = <0>;
153
154                         switch@0  {
155                                 compatible = "brcm,bcm53125";
156                                 #address-cells = <1>;
157                                 #size-cells = <0>;
158                                 reset-gpios = <&chipcommon 10 GPIO_ACTIVE_LOW>;
159                                 reset-names = "robo_reset";
160                                 reg = <0>;
161                                 dsa,member = <1 0>;
162
163                                 ports {
164                                         #address-cells = <1>;
165                                         #size-cells = <0>;
166
167                                         port@0 {
168                                                 reg = <0>;
169                                                 label = "lan1";
170                                         };
171
172                                         port@1 {
173                                                 reg = <1>;
174                                                 label = "lan5";
175                                         };
176
177                                         port@2 {
178                                                 reg = <2>;
179                                                 label = "lan2";
180                                         };
181
182                                         port@3 {
183                                                 reg = <3>;
184                                                 label = "lan6";
185                                         };
186
187                                         port@4 {
188                                                 reg = <4>;
189                                                 label = "lan3";
190                                         };
191
192                                         sw1_p8: port@8 {
193                                                 reg = <8>;
194                                                 ethernet = <&sw0_p0>;
195                                                 label = "cpu";
196
197                                                 fixed-link {
198                                                         speed = <1000>;
199                                                         full-duplex;
200                                                 };
201                                         };
202                                 };
203                         };
204                 };
205         };
206 };
207
208 &usb2 {
209         vcc-gpio = <&chipcommon 13 GPIO_ACTIVE_HIGH>;
210 };
211
212 &usb3 {
213         vcc-gpio = <&chipcommon 14 GPIO_ACTIVE_HIGH>;
214 };
215
216 &srab {
217         compatible = "brcm,bcm53012-srab", "brcm,bcm5301x-srab";
218         status = "okay";
219         dsa,member = <0 0>;
220
221         ports {
222                 #address-cells = <1>;
223                 #size-cells = <0>;
224
225                 port@1 {
226                         reg = <1>;
227                         label = "lan7";
228                 };
229
230                 port@2 {
231                         reg = <2>;
232                         label = "lan4";
233                 };
234
235                 port@3 {
236                         reg = <3>;
237                         label = "lan8";
238                 };
239
240                 port@4 {
241                         reg = <4>;
242                         label = "wan";
243                 };
244
245                 port@8 {
246                         reg = <8>;
247                         ethernet = <&gmac2>;
248                         label = "cpu";
249
250                         fixed-link {
251                                 speed = <1000>;
252                                 full-duplex;
253                         };
254                 };
255
256                 sw0_p0: port@0 {
257                         reg = <0>;
258                         label = "extsw";
259
260                         fixed-link {
261                                 speed = <1000>;
262                                 full-duplex;
263                         };
264                 };
265         };
266 };
267
268 &usb3_phy {
269         status = "okay";
270 };