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