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