1a6120833SBaruch Siach// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2a6120833SBaruch Siach/* 3a6120833SBaruch Siach * Copyright (C) 2018 SolidRun ltd. 4a6120833SBaruch Siach * Based on Marvell MACCHIATOBin board 5a6120833SBaruch Siach * 6a6120833SBaruch Siach * Device Tree file for SolidRun's ClearFog GT 8K 7a6120833SBaruch Siach */ 8a6120833SBaruch Siach 9a6120833SBaruch Siach#include "armada-8040.dtsi" 10a6120833SBaruch Siach 11a6120833SBaruch Siach#include <dt-bindings/input/input.h> 12a6120833SBaruch Siach#include <dt-bindings/gpio/gpio.h> 13a6120833SBaruch Siach 14a6120833SBaruch Siach/ { 15a6120833SBaruch Siach model = "SolidRun ClearFog GT 8K"; 16a6120833SBaruch Siach compatible = "solidrun,clearfog-gt-8k", "marvell,armada8040", 17a6120833SBaruch Siach "marvell,armada-ap806-quad", "marvell,armada-ap806"; 18a6120833SBaruch Siach 19a6120833SBaruch Siach chosen { 20a6120833SBaruch Siach stdout-path = "serial0:115200n8"; 21a6120833SBaruch Siach }; 22a6120833SBaruch Siach 23a6120833SBaruch Siach memory@00000000 { 24a6120833SBaruch Siach device_type = "memory"; 25a6120833SBaruch Siach reg = <0x0 0x0 0x0 0x80000000>; 26a6120833SBaruch Siach }; 27a6120833SBaruch Siach 28a6120833SBaruch Siach aliases { 29a6120833SBaruch Siach ethernet0 = &cp1_eth1; 30a6120833SBaruch Siach ethernet1 = &cp0_eth0; 31a6120833SBaruch Siach ethernet2 = &cp1_eth2; 32a6120833SBaruch Siach }; 33a6120833SBaruch Siach 34a6120833SBaruch Siach v_3_3: regulator-3-3v { 35a6120833SBaruch Siach compatible = "regulator-fixed"; 36a6120833SBaruch Siach regulator-name = "v_3_3"; 37a6120833SBaruch Siach regulator-min-microvolt = <3300000>; 38a6120833SBaruch Siach regulator-max-microvolt = <3300000>; 39a6120833SBaruch Siach regulator-always-on; 40a6120833SBaruch Siach status = "okay"; 41a6120833SBaruch Siach }; 42a6120833SBaruch Siach 43a6120833SBaruch Siach v_5v0_usb3_hst_vbus: regulator-usb3-vbus0 { 44a6120833SBaruch Siach compatible = "regulator-fixed"; 45b597a6f5SBaruch Siach gpio = <&cp0_gpio2 15 GPIO_ACTIVE_LOW>; 46a6120833SBaruch Siach pinctrl-names = "default"; 47a6120833SBaruch Siach pinctrl-0 = <&cp0_xhci_vbus_pins>; 48a6120833SBaruch Siach regulator-name = "v_5v0_usb3_hst_vbus"; 49a6120833SBaruch Siach regulator-min-microvolt = <5000000>; 50a6120833SBaruch Siach regulator-max-microvolt = <5000000>; 51a6120833SBaruch Siach status = "okay"; 52a6120833SBaruch Siach }; 53a6120833SBaruch Siach 54a6120833SBaruch Siach usb3h0_phy: usb3_phy0 { 55a6120833SBaruch Siach compatible = "usb-nop-xceiv"; 56a6120833SBaruch Siach vcc-supply = <&v_5v0_usb3_hst_vbus>; 57a6120833SBaruch Siach }; 58a6120833SBaruch Siach 59a6120833SBaruch Siach sfp_cp0_eth0: sfp-cp0-eth0 { 60a6120833SBaruch Siach compatible = "sff,sfp"; 61a6120833SBaruch Siach i2c-bus = <&cp0_i2c1>; 62a6120833SBaruch Siach mod-def0-gpio = <&cp0_gpio2 17 GPIO_ACTIVE_LOW>; 63a6120833SBaruch Siach tx-disable-gpio = <&cp1_gpio1 29 GPIO_ACTIVE_HIGH>; 64a6120833SBaruch Siach pinctrl-names = "default"; 65a6120833SBaruch Siach pinctrl-0 = <&cp0_sfp_present_pins &cp1_sfp_tx_disable_pins>; 66188ea2fcSBaruch Siach maximum-power-milliwatt = <2000>; 67a6120833SBaruch Siach }; 68a6120833SBaruch Siach 69a6120833SBaruch Siach leds { 70a6120833SBaruch Siach compatible = "gpio-leds"; 71a6120833SBaruch Siach pinctrl-0 = <&cp0_led0_pins 72a6120833SBaruch Siach &cp0_led1_pins>; 73a6120833SBaruch Siach pinctrl-names = "default"; 74a6120833SBaruch Siach /* No designated function for these LEDs at the moment */ 75a6120833SBaruch Siach led0 { 76a6120833SBaruch Siach label = "clearfog-gt-8k:green:led0"; 77a6120833SBaruch Siach gpios = <&cp0_gpio2 8 GPIO_ACTIVE_LOW>; 78a6120833SBaruch Siach default-state = "on"; 79a6120833SBaruch Siach }; 80a6120833SBaruch Siach led1 { 81a6120833SBaruch Siach label = "clearfog-gt-8k:green:led1"; 82a6120833SBaruch Siach gpios = <&cp0_gpio2 9 GPIO_ACTIVE_LOW>; 83a6120833SBaruch Siach default-state = "on"; 84a6120833SBaruch Siach }; 85a6120833SBaruch Siach }; 86a6120833SBaruch Siach 87a6120833SBaruch Siach keys { 88a6120833SBaruch Siach compatible = "gpio-keys"; 89a6120833SBaruch Siach pinctrl-0 = <&cp0_gpio_reset_pins &cp1_wps_button_pins>; 90a6120833SBaruch Siach pinctrl-names = "default"; 91a6120833SBaruch Siach 92a6120833SBaruch Siach button_0 { 93a6120833SBaruch Siach /* The rear button */ 94a6120833SBaruch Siach label = "Rear Button"; 95a6120833SBaruch Siach gpios = <&cp0_gpio2 7 GPIO_ACTIVE_LOW>; 96a6120833SBaruch Siach linux,can-disable; 97a6120833SBaruch Siach linux,code = <BTN_0>; 98a6120833SBaruch Siach }; 99a6120833SBaruch Siach 100a6120833SBaruch Siach button_1 { 101a6120833SBaruch Siach /* The wps button */ 102a6120833SBaruch Siach label = "WPS Button"; 103a6120833SBaruch Siach gpios = <&cp1_gpio1 30 GPIO_ACTIVE_LOW>; 104a6120833SBaruch Siach linux,can-disable; 105a6120833SBaruch Siach linux,code = <KEY_WPS_BUTTON>; 106a6120833SBaruch Siach }; 107a6120833SBaruch Siach }; 108a6120833SBaruch Siach}; 109a6120833SBaruch Siach 110a6120833SBaruch Siach&uart0 { 111a6120833SBaruch Siach status = "okay"; 112a6120833SBaruch Siach pinctrl-0 = <&uart0_pins>; 113a6120833SBaruch Siach pinctrl-names = "default"; 114a6120833SBaruch Siach}; 115a6120833SBaruch Siach 116a6120833SBaruch Siach&ap_sdhci0 { 117a6120833SBaruch Siach bus-width = <8>; 118a6120833SBaruch Siach no-1-8-v; 119a6120833SBaruch Siach no-sd; 120a6120833SBaruch Siach no-sdio; 121a6120833SBaruch Siach non-removable; 122a6120833SBaruch Siach status = "okay"; 123a6120833SBaruch Siach vqmmc-supply = <&v_3_3>; 124a6120833SBaruch Siach}; 125a6120833SBaruch Siach 126a6120833SBaruch Siach&cp0_i2c0 { 127a6120833SBaruch Siach clock-frequency = <100000>; 128a6120833SBaruch Siach pinctrl-names = "default"; 129a6120833SBaruch Siach pinctrl-0 = <&cp0_i2c0_pins>; 130a6120833SBaruch Siach status = "okay"; 131a6120833SBaruch Siach}; 132a6120833SBaruch Siach 133a6120833SBaruch Siach&cp0_i2c1 { 134a6120833SBaruch Siach clock-frequency = <100000>; 135a6120833SBaruch Siach pinctrl-names = "default"; 136a6120833SBaruch Siach pinctrl-0 = <&cp0_i2c1_pins>; 137a6120833SBaruch Siach status = "okay"; 138a6120833SBaruch Siach}; 139a6120833SBaruch Siach 140a6120833SBaruch Siach&cp0_pinctrl { 141a6120833SBaruch Siach /* 142a6120833SBaruch Siach * MPP Bus: 143a6120833SBaruch Siach * [0-31] = 0xff: Keep default CP0_shared_pins: 144a6120833SBaruch Siach * [11] CLKOUT_MPP_11 (out) 145a6120833SBaruch Siach * [23] LINK_RD_IN_CP2CP (in) 146a6120833SBaruch Siach * [25] CLKOUT_MPP_25 (out) 147a6120833SBaruch Siach * [29] AVS_FB_IN_CP2CP (in) 148a6120833SBaruch Siach * [32, 33, 34] pci0/1/2 reset 149a6120833SBaruch Siach * [35-38] CP0 I2C1 and I2C0 150a6120833SBaruch Siach * [39] GPIO reset button 151a6120833SBaruch Siach * [40,41] LED0 and LED1 152a6120833SBaruch Siach * [43] 1512 phy reset 153a6120833SBaruch Siach * [47] USB VBUS EN (active low) 154a6120833SBaruch Siach * [48] FAN PWM 155a6120833SBaruch Siach * [49] SFP+ present signal 156a6120833SBaruch Siach * [50] TPM interrupt 157a6120833SBaruch Siach * [51] WLAN0 disable 158a6120833SBaruch Siach * [52] WLAN1 disable 159a6120833SBaruch Siach * [53] LTE disable 160a6120833SBaruch Siach * [54] NFC reset 161a6120833SBaruch Siach * [55] Micro SD card detect 162a6120833SBaruch Siach * [56-61] Micro SD 163a6120833SBaruch Siach */ 164a6120833SBaruch Siach 165a6120833SBaruch Siach cp0_pci0_reset_pins: pci0-reset-pins { 166a6120833SBaruch Siach marvell,pins = "mpp32"; 167a6120833SBaruch Siach marvell,function = "gpio"; 168a6120833SBaruch Siach }; 169a6120833SBaruch Siach 170a6120833SBaruch Siach cp0_pci1_reset_pins: pci1-reset-pins { 171a6120833SBaruch Siach marvell,pins = "mpp33"; 172a6120833SBaruch Siach marvell,function = "gpio"; 173a6120833SBaruch Siach }; 174a6120833SBaruch Siach 175a6120833SBaruch Siach cp0_pci2_reset_pins: pci2-reset-pins { 176a6120833SBaruch Siach marvell,pins = "mpp34"; 177a6120833SBaruch Siach marvell,function = "gpio"; 178a6120833SBaruch Siach }; 179a6120833SBaruch Siach 180a6120833SBaruch Siach cp0_i2c1_pins: i2c1-pins { 181a6120833SBaruch Siach marvell,pins = "mpp35", "mpp36"; 182a6120833SBaruch Siach marvell,function = "i2c1"; 183a6120833SBaruch Siach }; 184a6120833SBaruch Siach 185a6120833SBaruch Siach cp0_i2c0_pins: i2c0-pins { 186a6120833SBaruch Siach marvell,pins = "mpp37", "mpp38"; 187a6120833SBaruch Siach marvell,function = "i2c0"; 188a6120833SBaruch Siach }; 189a6120833SBaruch Siach 190a6120833SBaruch Siach cp0_gpio_reset_pins: gpio-reset-pins { 191a6120833SBaruch Siach marvell,pins = "mpp39"; 192a6120833SBaruch Siach marvell,function = "gpio"; 193a6120833SBaruch Siach }; 194a6120833SBaruch Siach 195a6120833SBaruch Siach cp0_led0_pins: led0-pins { 196a6120833SBaruch Siach marvell,pins = "mpp40"; 197a6120833SBaruch Siach marvell,function = "gpio"; 198a6120833SBaruch Siach }; 199a6120833SBaruch Siach 200a6120833SBaruch Siach cp0_led1_pins: led1-pins { 201a6120833SBaruch Siach marvell,pins = "mpp41"; 202a6120833SBaruch Siach marvell,function = "gpio"; 203a6120833SBaruch Siach }; 204a6120833SBaruch Siach 205a6120833SBaruch Siach cp0_copper_eth_phy_reset: copper-eth-phy-reset { 206a6120833SBaruch Siach marvell,pins = "mpp43"; 207a6120833SBaruch Siach marvell,function = "gpio"; 208a6120833SBaruch Siach }; 209a6120833SBaruch Siach 210a6120833SBaruch Siach cp0_xhci_vbus_pins: xhci0-vbus-pins { 211a6120833SBaruch Siach marvell,pins = "mpp47"; 212a6120833SBaruch Siach marvell,function = "gpio"; 213a6120833SBaruch Siach }; 214a6120833SBaruch Siach 215a6120833SBaruch Siach cp0_fan_pwm_pins: fan-pwm-pins { 216a6120833SBaruch Siach marvell,pins = "mpp48"; 217a6120833SBaruch Siach marvell,function = "gpio"; 218a6120833SBaruch Siach }; 219a6120833SBaruch Siach 220a6120833SBaruch Siach cp0_sfp_present_pins: sfp-present-pins { 221a6120833SBaruch Siach marvell,pins = "mpp49"; 222a6120833SBaruch Siach marvell,function = "gpio"; 223a6120833SBaruch Siach }; 224a6120833SBaruch Siach 225a6120833SBaruch Siach cp0_tpm_irq_pins: tpm-irq-pins { 226a6120833SBaruch Siach marvell,pins = "mpp50"; 227a6120833SBaruch Siach marvell,function = "gpio"; 228a6120833SBaruch Siach }; 229a6120833SBaruch Siach 230e97bb6d4SThomas Schreiber cp0_wlan_disable_pins: wlan-disable-pins { 231e97bb6d4SThomas Schreiber marvell,pins = "mpp51"; 232e97bb6d4SThomas Schreiber marvell,function = "gpio"; 233e97bb6d4SThomas Schreiber }; 234e97bb6d4SThomas Schreiber 235a6120833SBaruch Siach cp0_sdhci_pins: sdhci-pins { 236a6120833SBaruch Siach marvell,pins = "mpp55", "mpp56", "mpp57", "mpp58", "mpp59", 237a6120833SBaruch Siach "mpp60", "mpp61"; 238a6120833SBaruch Siach marvell,function = "sdio"; 239a6120833SBaruch Siach }; 240a6120833SBaruch Siach}; 241a6120833SBaruch Siach 24291f84690SBaruch Siach&cp0_pcie0 { 24391f84690SBaruch Siach pinctrl-names = "default"; 244e97bb6d4SThomas Schreiber pinctrl-0 = <&cp0_pci0_reset_pins &cp0_wlan_disable_pins>; 24591f84690SBaruch Siach reset-gpios = <&cp0_gpio2 0 GPIO_ACTIVE_LOW>; 24691f84690SBaruch Siach status = "okay"; 24791f84690SBaruch Siach}; 24891f84690SBaruch Siach 249a6120833SBaruch Siach&cp0_gpio2 { 250a6120833SBaruch Siach sata_reset { 251a6120833SBaruch Siach gpio-hog; 252a6120833SBaruch Siach gpios = <1 GPIO_ACTIVE_HIGH>; 253a6120833SBaruch Siach output-high; 254a6120833SBaruch Siach }; 255235df2d8SBaruch Siach 256235df2d8SBaruch Siach lte_reset { 257235df2d8SBaruch Siach gpio-hog; 258235df2d8SBaruch Siach gpios = <2 GPIO_ACTIVE_LOW>; 259235df2d8SBaruch Siach output-low; 260235df2d8SBaruch Siach }; 261235df2d8SBaruch Siach 262e97bb6d4SThomas Schreiber wlan_disable { 263e97bb6d4SThomas Schreiber gpio-hog; 264e97bb6d4SThomas Schreiber gpios = <19 GPIO_ACTIVE_LOW>; 265e97bb6d4SThomas Schreiber output-low; 266e97bb6d4SThomas Schreiber }; 267e97bb6d4SThomas Schreiber 268235df2d8SBaruch Siach lte_disable { 269235df2d8SBaruch Siach gpio-hog; 270235df2d8SBaruch Siach gpios = <21 GPIO_ACTIVE_LOW>; 271235df2d8SBaruch Siach output-low; 272235df2d8SBaruch Siach }; 273a6120833SBaruch Siach}; 274a6120833SBaruch Siach 275a6120833SBaruch Siach&cp0_ethernet { 276a6120833SBaruch Siach status = "okay"; 277a6120833SBaruch Siach}; 278a6120833SBaruch Siach 279a6120833SBaruch Siach/* SFP */ 280a6120833SBaruch Siach&cp0_eth0 { 281a6120833SBaruch Siach status = "okay"; 282a6120833SBaruch Siach phy-mode = "10gbase-kr"; 283a6120833SBaruch Siach managed = "in-band-status"; 284a6120833SBaruch Siach phys = <&cp0_comphy2 0>; 285a6120833SBaruch Siach sfp = <&sfp_cp0_eth0>; 286a6120833SBaruch Siach}; 287a6120833SBaruch Siach 288a6120833SBaruch Siach&cp0_sdhci0 { 289a6120833SBaruch Siach broken-cd; 290a6120833SBaruch Siach bus-width = <4>; 291a6120833SBaruch Siach pinctrl-names = "default"; 292a6120833SBaruch Siach pinctrl-0 = <&cp0_sdhci_pins>; 293a6120833SBaruch Siach status = "okay"; 294a6120833SBaruch Siach vqmmc-supply = <&v_3_3>; 295a6120833SBaruch Siach}; 296a6120833SBaruch Siach 297dfc1259aSBaruch Siach&cp0_usb3_1 { 298dfc1259aSBaruch Siach status = "okay"; 299dfc1259aSBaruch Siach}; 300dfc1259aSBaruch Siach 301a6120833SBaruch Siach&cp1_pinctrl { 302a6120833SBaruch Siach /* 303a6120833SBaruch Siach * MPP Bus: 304a6120833SBaruch Siach * [0-5] TDM 305a6120833SBaruch Siach * [6] VHV Enable 306a6120833SBaruch Siach * [7] CP1 SPI0 CSn1 (FXS) 307a6120833SBaruch Siach * [8] CP1 SPI0 CSn0 (TPM) 308a6120833SBaruch Siach * [9.11]CP1 SPI0 MOSI/MISO/CLK 309a6120833SBaruch Siach * [13] CP1 SPI1 MISO (TDM and SPI ROM shared) 310a6120833SBaruch Siach * [14] CP1 SPI1 CS0n (64Mb SPI ROM) 311a6120833SBaruch Siach * [15] CP1 SPI1 MOSI (TDM and SPI ROM shared) 312a6120833SBaruch Siach * [16] CP1 SPI1 CLK (TDM and SPI ROM shared) 313a6120833SBaruch Siach * [24] Topaz switch reset 314a6120833SBaruch Siach * [26] Buzzer 315a6120833SBaruch Siach * [27] CP1 SMI MDIO 316a6120833SBaruch Siach * [28] CP1 SMI MDC 317a6120833SBaruch Siach * [29] CP0 10G SFP TX Disable 318a6120833SBaruch Siach * [30] WPS button 319a6120833SBaruch Siach * [31] Front panel button 320a6120833SBaruch Siach */ 321a6120833SBaruch Siach 322a6120833SBaruch Siach cp1_spi1_pins: spi1-pins { 323a6120833SBaruch Siach marvell,pins = "mpp13", "mpp14", "mpp15", "mpp16"; 324a6120833SBaruch Siach marvell,function = "spi1"; 325a6120833SBaruch Siach }; 326a6120833SBaruch Siach 327a6120833SBaruch Siach cp1_switch_reset_pins: switch-reset-pins { 328a6120833SBaruch Siach marvell,pins = "mpp24"; 329a6120833SBaruch Siach marvell,function = "gpio"; 330a6120833SBaruch Siach }; 331a6120833SBaruch Siach 332a6120833SBaruch Siach cp1_ge_mdio_pins: ge-mdio-pins { 333a6120833SBaruch Siach marvell,pins = "mpp27", "mpp28"; 334a6120833SBaruch Siach marvell,function = "ge"; 335a6120833SBaruch Siach }; 336a6120833SBaruch Siach 337a6120833SBaruch Siach cp1_sfp_tx_disable_pins: sfp-tx-disable-pins { 338a6120833SBaruch Siach marvell,pins = "mpp29"; 339a6120833SBaruch Siach marvell,function = "gpio"; 340a6120833SBaruch Siach }; 341a6120833SBaruch Siach 342a6120833SBaruch Siach cp1_wps_button_pins: wps-button-pins { 343a6120833SBaruch Siach marvell,pins = "mpp30"; 344a6120833SBaruch Siach marvell,function = "gpio"; 345a6120833SBaruch Siach }; 346a6120833SBaruch Siach}; 347a6120833SBaruch Siach 348a6120833SBaruch Siach&cp1_sata0 { 349a6120833SBaruch Siach pinctrl-0 = <&cp0_pci1_reset_pins>; 350a6120833SBaruch Siach status = "okay"; 351d04abe99SMiquel Raynal 352d04abe99SMiquel Raynal sata-port@1 { 353d04abe99SMiquel Raynal phys = <&cp1_comphy0 1>; 354d04abe99SMiquel Raynal phy-names = "cp1-sata0-1-phy"; 355d04abe99SMiquel Raynal }; 356a6120833SBaruch Siach}; 357a6120833SBaruch Siach 358a6120833SBaruch Siach&cp1_mdio { 359a6120833SBaruch Siach pinctrl-names = "default"; 360a6120833SBaruch Siach pinctrl-0 = <&cp1_ge_mdio_pins>; 361a6120833SBaruch Siach status = "okay"; 362a6120833SBaruch Siach 363a6120833SBaruch Siach ge_phy: ethernet-phy@0 { 364a6120833SBaruch Siach /* LED0 - GB link 365a6120833SBaruch Siach * LED1 - on: link, blink: activity 366a6120833SBaruch Siach */ 367a6120833SBaruch Siach marvell,reg-init = <3 16 0 0x1017>; 368a6120833SBaruch Siach reg = <0>; 369babc5544SBaruch Siach pinctrl-names = "default"; 370babc5544SBaruch Siach pinctrl-0 = <&cp0_copper_eth_phy_reset>; 371bdd22a41SBaruch Siach reset-gpios = <&cp0_gpio2 11 GPIO_ACTIVE_LOW>; 372babc5544SBaruch Siach reset-assert-us = <10000>; 373a6120833SBaruch Siach }; 374a6120833SBaruch Siach 375a6120833SBaruch Siach switch0: switch0@4 { 376a6120833SBaruch Siach compatible = "marvell,mv88e6085"; 377a6120833SBaruch Siach reg = <4>; 378a6120833SBaruch Siach pinctrl-names = "default"; 379a6120833SBaruch Siach pinctrl-0 = <&cp1_switch_reset_pins>; 380a6120833SBaruch Siach reset-gpios = <&cp1_gpio1 24 GPIO_ACTIVE_LOW>; 381a6120833SBaruch Siach 382a6120833SBaruch Siach ports { 383a6120833SBaruch Siach #address-cells = <1>; 384a6120833SBaruch Siach #size-cells = <0>; 385a6120833SBaruch Siach 386a6120833SBaruch Siach port@1 { 387a6120833SBaruch Siach reg = <1>; 388a6120833SBaruch Siach label = "lan2"; 389a6120833SBaruch Siach phy-handle = <&switch0phy0>; 390a6120833SBaruch Siach }; 391a6120833SBaruch Siach 392a6120833SBaruch Siach port@2 { 393a6120833SBaruch Siach reg = <2>; 394a6120833SBaruch Siach label = "lan1"; 395a6120833SBaruch Siach phy-handle = <&switch0phy1>; 396a6120833SBaruch Siach }; 397a6120833SBaruch Siach 398a6120833SBaruch Siach port@3 { 399a6120833SBaruch Siach reg = <3>; 400a6120833SBaruch Siach label = "lan4"; 401a6120833SBaruch Siach phy-handle = <&switch0phy2>; 402a6120833SBaruch Siach }; 403a6120833SBaruch Siach 404a6120833SBaruch Siach port@4 { 405a6120833SBaruch Siach reg = <4>; 406a6120833SBaruch Siach label = "lan3"; 407a6120833SBaruch Siach phy-handle = <&switch0phy3>; 408a6120833SBaruch Siach }; 409a6120833SBaruch Siach 410a6120833SBaruch Siach port@5 { 411a6120833SBaruch Siach reg = <5>; 412a6120833SBaruch Siach label = "cpu"; 413a6120833SBaruch Siach ethernet = <&cp1_eth2>; 414a6120833SBaruch Siach }; 415a6120833SBaruch Siach }; 416a6120833SBaruch Siach 417a6120833SBaruch Siach mdio { 418a6120833SBaruch Siach #address-cells = <1>; 419a6120833SBaruch Siach #size-cells = <0>; 420a6120833SBaruch Siach 421a6120833SBaruch Siach switch0phy0: switch0phy0@11 { 422a6120833SBaruch Siach reg = <0x11>; 423a6120833SBaruch Siach }; 424a6120833SBaruch Siach 425a6120833SBaruch Siach switch0phy1: switch0phy1@12 { 426a6120833SBaruch Siach reg = <0x12>; 427a6120833SBaruch Siach }; 428a6120833SBaruch Siach 429a6120833SBaruch Siach switch0phy2: switch0phy2@13 { 430a6120833SBaruch Siach reg = <0x13>; 431a6120833SBaruch Siach }; 432a6120833SBaruch Siach 433a6120833SBaruch Siach switch0phy3: switch0phy3@14 { 434a6120833SBaruch Siach reg = <0x14>; 435a6120833SBaruch Siach }; 436a6120833SBaruch Siach }; 437a6120833SBaruch Siach }; 438a6120833SBaruch Siach}; 439a6120833SBaruch Siach 440a6120833SBaruch Siach&cp1_ethernet { 441a6120833SBaruch Siach status = "okay"; 442a6120833SBaruch Siach}; 443a6120833SBaruch Siach 444a6120833SBaruch Siach/* 1G copper */ 445a6120833SBaruch Siach&cp1_eth1 { 446a6120833SBaruch Siach status = "okay"; 447a6120833SBaruch Siach phy-mode = "sgmii"; 448a6120833SBaruch Siach phy = <&ge_phy>; 449a6120833SBaruch Siach phys = <&cp1_comphy3 1>; 450a6120833SBaruch Siach}; 451a6120833SBaruch Siach 452a6120833SBaruch Siach/* Switch uplink */ 453a6120833SBaruch Siach&cp1_eth2 { 454a6120833SBaruch Siach status = "okay"; 455a6120833SBaruch Siach phy-mode = "2500base-x"; 456a6120833SBaruch Siach phys = <&cp1_comphy5 2>; 457a6120833SBaruch Siach fixed-link { 458a6120833SBaruch Siach speed = <2500>; 459a6120833SBaruch Siach full-duplex; 460a6120833SBaruch Siach }; 461a6120833SBaruch Siach}; 462a6120833SBaruch Siach 463a6120833SBaruch Siach&cp1_spi1 { 464a6120833SBaruch Siach pinctrl-names = "default"; 465a6120833SBaruch Siach pinctrl-0 = <&cp1_spi1_pins>; 466a6120833SBaruch Siach status = "okay"; 467a6120833SBaruch Siach 468a6120833SBaruch Siach spi-flash@0 { 469a6120833SBaruch Siach compatible = "st,w25q32"; 470a6120833SBaruch Siach spi-max-frequency = <50000000>; 471a6120833SBaruch Siach reg = <0>; 472a6120833SBaruch Siach }; 473a6120833SBaruch Siach}; 474a6120833SBaruch Siach 475a6120833SBaruch Siach&cp1_usb3_0 { 476a6120833SBaruch Siach usb-phy = <&usb3h0_phy>; 477*01d0debaSMiquel Raynal phys = <&cp1_comphy2 0>; 478*01d0debaSMiquel Raynal phy-names = "cp1-usb3h0-comphy"; 479a6120833SBaruch Siach status = "okay"; 480a6120833SBaruch Siach}; 481