ARM: dts: aspeed: swift: Add eMMC device
[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                 /* BIT(9) = 1 => external mdio */
128                 mdio_ext: mdio@200 {
129                         reg = <0x200>;
130                         #address-cells = <1>;
131                         #size-cells = <0>;
132                 };
133         };
134
135         mdio-mii-mux {
136                 compatible = "mdio-mux-mmioreg";
137                 mdio-parent-bus = <&mdio_ext>;
138                 #address-cells = <1>;
139                 #size-cells = <0>;
140                 reg = <0x1800c1c0 0x4>;
141
142                 /* BIT(6) = mdc, BIT(7) = mdio */
143                 mux-mask = <0xc0>;
144
145                 mdio-mii@0 {
146                         /* Enable MII function */
147                         reg = <0x0>;
148                         #address-cells = <1>;
149                         #size-cells = <0>;
150
151                         switch@0  {
152                                 compatible = "brcm,bcm53125";
153                                 #address-cells = <1>;
154                                 #size-cells = <0>;
155                                 reset-gpios = <&chipcommon 10 GPIO_ACTIVE_LOW>;
156                                 reset-names = "robo_reset";
157                                 reg = <0>;
158                                 dsa,member = <1 0>;
159
160                                 ports {
161                                         #address-cells = <1>;
162                                         #size-cells = <0>;
163
164                                         port@0 {
165                                                 reg = <0>;
166                                                 label = "lan1";
167                                         };
168
169                                         port@1 {
170                                                 reg = <1>;
171                                                 label = "lan5";
172                                         };
173
174                                         port@2 {
175                                                 reg = <2>;
176                                                 label = "lan2";
177                                         };
178
179                                         port@3 {
180                                                 reg = <3>;
181                                                 label = "lan6";
182                                         };
183
184                                         port@4 {
185                                                 reg = <4>;
186                                                 label = "lan3";
187                                         };
188
189                                         sw1_p8: port@8 {
190                                                 reg = <8>;
191                                                 ethernet = <&sw0_p0>;
192                                                 label = "cpu";
193
194                                                 fixed-link {
195                                                         speed = <1000>;
196                                                         full-duplex;
197                                                 };
198                                         };
199                                 };
200                         };
201                 };
202         };
203 };
204
205 &usb2 {
206         vcc-gpio = <&chipcommon 13 GPIO_ACTIVE_HIGH>;
207 };
208
209 &usb3 {
210         vcc-gpio = <&chipcommon 14 GPIO_ACTIVE_HIGH>;
211 };
212
213 &srab {
214         compatible = "brcm,bcm53012-srab", "brcm,bcm5301x-srab";
215         status = "okay";
216         dsa,member = <0 0>;
217
218         ports {
219                 #address-cells = <1>;
220                 #size-cells = <0>;
221
222                 port@1 {
223                         reg = <1>;
224                         label = "lan7";
225                 };
226
227                 port@2 {
228                         reg = <2>;
229                         label = "lan4";
230                 };
231
232                 port@3 {
233                         reg = <3>;
234                         label = "lan8";
235                 };
236
237                 port@4 {
238                         reg = <4>;
239                         label = "wan";
240                 };
241
242                 port@8 {
243                         reg = <8>;
244                         ethernet = <&gmac2>;
245                         label = "cpu";
246
247                         fixed-link {
248                                 speed = <1000>;
249                                 full-duplex;
250                         };
251                 };
252
253                 sw0_p0: port@0 {
254                         reg = <0>;
255                         label = "extsw";
256
257                         fixed-link {
258                                 speed = <1000>;
259                                 full-duplex;
260                         };
261                 };
262         };
263 };
264
265 &usb3_phy {
266         status = "okay";
267 };