Merge tag 'soc-drivers-6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc
[linux-block.git] / arch / arm / boot / dts / marvell / kirkwood-l-50.dts
1 // SPDX-License-Identifier: GPL-2.0
2 /*
3  * Check Point L-50 Board Description
4  * Copyright 2020 Pawel Dembicki <paweldembicki@gmail.com>
5  */
6
7 /dts-v1/;
8
9 #include "kirkwood.dtsi"
10 #include "kirkwood-6281.dtsi"
11
12 / {
13         model = "Check Point L-50";
14         compatible = "checkpoint,l-50", "marvell,kirkwood-88f6281", "marvell,kirkwood";
15
16         memory {
17                 device_type = "memory";
18                 reg = <0x00000000 0x20000000>;
19         };
20
21         chosen {
22                 bootargs = "console=ttyS0,115200n8";
23                 stdout-path = &uart0;
24         };
25
26         ocp@f1000000 {
27                 pinctrl: pin-controller@10000 {
28                         pinctrl-0 = <&pmx_led38 &pmx_sysrst &pmx_button29>;
29                         pinctrl-names = "default";
30
31                         pmx_sysrst: pmx-sysrst {
32                                 marvell,pins = "mpp6";
33                                 marvell,function = "sysrst";
34                         };
35
36                         pmx_button29: pmx_button29 {
37                                 marvell,pins = "mpp29";
38                                 marvell,function = "gpio";
39                         };
40
41                         pmx_led38: pmx_led38 {
42                                 marvell,pins = "mpp38";
43                                 marvell,function = "gpio";
44                         };
45
46                         pmx_sdio_cd: pmx-sdio-cd {
47                                 marvell,pins = "mpp46";
48                                 marvell,function = "gpio";
49                         };
50                 };
51
52                 serial@12000 {
53                         status = "okay";
54                 };
55
56                 mvsdio@90000 {
57                         status = "okay";
58                         cd-gpios = <&gpio1 14 9>;
59                 };
60
61                 i2c@11000 {
62                         status = "okay";
63                         clock-frequency = <400000>;
64
65                         gpio2: gpio-expander@20 {
66                                 #gpio-cells = <2>;
67                                 #interrupt-cells = <2>;
68                                 interrupt-controller;
69                                 compatible = "semtech,sx1505q";
70                                 reg = <0x20>;
71
72                                 gpio-controller;
73                         };
74
75                         /* Three GPIOs from 0x21 exp. are undescribed in dts:
76                          * 1: DSL module reset (active low)
77                          * 5: mPCIE reset (active low)
78                          * 6: Express card reset (active low)
79                          */
80                         gpio3: gpio-expander@21 {
81                                 #gpio-cells = <2>;
82                                 #interrupt-cells = <2>;
83                                 interrupt-controller;
84                                 compatible = "semtech,sx1505q";
85                                 reg = <0x21>;
86
87                                 gpio-controller;
88                         };
89
90                         rtc@30 {
91                                 compatible = "s35390a";
92                                 reg = <0x30>;
93                         };
94                 };
95         };
96
97         leds {
98                 compatible = "gpio-leds";
99
100                 status_green {
101                         label = "l-50:green:status";
102                         gpios = <&gpio1 6 GPIO_ACTIVE_LOW>;
103                 };
104
105                 status_red {
106                         label = "l-50:red:status";
107                         gpios = <&gpio3 2 GPIO_ACTIVE_LOW>;
108                 };
109
110                 wifi {
111                         label = "l-50:green:wifi";
112                         gpios = <&gpio2 7 GPIO_ACTIVE_LOW>;
113                         linux,default-trigger = "phy0tpt";
114                 };
115
116                 internet_green {
117                         label = "l-50:green:internet";
118                         gpios = <&gpio2 3 GPIO_ACTIVE_LOW>;
119                 };
120
121                 internet_red {
122                         label = "l-50:red:internet";
123                         gpios = <&gpio2 1 GPIO_ACTIVE_LOW>;
124                 };
125
126                 usb1_green {
127                         label = "l-50:green:usb1";
128                         gpios = <&gpio2 0 GPIO_ACTIVE_LOW>;
129                         linux,default-trigger = "usbport";
130                         trigger-sources = <&hub_port3>;
131                 };
132
133                 usb1_red {
134                         label = "l-50:red:usb1";
135                         gpios = <&gpio2 4 GPIO_ACTIVE_LOW>;
136                 };
137
138                 usb2_green {
139                         label = "l-50:green:usb2";
140                         gpios = <&gpio2 2 GPIO_ACTIVE_LOW>;
141                         linux,default-trigger = "usbport";
142                         trigger-sources = <&hub_port1>;
143                 };
144
145                 usb2_red {
146                         label = "l-50:red:usb2";
147                         gpios = <&gpio2 5 GPIO_ACTIVE_LOW>;
148                 };
149         };
150
151         usb2_pwr {
152                 compatible = "regulator-fixed";
153                 regulator-name = "usb2_pwr";
154
155                 regulator-min-microvolt = <5000000>;
156                 regulator-max-microvolt = <5000000>;
157                 gpio = <&gpio3 3 GPIO_ACTIVE_LOW>;
158                 regulator-always-on;
159         };
160
161         usb1_pwr {
162                 compatible = "regulator-fixed";
163                 regulator-name = "usb1_pwr";
164
165                 regulator-min-microvolt = <5000000>;
166                 regulator-max-microvolt = <5000000>;
167                 gpio = <&gpio3 4 GPIO_ACTIVE_LOW>;
168                 regulator-always-on;
169         };
170
171         mpcie_pwr {
172                 compatible = "regulator-fixed";
173                 regulator-name = "mpcie_pwr";
174
175                 regulator-min-microvolt = <3300000>;
176                 regulator-max-microvolt = <3300000>;
177                 gpio = <&gpio3 5 GPIO_ACTIVE_HIGH>;
178                 enable-active-high;
179                 regulator-always-on;
180         };
181
182         express_card_pwr {
183                 compatible = "regulator-fixed";
184                 regulator-name = "express_card_pwr";
185
186                 regulator-min-microvolt = <3300000>;
187                 regulator-max-microvolt = <3300000>;
188                 gpio = <&gpio3 7 GPIO_ACTIVE_HIGH>;
189                 enable-active-high;
190                 regulator-always-on;
191         };
192
193         keys {
194                 compatible = "gpio-keys";
195
196                 factory_defaults {
197                         label = "factory_defaults";
198                         gpios = <&gpio0 29 GPIO_ACTIVE_LOW>;
199                         linux,code = <KEY_RESTART>;
200                 };
201         };
202 };
203
204 &mdio {
205         status = "okay";
206
207         ethphy8: ethernet-phy@8 {
208                 reg = <0x08>;
209         };
210
211         switch0: switch@10 {
212                 compatible = "marvell,mv88e6085";
213                 #address-cells = <1>;
214                 #size-cells = <0>;
215                 reg = <0x10>;
216                 dsa,member = <0 0>;
217
218                 ports {
219                         #address-cells = <1>;
220                         #size-cells = <0>;
221
222                         port@0 {
223                                 reg = <0>;
224                                 label = "lan5";
225                         };
226
227                         port@1 {
228                                 reg = <1>;
229                                 label = "lan1";
230                         };
231
232                         port@2 {
233                                 reg = <2>;
234                                 label = "lan6";
235                         };
236
237                         port@3 {
238                                 reg = <3>;
239                                 label = "lan2";
240                         };
241
242                         port@4 {
243                                 reg = <4>;
244                                 label = "lan7";
245                         };
246
247                         switch0port5: port@5 {
248                                 reg = <5>;
249                                 phy-mode = "rgmii-txid";
250                                 link = <&switch1port5>;
251                                 fixed-link {
252                                         speed = <1000>;
253                                         full-duplex;
254                                 };
255                         };
256
257                         port@6 {
258                                 reg = <6>;
259                                 phy-mode = "rgmii-id";
260                                 ethernet = <&eth1port>;
261                                 fixed-link {
262                                         speed = <1000>;
263                                         full-duplex;
264                                 };
265                         };
266                 };
267         };
268
269         switch@11 {
270                 compatible = "marvell,mv88e6085";
271                 #address-cells = <1>;
272                 #size-cells = <0>;
273                 reg = <0x11>;
274                 dsa,member = <0 1>;
275
276                 ports {
277                         #address-cells = <1>;
278                         #size-cells = <0>;
279
280                         port@0 {
281                                 reg = <0>;
282                                 label = "lan3";
283                         };
284
285                         port@1 {
286                                 reg = <1>;
287                                 label = "lan8";
288                         };
289
290                         port@2 {
291                                 reg = <2>;
292                                 label = "lan4";
293                         };
294
295                         port@3 {
296                                 reg = <3>;
297                                 label = "dmz";
298                         };
299
300                         switch1port5: port@5 {
301                                 reg = <5>;
302                                 phy-mode = "rgmii-txid";
303                                 link = <&switch0port5>;
304                                 fixed-link {
305                                         speed = <1000>;
306                                         full-duplex;
307                                 };
308                         };
309
310                         port@6 {
311                                 reg = <6>;
312                                 label = "dsl";
313                                 fixed-link {
314                                         speed = <100>;
315                                         full-duplex;
316                                 };
317                         };
318                 };
319         };
320 };
321
322 &eth0 {
323         status = "okay";
324         ethernet0-port@0 {
325                 phy-handle = <&ethphy8>;
326         };
327 };
328
329 &eth1 {
330         status = "okay";
331         ethernet1-port@0 {
332                 speed = <1000>;
333                 duplex = <1>;
334                 phy-mode = "rgmii";
335         };
336 };
337
338 &nand {
339         status = "okay";
340         pinctrl-0 = <&pmx_nand>;
341         pinctrl-names = "default";
342
343         partition@0 {
344                 label = "u-boot";
345                 reg = <0x00000000 0x000c0000>;
346         };
347
348         partition@a0000 {
349                 label = "bootldr-env";
350                 reg = <0x000c0000 0x00040000>;
351         };
352
353         partition@100000 {
354                 label = "kernel-1";
355                 reg = <0x00100000 0x00800000>;
356         };
357
358         partition@900000 {
359                 label = "rootfs-1";
360                 reg = <0x00900000 0x07100000>;
361         };
362
363         partition@7a00000 {
364                 label = "kernel-2";
365                 reg = <0x07a00000 0x00800000>;
366         };
367
368         partition@8200000 {
369                 label = "rootfs-2";
370                 reg = <0x08200000 0x07100000>;
371         };
372
373         partition@f300000 {
374                 label = "default_sw";
375                 reg = <0x0f300000 0x07900000>;
376         };
377
378         partition@16c00000 {
379                 label = "logs";
380                 reg = <0x16c00000 0x01800000>;
381         };
382
383         partition@18400000 {
384                 label = "preset_cfg";
385                 reg = <0x18400000 0x00100000>;
386         };
387
388         partition@18500000 {
389                 label = "adsl";
390                 reg = <0x18500000 0x00100000>;
391         };
392
393         partition@18600000 {
394                 label = "storage";
395                 reg = <0x18600000 0x07a00000>;
396         };
397 };
398
399 &rtc {
400         status = "disabled";
401 };
402
403 &pciec {
404         status = "okay";
405 };
406
407 &pcie0 {
408         status = "okay";
409 };
410
411 &sata_phy0 {
412         status = "disabled";
413 };
414
415 &sata_phy1 {
416         status = "disabled";
417 };
418
419 &usb0 {
420         #address-cells = <1>;
421         #size-cells = <0>;
422         status = "okay";
423
424         port@1 {
425                 #address-cells = <1>;
426                 #size-cells = <0>;
427                 reg = <1>;
428                 #trigger-source-cells = <0>;
429
430                 hub_port1: port@1 {
431                         reg = <1>;
432                         #trigger-source-cells = <0>;
433                 };
434
435                 hub_port3: port@3 {
436                         reg = <3>;
437                         #trigger-source-cells = <0>;
438                 };
439         };
440 };