~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/arch/arm64/boot/dts/marvell/cn9132-clearfog.dts

Version: ~ [ linux-6.11-rc3 ] ~ [ linux-6.10.4 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.45 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.104 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.164 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.223 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.281 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.319 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
  2 /*
  3  * Copyright (C) 2024 Josua Mayer <josua@solid-run.com>
  4  *
  5  * DTS for SolidRun CN9132 Clearfog.
  6  *
  7  */
  8 
  9 /dts-v1/;
 10 
 11 #include <dt-bindings/input/input.h>
 12 #include <dt-bindings/leds/common.h>
 13 
 14 #include "cn9130.dtsi"
 15 #include "cn9132-sr-cex7.dtsi"
 16 
 17 / {
 18         model = "SolidRun CN9132 Clearfog";
 19         compatible = "solidrun,cn9132-clearfog",
 20                      "solidrun,cn9132-sr-cex7", "marvell,cn9130";
 21 
 22         aliases {
 23                 ethernet1 = &cp0_eth2;
 24                 ethernet2 = &cp0_eth0;
 25                 ethernet3 = &cp2_eth0;
 26                 ethernet4 = &cp1_eth0;
 27                 i2c7 = &carrier_mpcie_i2c;
 28                 i2c8 = &carrier_ptp_i2c;
 29                 mmc1 = &cp0_sdhci0;
 30         };
 31 
 32         gpio-keys {
 33                 compatible = "gpio-keys";
 34                 pinctrl-names = "default";
 35                 pinctrl-0 = <&cp1_wake0_pins>;
 36 
 37                 button-0 {
 38                         label = "SW2";
 39                         gpios = <&cp1_gpio2 8 GPIO_ACTIVE_LOW>;
 40                         linux,can-disable;
 41                         linux,code = <BTN_2>;
 42                 };
 43         };
 44 
 45         leds {
 46                 compatible = "gpio-leds";
 47                 pinctrl-names = "default";
 48                 pinctrl-0 = <&cp1_batlow_pins &cp2_rsvd4_pins>;
 49 
 50                 /* LED11 */
 51                 led-io-0 {
 52                         color = <LED_COLOR_ID_GREEN>;
 53                         function = LED_FUNCTION_DISK;
 54                         function-enumerator = <0>;
 55                         default-state = "off";
 56                         gpios = <&cp1_gpio1 11 GPIO_ACTIVE_HIGH>;
 57                 };
 58 
 59                 /* LED12 */
 60                 led-io-1 {
 61                         color = <LED_COLOR_ID_GREEN>;
 62                         function = LED_FUNCTION_DISK;
 63                         function-enumerator = <1>;
 64                         default-state = "off";
 65                         gpios = <&cp2_gpio1 4 GPIO_ACTIVE_HIGH>;
 66                 };
 67         };
 68 
 69         /* CON4 W_DISABLE1/W_DISABLE2 */
 70         rfkill-m2-wlan {
 71                 compatible = "rfkill-gpio";
 72                 label = "m.2 wlan (CON4)";
 73                 radio-type = "wlan";
 74                 pinctrl-names = "default";
 75                 pinctrl-0 = <&cp1_10g_phy_rst_01_pins>;
 76                 /* rfkill-gpio inverts internally */
 77                 shutdown-gpios = <&cp1_gpio2 11 GPIO_ACTIVE_HIGH>;
 78         };
 79 
 80         /* CON5 W_DISABLE1/W_DISABLE2 */
 81         rfkill-m2-wlan {
 82                 compatible = "rfkill-gpio";
 83                 label = "m.2 wlan (CON5)";
 84                 radio-type = "wlan";
 85                 pinctrl-names = "default";
 86                 pinctrl-0 = <&cp1_10g_phy_rst_23_pins>;
 87                 /* rfkill-gpio inverts internally */
 88                 shutdown-gpios = <&cp1_gpio2 10 GPIO_ACTIVE_HIGH>;
 89         };
 90 
 91         /* J21 W_DISABLE1 */
 92         rfkill-m2-wwan {
 93                 compatible = "rfkill-gpio";
 94                 label = "m.2 wwan (J21)";
 95                 radio-type = "wwan";
 96                 pinctrl-names = "default";
 97                 pinctrl-0 = <&cp2_rsvd3_pins>;
 98                 /* rfkill-gpio inverts internally */
 99                 shutdown-gpios = <&cp2_gpio1 3 GPIO_ACTIVE_HIGH>;
100         };
101 
102         /* J21 W_DISABLE1 */
103         rfkill-m2-gnss {
104                 compatible = "rfkill-gpio";
105                 label = "m.2 gnss (J21)";
106                 radio-type = "gps";
107                 pinctrl-names = "default";
108                 pinctrl-0 = <&cp2_rsvd8_pins>;
109                 /* rfkill-gpio inverts internally */
110                 shutdown-gpios = <&cp2_gpio1 8 GPIO_ACTIVE_HIGH>;
111         };
112 
113         /* J14 W_DISABLE */
114         rfkill-mpcie-wlan {
115                 compatible = "rfkill-gpio";
116                 label = "mpcie wlan (J14)";
117                 radio-type = "wlan";
118                 pinctrl-names = "default";
119                 pinctrl-0 = <&cp2_rsvd2_pins>;
120                 /* rfkill-gpio inverts internally */
121                 shutdown-gpios = <&cp2_gpio1 2 GPIO_ACTIVE_HIGH>;
122         };
123 
124         sfp: sfp {
125                 compatible = "sff,sfp";
126                 i2c-bus = <&com_10g_sfp_i2c0>;
127                 pinctrl-names = "default";
128                 pinctrl-0 = <&com_10g_int0_pins>;
129                 mod-def0-gpios = <&cp0_gpio1 24 GPIO_ACTIVE_LOW>;
130                 maximum-power-milliwatt = <2000>;
131         };
132 };
133 
134 &com_smbus {
135         /* This bus is also routed to STM32 BMC Microcontroller (U2) */
136 
137         power-sensor@40 {
138                 compatible = "ti,ina220";
139                 reg = <0x40>;
140                 #io-channel-cells = <1>;
141                 label = "vdd_12v0";
142                 shunt-resistor = <2000>;
143         };
144 
145         adc@48 {
146                 compatible = "ti,tla2021";
147                 reg = <0x48>;
148                 #address-cells = <1>;
149                 #size-cells = <0>;
150 
151                 /* supplied by chaoskey hardware noise generator circuit */
152                 channel@0 {
153                         reg = <0>;
154                 };
155         };
156 };
157 
158 &cp0_eth_phy0 {
159         /*
160          * Configure LEDs default behaviour:
161          * - LED[0]: link is 1000Mbps: On (yellow): 0111
162          * - LED[1]: link/activity: On/Blink (green): 0001
163          * - LED[2]: Off (green): 1000
164          */
165         marvell,reg-init = <3 16 0xf000 0x0817>;
166 
167         leds {
168                 #address-cells = <1>;
169                 #size-cells = <0>;
170 
171                 led@0 {
172                         /* link */
173                         reg = <0>;
174                         color = <LED_COLOR_ID_YELLOW>;
175                         function = LED_FUNCTION_LAN;
176                         default-state = "keep";
177                 };
178 
179                 led@1 {
180                         /* act */
181                         reg = <1>;
182                         color = <LED_COLOR_ID_GREEN>;
183                         function = LED_FUNCTION_LAN;
184                         default-state = "keep";
185                 };
186 
187                 led@2 {
188                         /* 1000 */
189                         reg = <2>;
190                         color = <LED_COLOR_ID_GREEN>;
191                         function = LED_FUNCTION_LAN;
192                         default-state = "keep";
193                 };
194         };
195 };
196 
197 /* SRDS #4 - 10GE */
198 &cp0_eth0 {
199         phys = <&cp0_comphy4 0>;
200         phy-mode = "10gbase-r";
201         managed = "in-band-status";
202         sfp = <&sfp>;
203         status = "okay";
204 };
205 
206 &cp0_eth2 {
207         phy-mode = "2500base-x";
208         phys = <&cp0_comphy5 2>;
209         status = "okay";
210 
211         fixed-link {
212                 speed = <2500>;
213                 full-duplex;
214                 pause;
215         };
216 };
217 
218 &cp0_i2c1 {
219         /*
220          * Both COM and Carrier Board have a PCA9547 i2c mux at 0x77.
221          * Describe them as a single device merging each child bus.
222          */
223 
224         i2c-mux@77 {
225                 i2c@0 {
226                         /* Routed to Full PCIe (J4) */
227                 };
228 
229                 i2c@1 {
230                         /* Routed to USB Hub (U29) */
231                 };
232 
233                 i2c@2 {
234                         /* Routed to M.2 (CON4) */
235                 };
236 
237                 i2c@3 {
238                         /* Routed to M.2 (CON5) */
239                 };
240 
241                 i2c@4 {
242                         /* Routed to M.2 (J21) */
243                 };
244 
245                 carrier_mpcie_i2c: i2c@5 {
246                         #address-cells = <1>;
247                         #size-cells = <0>;
248                         reg = <5>;
249 
250                         /* Routed to mini-PCIe (J14) */
251                 };
252 
253                 carrier_ptp_i2c: i2c@6 {
254                         #address-cells = <1>;
255                         #size-cells = <0>;
256                         reg = <6>;
257 
258                         /* Routed to various optional PTP related components */
259                 };
260         };
261 };
262 
263 &cp0_mdio {
264         ethernet-switch@4 {
265                 compatible = "marvell,mv88e6085";
266                 reg = <4>;
267 
268                 mdio {
269                         #address-cells = <1>;
270                         #size-cells = <0>;
271 
272                         sw_phy1: ethernet-phy@1 {
273                                 reg = <0x11>;
274                         };
275 
276                         sw_phy2: ethernet-phy@2 {
277                                 reg = <0x12>;
278                         };
279 
280                         sw_phy3: ethernet-phy@3 {
281                                 reg = <0x13>;
282                         };
283 
284                         sw_phy4: ethernet-phy@4 {
285                                 reg = <0x14>;
286                         };
287                 };
288 
289                 ethernet-ports {
290                         #address-cells = <1>;
291                         #size-cells = <0>;
292 
293                         ethernet-port@1 {
294                                 reg = <1>;
295                                 label = "lan1";
296                                 phy-handle = <&sw_phy1>;
297                                 phy-mode = "internal";
298 
299                                 leds {
300                                         #address-cells = <1>;
301                                         #size-cells = <0>;
302 
303                                         led@0 {
304                                                 reg = <0>;
305                                                 color = <LED_COLOR_ID_GREEN>;
306                                                 function = LED_FUNCTION_LAN;
307                                                 default-state = "keep";
308                                         };
309 
310                                         led@1 {
311                                                 reg = <1>;
312                                                 color = <LED_COLOR_ID_YELLOW>;
313                                                 function = LED_FUNCTION_LAN;
314                                                 default-state = "keep";
315                                         };
316                                 };
317                         };
318 
319                         ethernet-port@2 {
320                                 reg = <2>;
321                                 label = "lan2";
322                                 phy-handle = <&sw_phy2>;
323                                 phy-mode = "internal";
324 
325                                 leds {
326                                         #address-cells = <1>;
327                                         #size-cells = <0>;
328 
329                                         led@0 {
330                                                 reg = <0>;
331                                                 color = <LED_COLOR_ID_GREEN>;
332                                                 function = LED_FUNCTION_LAN;
333                                                 default-state = "keep";
334                                         };
335 
336                                         led@1 {
337                                                 reg = <1>;
338                                                 color = <LED_COLOR_ID_YELLOW>;
339                                                 function = LED_FUNCTION_LAN;
340                                                 default-state = "keep";
341                                         };
342                                 };
343                         };
344 
345                         ethernet-port@3 {
346                                 reg = <3>;
347                                 label = "lan3";
348                                 phy-handle = <&sw_phy3>;
349                                 phy-mode = "internal";
350 
351                                 leds {
352                                         #address-cells = <1>;
353                                         #size-cells = <0>;
354 
355                                         led@0 {
356                                                 reg = <0>;
357                                                 color = <LED_COLOR_ID_GREEN>;
358                                                 function = LED_FUNCTION_LAN;
359                                                 default-state = "keep";
360                                         };
361 
362                                         led@1 {
363                                                 reg = <1>;
364                                                 color = <LED_COLOR_ID_YELLOW>;
365                                                 function = LED_FUNCTION_LAN;
366                                                 default-state = "keep";
367                                         };
368                                 };
369                         };
370 
371                         ethernet-port@4 {
372                                 reg = <4>;
373                                 label = "lan4";
374                                 phy-handle = <&sw_phy4>;
375                                 phy-mode = "internal";
376 
377                                 leds {
378                                         #address-cells = <1>;
379                                         #size-cells = <0>;
380 
381                                         led@0 {
382                                                 reg = <0>;
383                                                 color = <LED_COLOR_ID_GREEN>;
384                                                 function = LED_FUNCTION_LAN;
385                                                 default-state = "keep";
386                                         };
387 
388                                         led@1 {
389                                                 reg = <1>;
390                                                 color = <LED_COLOR_ID_YELLOW>;
391                                                 function = LED_FUNCTION_LAN;
392                                                 default-state = "keep";
393                                         };
394                                 };
395                         };
396 
397                         ethernet-port@5 {
398                                 reg = <5>;
399                                 label = "cpu";
400                                 ethernet = <&cp0_eth2>;
401                                 phy-mode = "2500base-x";
402 
403                                 fixed-link {
404                                         speed = <2500>;
405                                         full-duplex;
406                                         pause;
407                                 };
408                         };
409                 };
410         };
411 };
412 
413 /* SRDS #0,#1,#2,#3 - PCIe */
414 &cp0_pcie0 {
415         num-lanes = <4>;
416         phys = <&cp0_comphy0 0>, <&cp0_comphy1 0>, <&cp0_comphy2 0>, <&cp0_comphy3 0>;
417         status = "okay";
418 };
419 
420 &cp0_pinctrl {
421         /*
422          * configure unused gpios exposed via pin headers:
423          * - J7-10: PWRBTN
424          */
425         pinctrl-names = "default";
426         pinctrl-0 = <&cp0_pwrbtn_pins>;
427 };
428 
429 /* microSD */
430 &cp0_sdhci0 {
431         pinctrl-0 = <&cp0_mmc0_pins>, <&cp0_mmc0_cd_pins>;
432         pinctrl-names = "default";
433         bus-width = <4>;
434         no-1-8-v;
435         status = "okay";
436 };
437 
438 &cp0_spi1 {
439         /* add CS1 */
440         pinctrl-0 = <&cp0_spi1_pins>, <&cp0_spi1_cs1_pins>;
441 
442         flash@1 {
443                 compatible = "jedec,spi-nor";
444                 reg = <1>;
445                 /* read command supports max. 50MHz */
446                 spi-max-frequency = <50000000>;
447         };
448 };
449 
450 /* J38 */
451 &cp0_uart2 {
452         pinctrl-names = "default";
453         pinctrl-0 = <&cp0_uart2_pins>;
454         status = "okay";
455 };
456 
457 &cp0_utmi {
458         /* M.2 "CON5" swaps D+/D- */
459         swap-dx-lanes = <1>;
460 };
461 
462 &cp1_ethernet {
463         status = "okay";
464 };
465 
466 /* SRDS #2 - 5GE */
467 &cp1_eth0 {
468         phys = <&cp1_comphy2 0>;
469         phy-mode = "5gbase-r";
470         phy = <&cp1_eth_phy0>;
471         managed = "in-band-status";
472         status = "okay";
473 };
474 
475 /* SRDS #0,#1 - PCIe */
476 &cp1_pcie0 {
477         num-lanes = <2>;
478         phys = <&cp1_comphy0 0>, <&cp1_comphy1 0>;
479         status = "okay";
480 };
481 
482 /* SRDS #4 - PCIe */
483 &cp1_pcie1 {
484         num-lanes = <1>;
485         phys = <&cp1_comphy4 1>;
486         status = "okay";
487 };
488 
489 /* SRDS #5 - PCIe */
490 &cp1_pcie2 {
491         num-lanes = <1>;
492         phys = <&cp1_comphy5 2>;
493         status = "okay";
494 };
495 
496 &cp1_pinctrl {
497         /*
498          * configure unused gpios exposed via pin headers:
499          * - J7-8: RSVD16
500          * - J7-10: THRM
501          * - J10-1: WAKE1
502          * - J10-2: SATA_ACT
503          * - J10-8: THERMTRIP
504          */
505         pinctrl-names = "default";
506         pinctrl-0 = <&cp1_rsvd16_pins &cp1_sata_act_pins &cp1_thrm_irq_pins>,
507                     <&cp1_thrm_trip_pins &cp1_wake1_pins>;
508 };
509 
510 /* SRDS #3 - SATA */
511 &cp1_sata0 {
512         status = "okay";
513 
514         /* only port 1 is available */
515         /delete-node/ sata-port@0;
516 
517         sata-port@1 {
518                 phys = <&cp1_comphy3 1>;
519         };
520 };
521 
522 &cp1_utmi {
523         /* M.2 "CON4" swaps D+/D- */
524         swap-dx-lanes = <0>;
525 };
526 
527 &cp1_xmdio {
528         pinctrl-names = "default";
529         pinctrl-0 = <&cp1_xmdio_pins>;
530         status = "okay";
531 
532         cp1_eth_phy0: ethernet-phy@8 {
533                 compatible = "ethernet-phy-ieee802.3-c45";
534                 reg = <8>;
535                 pinctrl-names = "default";
536                 pinctrl-0 = <&com_10g_int1_pins>;
537                 interrupt-parent = <&cp1_gpio2>;
538                 interrupts = <18 IRQ_TYPE_EDGE_FALLING>;
539 
540                 leds {
541                         #address-cells = <1>;
542                         #size-cells = <0>;
543 
544                         led@1 {
545                                 reg = <1>;
546                                 color = <LED_COLOR_ID_YELLOW>;
547                                 function = LED_FUNCTION_LAN;
548                                 default-state = "keep";
549                         };
550 
551                         led@2 {
552                                 reg = <2>;
553                                 color = <LED_COLOR_ID_GREEN>;
554                                 function = LED_FUNCTION_LAN;
555                                 default-state = "keep";
556                         };
557                 };
558         };
559 };
560 
561 &cp2_ethernet {
562         status =  "okay";
563 };
564 
565 /* SRDS #2 - 5GE */
566 &cp2_eth0 {
567         phys = <&cp2_comphy2 0>;
568         phy-mode = "5gbase-r";
569         phy = <&cp2_eth_phy0>;
570         managed = "in-band-status";
571         status = "okay";
572 };
573 
574 &cp2_gpio1 {
575         pinctrl-names= "default";
576         pinctrl-0 = <&cp2_rsvd9_pins>;
577 
578         /* J21 */
579         m2-wwan-reset-hog {
580                 gpio-hog;
581                 gpios = <9 (GPIO_ACTIVE_LOW | GPIO_OPEN_DRAIN)>;
582                 output-low;
583                 line-name = "m2-wwan-reset";
584         };
585 };
586 
587 /* SRDS #0 - PCIe */
588 &cp2_pcie0 {
589         num-lanes = <1>;
590         phys = <&cp2_comphy0 0>;
591         status = "okay";
592 };
593 
594 /* SRDS #4 - PCIe */
595 &cp2_pcie1 {
596         num-lanes = <1>;
597         phys = <&cp2_comphy4 1>;
598         status = "okay";
599 };
600 
601 /* SRDS #5 - PCIe */
602 &cp2_pcie2 {
603         num-lanes = <1>;
604         phys = <&cp2_comphy5 2>;
605         status = "okay";
606 };
607 
608 &cp2_pinctrl {
609         /*
610          * configure unused gpios exposed via pin headers:
611          * - J7-1: RSVD10
612          * - J7-3: RSVD11
613          * - J7-5: RSVD56
614          * - J7-6: RSVD7
615          * - J7-7: RSVD27
616          * - J10-3: RSVD31
617          * - J10-5: RSVD5
618          * - J10-6: RSVD32
619          * - J10-7: RSVD0
620          * - J10-9: RSVD1
621          */
622         pinctrl-names = "default";
623         pinctrl-0 = <&cp2_rsvd0_pins &cp2_rsvd1_pins &cp2_rsvd5_pins>,
624                     <&cp2_rsvd7_pins &cp2_rsvd10_pins &cp2_rsvd11_pins>,
625                     <&cp2_rsvd27_pins &cp2_rsvd31_pins &cp2_rsvd32_pins>,
626                     <&cp2_rsvd56_pins>;
627 };
628 
629 /* SRDS #3 - SATA */
630 &cp2_sata0 {
631         status = "okay";
632 
633         /* only port 1 is available */
634         /delete-node/ sata-port@0;
635 
636         sata-port@1 {
637                 phys = <&cp2_comphy3 1>;
638         };
639 };
640 
641 &cp2_xmdio {
642         pinctrl-names = "default";
643         pinctrl-0 = <&cp2_xmdio_pins>;
644         status = "okay";
645 
646         cp2_eth_phy0: ethernet-phy@8 {
647                 compatible = "ethernet-phy-ieee802.3-c45";
648                 reg = <8>;
649                 pinctrl-names = "default";
650                 pinctrl-0 = <&com_10g_int2_pins>;
651                 interrupt-parent = <&cp2_gpio2>;
652                 interrupts = <18 IRQ_TYPE_EDGE_FALLING>;
653 
654                 leds {
655                         #address-cells = <1>;
656                         #size-cells = <0>;
657 
658                         led@1 {
659                                 reg = <1>;
660                                 color = <LED_COLOR_ID_YELLOW>;
661                                 function = LED_FUNCTION_LAN;
662                                 default-state = "keep";
663                         };
664 
665                         led@2 {
666                                 reg = <2>;
667                                 color = <LED_COLOR_ID_GREEN>;
668                                 function = LED_FUNCTION_LAN;
669                                 default-state = "keep";
670                         };
671                 };
672         };
673 };

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php