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