1c66ec88fSEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2c66ec88fSEmmanuel Vadot/* 3c66ec88fSEmmanuel Vadot * Copyright (C) 2018 SolidRun ltd. 4c66ec88fSEmmanuel Vadot * Based on Marvell MACCHIATOBin board 5c66ec88fSEmmanuel Vadot * 6c66ec88fSEmmanuel Vadot * Device Tree file for SolidRun's ClearFog GT 8K 7c66ec88fSEmmanuel Vadot */ 8c66ec88fSEmmanuel Vadot 9c66ec88fSEmmanuel Vadot#include "armada-8040.dtsi" 10c66ec88fSEmmanuel Vadot 11c66ec88fSEmmanuel Vadot#include <dt-bindings/input/input.h> 12c66ec88fSEmmanuel Vadot#include <dt-bindings/gpio/gpio.h> 13c66ec88fSEmmanuel Vadot 14c66ec88fSEmmanuel Vadot/ { 15c66ec88fSEmmanuel Vadot model = "SolidRun ClearFog GT 8K"; 16c66ec88fSEmmanuel Vadot compatible = "solidrun,clearfog-gt-8k", "marvell,armada8040", 17c66ec88fSEmmanuel Vadot "marvell,armada-ap806-quad", "marvell,armada-ap806"; 18c66ec88fSEmmanuel Vadot 19c66ec88fSEmmanuel Vadot chosen { 20c66ec88fSEmmanuel Vadot stdout-path = "serial0:115200n8"; 21c66ec88fSEmmanuel Vadot }; 22c66ec88fSEmmanuel Vadot 23354d7675SEmmanuel Vadot memory@0 { 24c66ec88fSEmmanuel Vadot device_type = "memory"; 25c66ec88fSEmmanuel Vadot reg = <0x0 0x0 0x0 0x80000000>; 26c66ec88fSEmmanuel Vadot }; 27c66ec88fSEmmanuel Vadot 28c66ec88fSEmmanuel Vadot aliases { 29c66ec88fSEmmanuel Vadot ethernet0 = &cp1_eth1; 30c66ec88fSEmmanuel Vadot ethernet1 = &cp0_eth0; 31c66ec88fSEmmanuel Vadot ethernet2 = &cp1_eth2; 32c66ec88fSEmmanuel Vadot }; 33c66ec88fSEmmanuel Vadot 342eb4d8dcSEmmanuel Vadot fan: pwm { 352eb4d8dcSEmmanuel Vadot compatible = "pwm-fan"; 362eb4d8dcSEmmanuel Vadot /* 20% steps */ 372eb4d8dcSEmmanuel Vadot cooling-levels = <0 51 102 153 204 255>; 382eb4d8dcSEmmanuel Vadot #cooling-cells = <2>; 392eb4d8dcSEmmanuel Vadot pinctrl-names = "default"; 402eb4d8dcSEmmanuel Vadot pinctrl-0 = <&cp0_fan_pwm_pins>; 412eb4d8dcSEmmanuel Vadot pwms = <&cp0_gpio2 16 40000>; 422eb4d8dcSEmmanuel Vadot }; 432eb4d8dcSEmmanuel Vadot 44c66ec88fSEmmanuel Vadot v_3_3: regulator-3-3v { 45c66ec88fSEmmanuel Vadot compatible = "regulator-fixed"; 46c66ec88fSEmmanuel Vadot regulator-name = "v_3_3"; 47c66ec88fSEmmanuel Vadot regulator-min-microvolt = <3300000>; 48c66ec88fSEmmanuel Vadot regulator-max-microvolt = <3300000>; 49c66ec88fSEmmanuel Vadot regulator-always-on; 50c66ec88fSEmmanuel Vadot status = "okay"; 51c66ec88fSEmmanuel Vadot }; 52c66ec88fSEmmanuel Vadot 53c66ec88fSEmmanuel Vadot v_5v0_usb3_hst_vbus: regulator-usb3-vbus0 { 54c66ec88fSEmmanuel Vadot compatible = "regulator-fixed"; 55c66ec88fSEmmanuel Vadot gpio = <&cp0_gpio2 15 GPIO_ACTIVE_LOW>; 56c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 57c66ec88fSEmmanuel Vadot pinctrl-0 = <&cp0_xhci_vbus_pins>; 58c66ec88fSEmmanuel Vadot regulator-name = "v_5v0_usb3_hst_vbus"; 59c66ec88fSEmmanuel Vadot regulator-min-microvolt = <5000000>; 60c66ec88fSEmmanuel Vadot regulator-max-microvolt = <5000000>; 61c66ec88fSEmmanuel Vadot status = "okay"; 62c66ec88fSEmmanuel Vadot }; 63c66ec88fSEmmanuel Vadot 64c66ec88fSEmmanuel Vadot sfp_cp0_eth0: sfp-cp0-eth0 { 65c66ec88fSEmmanuel Vadot compatible = "sff,sfp"; 66c66ec88fSEmmanuel Vadot i2c-bus = <&cp0_i2c1>; 67b97ee269SEmmanuel Vadot mod-def0-gpios = <&cp0_gpio2 17 GPIO_ACTIVE_LOW>; 68b97ee269SEmmanuel Vadot tx-disable-gpios = <&cp1_gpio1 29 GPIO_ACTIVE_HIGH>; 69c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 70c66ec88fSEmmanuel Vadot pinctrl-0 = <&cp0_sfp_present_pins &cp1_sfp_tx_disable_pins>; 71c66ec88fSEmmanuel Vadot maximum-power-milliwatt = <2000>; 72c66ec88fSEmmanuel Vadot }; 73c66ec88fSEmmanuel Vadot 74c66ec88fSEmmanuel Vadot leds { 75c66ec88fSEmmanuel Vadot compatible = "gpio-leds"; 76c66ec88fSEmmanuel Vadot pinctrl-0 = <&cp0_led0_pins 77c66ec88fSEmmanuel Vadot &cp0_led1_pins>; 78c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 79c66ec88fSEmmanuel Vadot /* No designated function for these LEDs at the moment */ 80c66ec88fSEmmanuel Vadot led0 { 81c66ec88fSEmmanuel Vadot label = "clearfog-gt-8k:green:led0"; 82c66ec88fSEmmanuel Vadot gpios = <&cp0_gpio2 8 GPIO_ACTIVE_LOW>; 83c66ec88fSEmmanuel Vadot default-state = "on"; 84c66ec88fSEmmanuel Vadot }; 85c66ec88fSEmmanuel Vadot led1 { 86c66ec88fSEmmanuel Vadot label = "clearfog-gt-8k:green:led1"; 87c66ec88fSEmmanuel Vadot gpios = <&cp0_gpio2 9 GPIO_ACTIVE_LOW>; 88c66ec88fSEmmanuel Vadot default-state = "on"; 89c66ec88fSEmmanuel Vadot }; 90c66ec88fSEmmanuel Vadot }; 91c66ec88fSEmmanuel Vadot 92c66ec88fSEmmanuel Vadot keys { 93c66ec88fSEmmanuel Vadot compatible = "gpio-keys"; 94c66ec88fSEmmanuel Vadot pinctrl-0 = <&cp0_gpio_reset_pins &cp1_wps_button_pins>; 95c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 96c66ec88fSEmmanuel Vadot 97b97ee269SEmmanuel Vadot button-0 { 98c66ec88fSEmmanuel Vadot /* The rear button */ 99c66ec88fSEmmanuel Vadot label = "Rear Button"; 100c66ec88fSEmmanuel Vadot gpios = <&cp0_gpio2 7 GPIO_ACTIVE_LOW>; 101c66ec88fSEmmanuel Vadot linux,can-disable; 102c66ec88fSEmmanuel Vadot linux,code = <BTN_0>; 103c66ec88fSEmmanuel Vadot }; 104c66ec88fSEmmanuel Vadot 105b97ee269SEmmanuel Vadot button-1 { 106c66ec88fSEmmanuel Vadot /* The wps button */ 107c66ec88fSEmmanuel Vadot label = "WPS Button"; 108c66ec88fSEmmanuel Vadot gpios = <&cp1_gpio1 30 GPIO_ACTIVE_LOW>; 109c66ec88fSEmmanuel Vadot linux,can-disable; 110c66ec88fSEmmanuel Vadot linux,code = <KEY_WPS_BUTTON>; 111c66ec88fSEmmanuel Vadot }; 112c66ec88fSEmmanuel Vadot }; 113c66ec88fSEmmanuel Vadot}; 114c66ec88fSEmmanuel Vadot 1152eb4d8dcSEmmanuel Vadot&ap_thermal_ic { 1162eb4d8dcSEmmanuel Vadot polling-delay = <1000>; /* milliseconds */ 1172eb4d8dcSEmmanuel Vadot trips { 1182eb4d8dcSEmmanuel Vadot ap_active: trip-active { 1192eb4d8dcSEmmanuel Vadot temperature = <40000>; /* millicelsius */ 1202eb4d8dcSEmmanuel Vadot hysteresis = <4000>; /* millicelsius */ 1212eb4d8dcSEmmanuel Vadot type = "active"; 1222eb4d8dcSEmmanuel Vadot }; 1232eb4d8dcSEmmanuel Vadot }; 1242eb4d8dcSEmmanuel Vadot cooling-maps { 1252eb4d8dcSEmmanuel Vadot map0 { 1262eb4d8dcSEmmanuel Vadot trip = <&ap_active>; 1272eb4d8dcSEmmanuel Vadot cooling-device = <&fan THERMAL_NO_LIMIT 4>; 1282eb4d8dcSEmmanuel Vadot }; 1292eb4d8dcSEmmanuel Vadot map1 { 1302eb4d8dcSEmmanuel Vadot trip = <&ap_crit>; 1312eb4d8dcSEmmanuel Vadot cooling-device = <&fan 4 5>; 1322eb4d8dcSEmmanuel Vadot }; 1332eb4d8dcSEmmanuel Vadot }; 1342eb4d8dcSEmmanuel Vadot}; 1352eb4d8dcSEmmanuel Vadot 1362eb4d8dcSEmmanuel Vadot&cp0_thermal_ic { 1372eb4d8dcSEmmanuel Vadot polling-delay = <1000>; /* milliseconds */ 1382eb4d8dcSEmmanuel Vadot trips { 1392eb4d8dcSEmmanuel Vadot cp0_active0: trip-active0 { 1402eb4d8dcSEmmanuel Vadot temperature = <40000>; /* millicelsius */ 1412eb4d8dcSEmmanuel Vadot hysteresis = <2500>; /* millicelsius */ 1422eb4d8dcSEmmanuel Vadot type = "active"; 1432eb4d8dcSEmmanuel Vadot }; 1442eb4d8dcSEmmanuel Vadot cp0_active1: trip-active1 { 1452eb4d8dcSEmmanuel Vadot temperature = <45000>; /* millicelsius */ 1462eb4d8dcSEmmanuel Vadot hysteresis = <2500>; /* millicelsius */ 1472eb4d8dcSEmmanuel Vadot type = "active"; 1482eb4d8dcSEmmanuel Vadot }; 1492eb4d8dcSEmmanuel Vadot cp0_active2: trip-active2 { 1502eb4d8dcSEmmanuel Vadot temperature = <50000>; /* millicelsius */ 1512eb4d8dcSEmmanuel Vadot hysteresis = <2500>; /* millicelsius */ 1522eb4d8dcSEmmanuel Vadot type = "active"; 1532eb4d8dcSEmmanuel Vadot }; 1542eb4d8dcSEmmanuel Vadot cp0_active3: trip-active3 { 1552eb4d8dcSEmmanuel Vadot temperature = <60000>; /* millicelsius */ 1562eb4d8dcSEmmanuel Vadot hysteresis = <2500>; /* millicelsius */ 1572eb4d8dcSEmmanuel Vadot type = "active"; 1582eb4d8dcSEmmanuel Vadot }; 1592eb4d8dcSEmmanuel Vadot }; 1602eb4d8dcSEmmanuel Vadot cooling-maps { 1612eb4d8dcSEmmanuel Vadot map0 { 1622eb4d8dcSEmmanuel Vadot trip = <&cp0_active0>; 1632eb4d8dcSEmmanuel Vadot cooling-device = <&fan 0 1>; 1642eb4d8dcSEmmanuel Vadot }; 1652eb4d8dcSEmmanuel Vadot map1 { 1662eb4d8dcSEmmanuel Vadot trip = <&cp0_active1>; 1672eb4d8dcSEmmanuel Vadot cooling-device = <&fan 1 2>; 1682eb4d8dcSEmmanuel Vadot }; 1692eb4d8dcSEmmanuel Vadot map2 { 1702eb4d8dcSEmmanuel Vadot trip = <&cp0_active2>; 1712eb4d8dcSEmmanuel Vadot cooling-device = <&fan 2 3>; 1722eb4d8dcSEmmanuel Vadot }; 1732eb4d8dcSEmmanuel Vadot map3 { 1742eb4d8dcSEmmanuel Vadot trip = <&cp0_active3>; 1752eb4d8dcSEmmanuel Vadot cooling-device = <&fan 3 4>; 1762eb4d8dcSEmmanuel Vadot }; 1772eb4d8dcSEmmanuel Vadot map4 { 1782eb4d8dcSEmmanuel Vadot trip = <&cp0_crit>; 1792eb4d8dcSEmmanuel Vadot cooling-device = <&fan 4 5>; 1802eb4d8dcSEmmanuel Vadot }; 1812eb4d8dcSEmmanuel Vadot }; 1822eb4d8dcSEmmanuel Vadot}; 1832eb4d8dcSEmmanuel Vadot 1842eb4d8dcSEmmanuel Vadot&cp1_thermal_ic { 1852eb4d8dcSEmmanuel Vadot polling-delay = <1000>; /* milliseconds */ 1862eb4d8dcSEmmanuel Vadot trips { 1872eb4d8dcSEmmanuel Vadot cp1_active0: trip-active0 { 1882eb4d8dcSEmmanuel Vadot temperature = <40000>; /* millicelsius */ 1892eb4d8dcSEmmanuel Vadot hysteresis = <2500>; /* millicelsius */ 1902eb4d8dcSEmmanuel Vadot type = "active"; 1912eb4d8dcSEmmanuel Vadot }; 1922eb4d8dcSEmmanuel Vadot cp1_active1: trip-active1 { 1932eb4d8dcSEmmanuel Vadot temperature = <45000>; /* millicelsius */ 1942eb4d8dcSEmmanuel Vadot hysteresis = <2500>; /* millicelsius */ 1952eb4d8dcSEmmanuel Vadot type = "active"; 1962eb4d8dcSEmmanuel Vadot }; 1972eb4d8dcSEmmanuel Vadot cp1_active2: trip-active2 { 1982eb4d8dcSEmmanuel Vadot temperature = <50000>; /* millicelsius */ 1992eb4d8dcSEmmanuel Vadot hysteresis = <2500>; /* millicelsius */ 2002eb4d8dcSEmmanuel Vadot type = "active"; 2012eb4d8dcSEmmanuel Vadot }; 2022eb4d8dcSEmmanuel Vadot cp1_active3: trip-active3 { 2032eb4d8dcSEmmanuel Vadot temperature = <60000>; /* millicelsius */ 2042eb4d8dcSEmmanuel Vadot hysteresis = <2500>; /* millicelsius */ 2052eb4d8dcSEmmanuel Vadot type = "active"; 2062eb4d8dcSEmmanuel Vadot }; 2072eb4d8dcSEmmanuel Vadot }; 2082eb4d8dcSEmmanuel Vadot cooling-maps { 2092eb4d8dcSEmmanuel Vadot map0 { 2102eb4d8dcSEmmanuel Vadot trip = <&cp1_active0>; 2112eb4d8dcSEmmanuel Vadot cooling-device = <&fan 0 1>; 2122eb4d8dcSEmmanuel Vadot }; 2132eb4d8dcSEmmanuel Vadot map1 { 2142eb4d8dcSEmmanuel Vadot trip = <&cp1_active1>; 2152eb4d8dcSEmmanuel Vadot cooling-device = <&fan 1 2>; 2162eb4d8dcSEmmanuel Vadot }; 2172eb4d8dcSEmmanuel Vadot map2 { 2182eb4d8dcSEmmanuel Vadot trip = <&cp1_active2>; 2192eb4d8dcSEmmanuel Vadot cooling-device = <&fan 2 3>; 2202eb4d8dcSEmmanuel Vadot }; 2212eb4d8dcSEmmanuel Vadot map3 { 2222eb4d8dcSEmmanuel Vadot trip = <&cp1_active3>; 2232eb4d8dcSEmmanuel Vadot cooling-device = <&fan 3 4>; 2242eb4d8dcSEmmanuel Vadot }; 2252eb4d8dcSEmmanuel Vadot map4 { 2262eb4d8dcSEmmanuel Vadot trip = <&cp1_crit>; 2272eb4d8dcSEmmanuel Vadot cooling-device = <&fan 4 5>; 2282eb4d8dcSEmmanuel Vadot }; 2292eb4d8dcSEmmanuel Vadot }; 2302eb4d8dcSEmmanuel Vadot}; 2312eb4d8dcSEmmanuel Vadot 232c66ec88fSEmmanuel Vadot&uart0 { 233c66ec88fSEmmanuel Vadot status = "okay"; 234c66ec88fSEmmanuel Vadot pinctrl-0 = <&uart0_pins>; 235c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 236c66ec88fSEmmanuel Vadot}; 237c66ec88fSEmmanuel Vadot 238c66ec88fSEmmanuel Vadot&ap_sdhci0 { 239c66ec88fSEmmanuel Vadot bus-width = <8>; 240c66ec88fSEmmanuel Vadot no-1-8-v; 241c66ec88fSEmmanuel Vadot no-sd; 242c66ec88fSEmmanuel Vadot no-sdio; 243c66ec88fSEmmanuel Vadot non-removable; 244c66ec88fSEmmanuel Vadot status = "okay"; 245c66ec88fSEmmanuel Vadot vqmmc-supply = <&v_3_3>; 246c66ec88fSEmmanuel Vadot}; 247c66ec88fSEmmanuel Vadot 248c66ec88fSEmmanuel Vadot&cp0_i2c0 { 249c66ec88fSEmmanuel Vadot clock-frequency = <100000>; 250c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 251c66ec88fSEmmanuel Vadot pinctrl-0 = <&cp0_i2c0_pins>; 252c66ec88fSEmmanuel Vadot status = "okay"; 253c66ec88fSEmmanuel Vadot}; 254c66ec88fSEmmanuel Vadot 255c66ec88fSEmmanuel Vadot&cp0_i2c1 { 256c66ec88fSEmmanuel Vadot clock-frequency = <100000>; 257c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 258c66ec88fSEmmanuel Vadot pinctrl-0 = <&cp0_i2c1_pins>; 259c66ec88fSEmmanuel Vadot status = "okay"; 260c66ec88fSEmmanuel Vadot}; 261c66ec88fSEmmanuel Vadot 262c66ec88fSEmmanuel Vadot&cp0_pinctrl { 263c66ec88fSEmmanuel Vadot /* 264c66ec88fSEmmanuel Vadot * MPP Bus: 265c66ec88fSEmmanuel Vadot * [0-31] = 0xff: Keep default CP0_shared_pins: 266c66ec88fSEmmanuel Vadot * [11] CLKOUT_MPP_11 (out) 267c66ec88fSEmmanuel Vadot * [23] LINK_RD_IN_CP2CP (in) 268c66ec88fSEmmanuel Vadot * [25] CLKOUT_MPP_25 (out) 269c66ec88fSEmmanuel Vadot * [29] AVS_FB_IN_CP2CP (in) 270c66ec88fSEmmanuel Vadot * [32, 33, 34] pci0/1/2 reset 271c66ec88fSEmmanuel Vadot * [35-38] CP0 I2C1 and I2C0 272c66ec88fSEmmanuel Vadot * [39] GPIO reset button 273c66ec88fSEmmanuel Vadot * [40,41] LED0 and LED1 274c66ec88fSEmmanuel Vadot * [43] 1512 phy reset 275c66ec88fSEmmanuel Vadot * [47] USB VBUS EN (active low) 276c66ec88fSEmmanuel Vadot * [48] FAN PWM 277c66ec88fSEmmanuel Vadot * [49] SFP+ present signal 278c66ec88fSEmmanuel Vadot * [50] TPM interrupt 279c66ec88fSEmmanuel Vadot * [51] WLAN0 disable 280c66ec88fSEmmanuel Vadot * [52] WLAN1 disable 281c66ec88fSEmmanuel Vadot * [53] LTE disable 282c66ec88fSEmmanuel Vadot * [54] NFC reset 283c66ec88fSEmmanuel Vadot * [55] Micro SD card detect 284c66ec88fSEmmanuel Vadot * [56-61] Micro SD 285c66ec88fSEmmanuel Vadot */ 286c66ec88fSEmmanuel Vadot 287c66ec88fSEmmanuel Vadot cp0_pci0_reset_pins: pci0-reset-pins { 288c66ec88fSEmmanuel Vadot marvell,pins = "mpp32"; 289c66ec88fSEmmanuel Vadot marvell,function = "gpio"; 290c66ec88fSEmmanuel Vadot }; 291c66ec88fSEmmanuel Vadot 292c66ec88fSEmmanuel Vadot cp0_pci1_reset_pins: pci1-reset-pins { 293c66ec88fSEmmanuel Vadot marvell,pins = "mpp33"; 294c66ec88fSEmmanuel Vadot marvell,function = "gpio"; 295c66ec88fSEmmanuel Vadot }; 296c66ec88fSEmmanuel Vadot 297c66ec88fSEmmanuel Vadot cp0_pci2_reset_pins: pci2-reset-pins { 298c66ec88fSEmmanuel Vadot marvell,pins = "mpp34"; 299c66ec88fSEmmanuel Vadot marvell,function = "gpio"; 300c66ec88fSEmmanuel Vadot }; 301c66ec88fSEmmanuel Vadot 302c66ec88fSEmmanuel Vadot cp0_i2c1_pins: i2c1-pins { 303c66ec88fSEmmanuel Vadot marvell,pins = "mpp35", "mpp36"; 304c66ec88fSEmmanuel Vadot marvell,function = "i2c1"; 305c66ec88fSEmmanuel Vadot }; 306c66ec88fSEmmanuel Vadot 307c66ec88fSEmmanuel Vadot cp0_i2c0_pins: i2c0-pins { 308c66ec88fSEmmanuel Vadot marvell,pins = "mpp37", "mpp38"; 309c66ec88fSEmmanuel Vadot marvell,function = "i2c0"; 310c66ec88fSEmmanuel Vadot }; 311c66ec88fSEmmanuel Vadot 312c66ec88fSEmmanuel Vadot cp0_gpio_reset_pins: gpio-reset-pins { 313c66ec88fSEmmanuel Vadot marvell,pins = "mpp39"; 314c66ec88fSEmmanuel Vadot marvell,function = "gpio"; 315c66ec88fSEmmanuel Vadot }; 316c66ec88fSEmmanuel Vadot 317c66ec88fSEmmanuel Vadot cp0_led0_pins: led0-pins { 318c66ec88fSEmmanuel Vadot marvell,pins = "mpp40"; 319c66ec88fSEmmanuel Vadot marvell,function = "gpio"; 320c66ec88fSEmmanuel Vadot }; 321c66ec88fSEmmanuel Vadot 322c66ec88fSEmmanuel Vadot cp0_led1_pins: led1-pins { 323c66ec88fSEmmanuel Vadot marvell,pins = "mpp41"; 324c66ec88fSEmmanuel Vadot marvell,function = "gpio"; 325c66ec88fSEmmanuel Vadot }; 326c66ec88fSEmmanuel Vadot 327c66ec88fSEmmanuel Vadot cp0_copper_eth_phy_reset: copper-eth-phy-reset { 328c66ec88fSEmmanuel Vadot marvell,pins = "mpp43"; 329c66ec88fSEmmanuel Vadot marvell,function = "gpio"; 330c66ec88fSEmmanuel Vadot }; 331c66ec88fSEmmanuel Vadot 332c66ec88fSEmmanuel Vadot cp0_xhci_vbus_pins: xhci0-vbus-pins { 333c66ec88fSEmmanuel Vadot marvell,pins = "mpp47"; 334c66ec88fSEmmanuel Vadot marvell,function = "gpio"; 335c66ec88fSEmmanuel Vadot }; 336c66ec88fSEmmanuel Vadot 337c66ec88fSEmmanuel Vadot cp0_fan_pwm_pins: fan-pwm-pins { 338c66ec88fSEmmanuel Vadot marvell,pins = "mpp48"; 339c66ec88fSEmmanuel Vadot marvell,function = "gpio"; 340c66ec88fSEmmanuel Vadot }; 341c66ec88fSEmmanuel Vadot 342c66ec88fSEmmanuel Vadot cp0_sfp_present_pins: sfp-present-pins { 343c66ec88fSEmmanuel Vadot marvell,pins = "mpp49"; 344c66ec88fSEmmanuel Vadot marvell,function = "gpio"; 345c66ec88fSEmmanuel Vadot }; 346c66ec88fSEmmanuel Vadot 347c66ec88fSEmmanuel Vadot cp0_tpm_irq_pins: tpm-irq-pins { 348c66ec88fSEmmanuel Vadot marvell,pins = "mpp50"; 349c66ec88fSEmmanuel Vadot marvell,function = "gpio"; 350c66ec88fSEmmanuel Vadot }; 351c66ec88fSEmmanuel Vadot 352c66ec88fSEmmanuel Vadot cp0_wlan_disable_pins: wlan-disable-pins { 353c66ec88fSEmmanuel Vadot marvell,pins = "mpp51"; 354c66ec88fSEmmanuel Vadot marvell,function = "gpio"; 355c66ec88fSEmmanuel Vadot }; 356c66ec88fSEmmanuel Vadot 357c66ec88fSEmmanuel Vadot cp0_sdhci_pins: sdhci-pins { 358c66ec88fSEmmanuel Vadot marvell,pins = "mpp55", "mpp56", "mpp57", "mpp58", "mpp59", 359c66ec88fSEmmanuel Vadot "mpp60", "mpp61"; 360c66ec88fSEmmanuel Vadot marvell,function = "sdio"; 361c66ec88fSEmmanuel Vadot }; 362c66ec88fSEmmanuel Vadot}; 363c66ec88fSEmmanuel Vadot 364c66ec88fSEmmanuel Vadot&cp0_pcie0 { 365c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 366c66ec88fSEmmanuel Vadot pinctrl-0 = <&cp0_pci0_reset_pins &cp0_wlan_disable_pins>; 367c66ec88fSEmmanuel Vadot reset-gpios = <&cp0_gpio2 0 GPIO_ACTIVE_LOW>; 368c66ec88fSEmmanuel Vadot phys = <&cp0_comphy0 0>; 369c66ec88fSEmmanuel Vadot phy-names = "cp0-pcie0-x1-phy"; 370c66ec88fSEmmanuel Vadot status = "okay"; 371c66ec88fSEmmanuel Vadot}; 372c66ec88fSEmmanuel Vadot 373c66ec88fSEmmanuel Vadot&cp0_gpio2 { 374c66ec88fSEmmanuel Vadot sata_reset { 375c66ec88fSEmmanuel Vadot gpio-hog; 376c66ec88fSEmmanuel Vadot gpios = <1 GPIO_ACTIVE_HIGH>; 377c66ec88fSEmmanuel Vadot output-high; 378c66ec88fSEmmanuel Vadot }; 379c66ec88fSEmmanuel Vadot 380c66ec88fSEmmanuel Vadot lte_reset { 381c66ec88fSEmmanuel Vadot gpio-hog; 382c66ec88fSEmmanuel Vadot gpios = <2 GPIO_ACTIVE_LOW>; 383c66ec88fSEmmanuel Vadot output-low; 384c66ec88fSEmmanuel Vadot }; 385c66ec88fSEmmanuel Vadot 386c66ec88fSEmmanuel Vadot wlan_disable { 387c66ec88fSEmmanuel Vadot gpio-hog; 388c66ec88fSEmmanuel Vadot gpios = <19 GPIO_ACTIVE_LOW>; 389c66ec88fSEmmanuel Vadot output-low; 390c66ec88fSEmmanuel Vadot }; 391c66ec88fSEmmanuel Vadot 392c66ec88fSEmmanuel Vadot lte_disable { 393c66ec88fSEmmanuel Vadot gpio-hog; 394c66ec88fSEmmanuel Vadot gpios = <21 GPIO_ACTIVE_LOW>; 395c66ec88fSEmmanuel Vadot output-low; 396c66ec88fSEmmanuel Vadot }; 397c66ec88fSEmmanuel Vadot}; 398c66ec88fSEmmanuel Vadot 399c66ec88fSEmmanuel Vadot&cp0_ethernet { 400c66ec88fSEmmanuel Vadot status = "okay"; 401c66ec88fSEmmanuel Vadot}; 402c66ec88fSEmmanuel Vadot 403c66ec88fSEmmanuel Vadot/* SFP */ 404c66ec88fSEmmanuel Vadot&cp0_eth0 { 405c66ec88fSEmmanuel Vadot status = "okay"; 406c66ec88fSEmmanuel Vadot phy-mode = "10gbase-r"; 407c66ec88fSEmmanuel Vadot managed = "in-band-status"; 408c66ec88fSEmmanuel Vadot phys = <&cp0_comphy2 0>; 409c66ec88fSEmmanuel Vadot sfp = <&sfp_cp0_eth0>; 410c66ec88fSEmmanuel Vadot}; 411c66ec88fSEmmanuel Vadot 412c66ec88fSEmmanuel Vadot&cp0_sdhci0 { 413c66ec88fSEmmanuel Vadot broken-cd; 414c66ec88fSEmmanuel Vadot bus-width = <4>; 415c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 416c66ec88fSEmmanuel Vadot pinctrl-0 = <&cp0_sdhci_pins>; 417c66ec88fSEmmanuel Vadot status = "okay"; 418c66ec88fSEmmanuel Vadot vqmmc-supply = <&v_3_3>; 419c66ec88fSEmmanuel Vadot}; 420c66ec88fSEmmanuel Vadot 421c66ec88fSEmmanuel Vadot&cp0_usb3_1 { 422c66ec88fSEmmanuel Vadot status = "okay"; 423c66ec88fSEmmanuel Vadot}; 424c66ec88fSEmmanuel Vadot 425c66ec88fSEmmanuel Vadot&cp1_pinctrl { 426c66ec88fSEmmanuel Vadot /* 427c66ec88fSEmmanuel Vadot * MPP Bus: 428c66ec88fSEmmanuel Vadot * [0-5] TDM 429c66ec88fSEmmanuel Vadot * [6] VHV Enable 430c66ec88fSEmmanuel Vadot * [7] CP1 SPI0 CSn1 (FXS) 431c66ec88fSEmmanuel Vadot * [8] CP1 SPI0 CSn0 (TPM) 432c66ec88fSEmmanuel Vadot * [9.11]CP1 SPI0 MOSI/MISO/CLK 433c66ec88fSEmmanuel Vadot * [13] CP1 SPI1 MISO (TDM and SPI ROM shared) 434c66ec88fSEmmanuel Vadot * [14] CP1 SPI1 CS0n (64Mb SPI ROM) 435c66ec88fSEmmanuel Vadot * [15] CP1 SPI1 MOSI (TDM and SPI ROM shared) 436c66ec88fSEmmanuel Vadot * [16] CP1 SPI1 CLK (TDM and SPI ROM shared) 437c66ec88fSEmmanuel Vadot * [24] Topaz switch reset 438c66ec88fSEmmanuel Vadot * [26] Buzzer 439c66ec88fSEmmanuel Vadot * [27] CP1 SMI MDIO 440c66ec88fSEmmanuel Vadot * [28] CP1 SMI MDC 441c66ec88fSEmmanuel Vadot * [29] CP0 10G SFP TX Disable 442c66ec88fSEmmanuel Vadot * [30] WPS button 443c66ec88fSEmmanuel Vadot * [31] Front panel button 444c66ec88fSEmmanuel Vadot */ 445c66ec88fSEmmanuel Vadot 446c66ec88fSEmmanuel Vadot cp1_spi1_pins: spi1-pins { 447c66ec88fSEmmanuel Vadot marvell,pins = "mpp13", "mpp14", "mpp15", "mpp16"; 448c66ec88fSEmmanuel Vadot marvell,function = "spi1"; 449c66ec88fSEmmanuel Vadot }; 450c66ec88fSEmmanuel Vadot 451c66ec88fSEmmanuel Vadot cp1_switch_reset_pins: switch-reset-pins { 452c66ec88fSEmmanuel Vadot marvell,pins = "mpp24"; 453c66ec88fSEmmanuel Vadot marvell,function = "gpio"; 454c66ec88fSEmmanuel Vadot }; 455c66ec88fSEmmanuel Vadot 456c66ec88fSEmmanuel Vadot cp1_ge_mdio_pins: ge-mdio-pins { 457c66ec88fSEmmanuel Vadot marvell,pins = "mpp27", "mpp28"; 458c66ec88fSEmmanuel Vadot marvell,function = "ge"; 459c66ec88fSEmmanuel Vadot }; 460c66ec88fSEmmanuel Vadot 461c66ec88fSEmmanuel Vadot cp1_sfp_tx_disable_pins: sfp-tx-disable-pins { 462c66ec88fSEmmanuel Vadot marvell,pins = "mpp29"; 463c66ec88fSEmmanuel Vadot marvell,function = "gpio"; 464c66ec88fSEmmanuel Vadot }; 465c66ec88fSEmmanuel Vadot 466c66ec88fSEmmanuel Vadot cp1_wps_button_pins: wps-button-pins { 467c66ec88fSEmmanuel Vadot marvell,pins = "mpp30"; 468c66ec88fSEmmanuel Vadot marvell,function = "gpio"; 469c66ec88fSEmmanuel Vadot }; 470c66ec88fSEmmanuel Vadot}; 471c66ec88fSEmmanuel Vadot 472c66ec88fSEmmanuel Vadot&cp1_sata0 { 473c66ec88fSEmmanuel Vadot pinctrl-0 = <&cp0_pci1_reset_pins>; 474c66ec88fSEmmanuel Vadot status = "okay"; 475c66ec88fSEmmanuel Vadot 476c66ec88fSEmmanuel Vadot sata-port@1 { 477c66ec88fSEmmanuel Vadot phys = <&cp1_comphy0 1>; 478c66ec88fSEmmanuel Vadot phy-names = "cp1-sata0-1-phy"; 479c66ec88fSEmmanuel Vadot }; 480c66ec88fSEmmanuel Vadot}; 481c66ec88fSEmmanuel Vadot 482c66ec88fSEmmanuel Vadot&cp1_mdio { 483c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 484c66ec88fSEmmanuel Vadot pinctrl-0 = <&cp1_ge_mdio_pins>; 485c66ec88fSEmmanuel Vadot status = "okay"; 486c66ec88fSEmmanuel Vadot 487c66ec88fSEmmanuel Vadot ge_phy: ethernet-phy@0 { 488c66ec88fSEmmanuel Vadot /* LED0 - GB link 489c66ec88fSEmmanuel Vadot * LED1 - on: link, blink: activity 490c66ec88fSEmmanuel Vadot */ 491c66ec88fSEmmanuel Vadot marvell,reg-init = <3 16 0 0x1017>; 492c66ec88fSEmmanuel Vadot reg = <0>; 493c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 494c66ec88fSEmmanuel Vadot pinctrl-0 = <&cp0_copper_eth_phy_reset>; 495c66ec88fSEmmanuel Vadot reset-gpios = <&cp0_gpio2 11 GPIO_ACTIVE_LOW>; 496c66ec88fSEmmanuel Vadot reset-assert-us = <10000>; 497c66ec88fSEmmanuel Vadot reset-deassert-us = <10000>; 498c66ec88fSEmmanuel Vadot }; 499c66ec88fSEmmanuel Vadot 500*8d13bc63SEmmanuel Vadot switch0: ethernet-switch@4 { 501c66ec88fSEmmanuel Vadot compatible = "marvell,mv88e6085"; 502c66ec88fSEmmanuel Vadot reg = <4>; 503c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 504c66ec88fSEmmanuel Vadot pinctrl-0 = <&cp1_switch_reset_pins>; 505c66ec88fSEmmanuel Vadot reset-gpios = <&cp1_gpio1 24 GPIO_ACTIVE_LOW>; 506c66ec88fSEmmanuel Vadot 507*8d13bc63SEmmanuel Vadot ethernet-ports { 508c66ec88fSEmmanuel Vadot #address-cells = <1>; 509c66ec88fSEmmanuel Vadot #size-cells = <0>; 510c66ec88fSEmmanuel Vadot 511*8d13bc63SEmmanuel Vadot ethernet-port@1 { 512c66ec88fSEmmanuel Vadot reg = <1>; 513c66ec88fSEmmanuel Vadot label = "lan2"; 514c66ec88fSEmmanuel Vadot phy-handle = <&switch0phy0>; 515c66ec88fSEmmanuel Vadot }; 516c66ec88fSEmmanuel Vadot 517*8d13bc63SEmmanuel Vadot ethernet-port@2 { 518c66ec88fSEmmanuel Vadot reg = <2>; 519c66ec88fSEmmanuel Vadot label = "lan1"; 520c66ec88fSEmmanuel Vadot phy-handle = <&switch0phy1>; 521c66ec88fSEmmanuel Vadot }; 522c66ec88fSEmmanuel Vadot 523*8d13bc63SEmmanuel Vadot ethernet-port@3 { 524c66ec88fSEmmanuel Vadot reg = <3>; 525c66ec88fSEmmanuel Vadot label = "lan4"; 526c66ec88fSEmmanuel Vadot phy-handle = <&switch0phy2>; 527c66ec88fSEmmanuel Vadot }; 528c66ec88fSEmmanuel Vadot 529*8d13bc63SEmmanuel Vadot ethernet-port@4 { 530c66ec88fSEmmanuel Vadot reg = <4>; 531c66ec88fSEmmanuel Vadot label = "lan3"; 532c66ec88fSEmmanuel Vadot phy-handle = <&switch0phy3>; 533c66ec88fSEmmanuel Vadot }; 534c66ec88fSEmmanuel Vadot 535*8d13bc63SEmmanuel Vadot ethernet-port@5 { 536c66ec88fSEmmanuel Vadot reg = <5>; 537c66ec88fSEmmanuel Vadot label = "cpu"; 538c66ec88fSEmmanuel Vadot ethernet = <&cp1_eth2>; 539c66ec88fSEmmanuel Vadot phy-mode = "2500base-x"; 540c66ec88fSEmmanuel Vadot managed = "in-band-status"; 541c66ec88fSEmmanuel Vadot }; 542c66ec88fSEmmanuel Vadot }; 543c66ec88fSEmmanuel Vadot 544c66ec88fSEmmanuel Vadot mdio { 545c66ec88fSEmmanuel Vadot #address-cells = <1>; 546c66ec88fSEmmanuel Vadot #size-cells = <0>; 547c66ec88fSEmmanuel Vadot 548*8d13bc63SEmmanuel Vadot switch0phy0: ethernet-phy@11 { 549c66ec88fSEmmanuel Vadot reg = <0x11>; 550c66ec88fSEmmanuel Vadot }; 551c66ec88fSEmmanuel Vadot 552*8d13bc63SEmmanuel Vadot switch0phy1: ethernet-phy@12 { 553c66ec88fSEmmanuel Vadot reg = <0x12>; 554c66ec88fSEmmanuel Vadot }; 555c66ec88fSEmmanuel Vadot 556*8d13bc63SEmmanuel Vadot switch0phy2: ethernet-phy@13 { 557c66ec88fSEmmanuel Vadot reg = <0x13>; 558c66ec88fSEmmanuel Vadot }; 559c66ec88fSEmmanuel Vadot 560*8d13bc63SEmmanuel Vadot switch0phy3: ethernet-phy@14 { 561c66ec88fSEmmanuel Vadot reg = <0x14>; 562c66ec88fSEmmanuel Vadot }; 563c66ec88fSEmmanuel Vadot }; 564c66ec88fSEmmanuel Vadot }; 565c66ec88fSEmmanuel Vadot}; 566c66ec88fSEmmanuel Vadot 567c66ec88fSEmmanuel Vadot&cp1_ethernet { 568c66ec88fSEmmanuel Vadot status = "okay"; 569c66ec88fSEmmanuel Vadot}; 570c66ec88fSEmmanuel Vadot 571c66ec88fSEmmanuel Vadot/* 1G copper */ 572c66ec88fSEmmanuel Vadot&cp1_eth1 { 573c66ec88fSEmmanuel Vadot status = "okay"; 574c66ec88fSEmmanuel Vadot phy-mode = "sgmii"; 575c66ec88fSEmmanuel Vadot phy = <&ge_phy>; 576c66ec88fSEmmanuel Vadot phys = <&cp1_comphy3 1>; 577c66ec88fSEmmanuel Vadot}; 578c66ec88fSEmmanuel Vadot 579c66ec88fSEmmanuel Vadot/* Switch uplink */ 580c66ec88fSEmmanuel Vadot&cp1_eth2 { 581c66ec88fSEmmanuel Vadot status = "okay"; 582c66ec88fSEmmanuel Vadot phy-mode = "2500base-x"; 583c66ec88fSEmmanuel Vadot phys = <&cp1_comphy5 2>; 584c66ec88fSEmmanuel Vadot managed = "in-band-status"; 585c66ec88fSEmmanuel Vadot}; 586c66ec88fSEmmanuel Vadot 587c66ec88fSEmmanuel Vadot&cp1_spi1 { 588c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 589c66ec88fSEmmanuel Vadot pinctrl-0 = <&cp1_spi1_pins>; 590c66ec88fSEmmanuel Vadot status = "okay"; 591c66ec88fSEmmanuel Vadot 592d5b0e70fSEmmanuel Vadot flash@0 { 593c66ec88fSEmmanuel Vadot compatible = "st,w25q32"; 594c66ec88fSEmmanuel Vadot spi-max-frequency = <50000000>; 595c66ec88fSEmmanuel Vadot reg = <0>; 596c66ec88fSEmmanuel Vadot }; 597c66ec88fSEmmanuel Vadot}; 598c66ec88fSEmmanuel Vadot 599c66ec88fSEmmanuel Vadot&cp1_comphy2 { 600c66ec88fSEmmanuel Vadot cp1_usbh0_con: connector { 601c66ec88fSEmmanuel Vadot compatible = "usb-a-connector"; 602c66ec88fSEmmanuel Vadot phy-supply = <&v_5v0_usb3_hst_vbus>; 603c66ec88fSEmmanuel Vadot }; 604c66ec88fSEmmanuel Vadot}; 605c66ec88fSEmmanuel Vadot 606c66ec88fSEmmanuel Vadot&cp1_usb3_0 { 607c66ec88fSEmmanuel Vadot phys = <&cp1_comphy2 0>; 608c66ec88fSEmmanuel Vadot phy-names = "cp1-usb3h0-comphy"; 609c66ec88fSEmmanuel Vadot status = "okay"; 610c66ec88fSEmmanuel Vadot}; 611