1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 /* 3 * Copyright (C) 2024 Josua Mayer <josua@solid- 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" 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 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 49 50 /* LED11 */ 51 led-io-0 { 52 color = <LED_COLOR_ID_ 53 function = LED_FUNCTIO 54 function-enumerator = 55 default-state = "off"; 56 gpios = <&cp1_gpio1 11 57 }; 58 59 /* LED12 */ 60 led-io-1 { 61 color = <LED_COLOR_ID_ 62 function = LED_FUNCTIO 63 function-enumerator = 64 default-state = "off"; 65 gpios = <&cp2_gpio1 4 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_ 76 /* rfkill-gpio inverts interna 77 shutdown-gpios = <&cp1_gpio2 1 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_ 87 /* rfkill-gpio inverts interna 88 shutdown-gpios = <&cp1_gpio2 1 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 interna 99 shutdown-gpios = <&cp2_gpio1 3 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 interna 110 shutdown-gpios = <&cp2_gpio1 8 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 interna 121 shutdown-gpios = <&cp2_gpio1 2 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_pin 129 mod-def0-gpios = <&cp0_gpio1 2 130 maximum-power-milliwatt = <200 131 }; 132 }; 133 134 &com_smbus { 135 /* This bus is also routed to STM32 BM 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 hardwa 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 (yel 162 * - LED[1]: link/activity: On/Blink ( 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_ 175 function = LED_FUNCTIO 176 default-state = "keep" 177 }; 178 179 led@1 { 180 /* act */ 181 reg = <1>; 182 color = <LED_COLOR_ID_ 183 function = LED_FUNCTIO 184 default-state = "keep" 185 }; 186 187 led@2 { 188 /* 1000 */ 189 reg = <2>; 190 color = <LED_COLOR_ID_ 191 function = LED_FUNCTIO 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 P 221 * Describe them as a single device me 222 */ 223 224 i2c-mux@77 { 225 i2c@0 { 226 /* Routed to Full PCIe 227 }; 228 229 i2c@1 { 230 /* Routed to USB Hub ( 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 251 }; 252 253 carrier_ptp_i2c: i2c@6 { 254 #address-cells = <1>; 255 #size-cells = <0>; 256 reg = <6>; 257 258 /* Routed to various o 259 }; 260 }; 261 }; 262 263 &cp0_mdio { 264 ethernet-switch@4 { 265 compatible = "marvell,mv88e608 266 reg = <4>; 267 268 mdio { 269 #address-cells = <1>; 270 #size-cells = <0>; 271 272 sw_phy1: ethernet-phy@ 273 reg = <0x11>; 274 }; 275 276 sw_phy2: ethernet-phy@ 277 reg = <0x12>; 278 }; 279 280 sw_phy3: ethernet-phy@ 281 reg = <0x13>; 282 }; 283 284 sw_phy4: ethernet-phy@ 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 = < 297 phy-mode = "in 298 299 leds { 300 #addre 301 #size- 302 303 led@0 304 305 306 307 308 }; 309 310 led@1 311 312 313 314 315 }; 316 }; 317 }; 318 319 ethernet-port@2 { 320 reg = <2>; 321 label = "lan2" 322 phy-handle = < 323 phy-mode = "in 324 325 leds { 326 #addre 327 #size- 328 329 led@0 330 331 332 333 334 }; 335 336 led@1 337 338 339 340 341 }; 342 }; 343 }; 344 345 ethernet-port@3 { 346 reg = <3>; 347 label = "lan3" 348 phy-handle = < 349 phy-mode = "in 350 351 leds { 352 #addre 353 #size- 354 355 led@0 356 357 358 359 360 }; 361 362 led@1 363 364 365 366 367 }; 368 }; 369 }; 370 371 ethernet-port@4 { 372 reg = <4>; 373 label = "lan4" 374 phy-handle = < 375 phy-mode = "in 376 377 leds { 378 #addre 379 #size- 380 381 led@0 382 383 384 385 386 }; 387 388 led@1 389 390 391 392 393 }; 394 }; 395 }; 396 397 ethernet-port@5 { 398 reg = <5>; 399 label = "cpu"; 400 ethernet = <&c 401 phy-mode = "25 402 403 fixed-link { 404 speed 405 full-d 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 417 status = "okay"; 418 }; 419 420 &cp0_pinctrl { 421 /* 422 * configure unused gpios exposed via 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_mm 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_sp 441 442 flash@1 { 443 compatible = "jedec,spi-nor"; 444 reg = <1>; 445 /* read command supports max. 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 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 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_sat 507 <&cp1_thrm_trip_pins &cp1_ 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-iee 534 reg = <8>; 535 pinctrl-names = "default"; 536 pinctrl-0 = <&com_10g_int1_pin 537 interrupt-parent = <&cp1_gpio2 538 interrupts = <18 IRQ_TYPE_EDGE 539 540 leds { 541 #address-cells = <1>; 542 #size-cells = <0>; 543 544 led@1 { 545 reg = <1>; 546 color = <LED_C 547 function = LED 548 default-state 549 }; 550 551 led@2 { 552 reg = <2>; 553 color = <LED_C 554 function = LED 555 default-state 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 | 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 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_rsvd 624 <&cp2_rsvd7_pins &cp2_rsvd 625 <&cp2_rsvd27_pins &cp2_rsv 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-iee 648 reg = <8>; 649 pinctrl-names = "default"; 650 pinctrl-0 = <&com_10g_int2_pin 651 interrupt-parent = <&cp2_gpio2 652 interrupts = <18 IRQ_TYPE_EDGE 653 654 leds { 655 #address-cells = <1>; 656 #size-cells = <0>; 657 658 led@1 { 659 reg = <1>; 660 color = <LED_C 661 function = LED 662 default-state 663 }; 664 665 led@2 { 666 reg = <2>; 667 color = <LED_C 668 function = LED 669 default-state 670 }; 671 }; 672 }; 673 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.