162306a36Sopenharmony_ci// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * Copyright (C) 2018 SolidRun ltd. 462306a36Sopenharmony_ci * Based on Marvell MACCHIATOBin board 562306a36Sopenharmony_ci * 662306a36Sopenharmony_ci * Device Tree file for SolidRun's ClearFog GT 8K 762306a36Sopenharmony_ci */ 862306a36Sopenharmony_ci 962306a36Sopenharmony_ci#include "armada-8040.dtsi" 1062306a36Sopenharmony_ci 1162306a36Sopenharmony_ci#include <dt-bindings/input/input.h> 1262306a36Sopenharmony_ci#include <dt-bindings/gpio/gpio.h> 1362306a36Sopenharmony_ci 1462306a36Sopenharmony_ci/ { 1562306a36Sopenharmony_ci model = "SolidRun ClearFog GT 8K"; 1662306a36Sopenharmony_ci compatible = "solidrun,clearfog-gt-8k", "marvell,armada8040", 1762306a36Sopenharmony_ci "marvell,armada-ap806-quad", "marvell,armada-ap806"; 1862306a36Sopenharmony_ci 1962306a36Sopenharmony_ci chosen { 2062306a36Sopenharmony_ci stdout-path = "serial0:115200n8"; 2162306a36Sopenharmony_ci }; 2262306a36Sopenharmony_ci 2362306a36Sopenharmony_ci memory@0 { 2462306a36Sopenharmony_ci device_type = "memory"; 2562306a36Sopenharmony_ci reg = <0x0 0x0 0x0 0x80000000>; 2662306a36Sopenharmony_ci }; 2762306a36Sopenharmony_ci 2862306a36Sopenharmony_ci aliases { 2962306a36Sopenharmony_ci ethernet0 = &cp1_eth1; 3062306a36Sopenharmony_ci ethernet1 = &cp0_eth0; 3162306a36Sopenharmony_ci ethernet2 = &cp1_eth2; 3262306a36Sopenharmony_ci }; 3362306a36Sopenharmony_ci 3462306a36Sopenharmony_ci fan: pwm { 3562306a36Sopenharmony_ci compatible = "pwm-fan"; 3662306a36Sopenharmony_ci /* 20% steps */ 3762306a36Sopenharmony_ci cooling-levels = <0 51 102 153 204 255>; 3862306a36Sopenharmony_ci #cooling-cells = <2>; 3962306a36Sopenharmony_ci pinctrl-names = "default"; 4062306a36Sopenharmony_ci pinctrl-0 = <&cp0_fan_pwm_pins>; 4162306a36Sopenharmony_ci pwms = <&cp0_gpio2 16 40000>; 4262306a36Sopenharmony_ci }; 4362306a36Sopenharmony_ci 4462306a36Sopenharmony_ci v_3_3: regulator-3-3v { 4562306a36Sopenharmony_ci compatible = "regulator-fixed"; 4662306a36Sopenharmony_ci regulator-name = "v_3_3"; 4762306a36Sopenharmony_ci regulator-min-microvolt = <3300000>; 4862306a36Sopenharmony_ci regulator-max-microvolt = <3300000>; 4962306a36Sopenharmony_ci regulator-always-on; 5062306a36Sopenharmony_ci status = "okay"; 5162306a36Sopenharmony_ci }; 5262306a36Sopenharmony_ci 5362306a36Sopenharmony_ci v_5v0_usb3_hst_vbus: regulator-usb3-vbus0 { 5462306a36Sopenharmony_ci compatible = "regulator-fixed"; 5562306a36Sopenharmony_ci gpio = <&cp0_gpio2 15 GPIO_ACTIVE_LOW>; 5662306a36Sopenharmony_ci pinctrl-names = "default"; 5762306a36Sopenharmony_ci pinctrl-0 = <&cp0_xhci_vbus_pins>; 5862306a36Sopenharmony_ci regulator-name = "v_5v0_usb3_hst_vbus"; 5962306a36Sopenharmony_ci regulator-min-microvolt = <5000000>; 6062306a36Sopenharmony_ci regulator-max-microvolt = <5000000>; 6162306a36Sopenharmony_ci status = "okay"; 6262306a36Sopenharmony_ci }; 6362306a36Sopenharmony_ci 6462306a36Sopenharmony_ci sfp_cp0_eth0: sfp-cp0-eth0 { 6562306a36Sopenharmony_ci compatible = "sff,sfp"; 6662306a36Sopenharmony_ci i2c-bus = <&cp0_i2c1>; 6762306a36Sopenharmony_ci mod-def0-gpios = <&cp0_gpio2 17 GPIO_ACTIVE_LOW>; 6862306a36Sopenharmony_ci tx-disable-gpios = <&cp1_gpio1 29 GPIO_ACTIVE_HIGH>; 6962306a36Sopenharmony_ci pinctrl-names = "default"; 7062306a36Sopenharmony_ci pinctrl-0 = <&cp0_sfp_present_pins &cp1_sfp_tx_disable_pins>; 7162306a36Sopenharmony_ci maximum-power-milliwatt = <2000>; 7262306a36Sopenharmony_ci }; 7362306a36Sopenharmony_ci 7462306a36Sopenharmony_ci leds { 7562306a36Sopenharmony_ci compatible = "gpio-leds"; 7662306a36Sopenharmony_ci pinctrl-0 = <&cp0_led0_pins 7762306a36Sopenharmony_ci &cp0_led1_pins>; 7862306a36Sopenharmony_ci pinctrl-names = "default"; 7962306a36Sopenharmony_ci /* No designated function for these LEDs at the moment */ 8062306a36Sopenharmony_ci led0 { 8162306a36Sopenharmony_ci label = "clearfog-gt-8k:green:led0"; 8262306a36Sopenharmony_ci gpios = <&cp0_gpio2 8 GPIO_ACTIVE_LOW>; 8362306a36Sopenharmony_ci default-state = "on"; 8462306a36Sopenharmony_ci }; 8562306a36Sopenharmony_ci led1 { 8662306a36Sopenharmony_ci label = "clearfog-gt-8k:green:led1"; 8762306a36Sopenharmony_ci gpios = <&cp0_gpio2 9 GPIO_ACTIVE_LOW>; 8862306a36Sopenharmony_ci default-state = "on"; 8962306a36Sopenharmony_ci }; 9062306a36Sopenharmony_ci }; 9162306a36Sopenharmony_ci 9262306a36Sopenharmony_ci keys { 9362306a36Sopenharmony_ci compatible = "gpio-keys"; 9462306a36Sopenharmony_ci pinctrl-0 = <&cp0_gpio_reset_pins &cp1_wps_button_pins>; 9562306a36Sopenharmony_ci pinctrl-names = "default"; 9662306a36Sopenharmony_ci 9762306a36Sopenharmony_ci button-0 { 9862306a36Sopenharmony_ci /* The rear button */ 9962306a36Sopenharmony_ci label = "Rear Button"; 10062306a36Sopenharmony_ci gpios = <&cp0_gpio2 7 GPIO_ACTIVE_LOW>; 10162306a36Sopenharmony_ci linux,can-disable; 10262306a36Sopenharmony_ci linux,code = <BTN_0>; 10362306a36Sopenharmony_ci }; 10462306a36Sopenharmony_ci 10562306a36Sopenharmony_ci button-1 { 10662306a36Sopenharmony_ci /* The wps button */ 10762306a36Sopenharmony_ci label = "WPS Button"; 10862306a36Sopenharmony_ci gpios = <&cp1_gpio1 30 GPIO_ACTIVE_LOW>; 10962306a36Sopenharmony_ci linux,can-disable; 11062306a36Sopenharmony_ci linux,code = <KEY_WPS_BUTTON>; 11162306a36Sopenharmony_ci }; 11262306a36Sopenharmony_ci }; 11362306a36Sopenharmony_ci}; 11462306a36Sopenharmony_ci 11562306a36Sopenharmony_ci&ap_thermal_ic { 11662306a36Sopenharmony_ci polling-delay = <1000>; /* milliseconds */ 11762306a36Sopenharmony_ci trips { 11862306a36Sopenharmony_ci ap_active: trip-active { 11962306a36Sopenharmony_ci temperature = <40000>; /* millicelsius */ 12062306a36Sopenharmony_ci hysteresis = <4000>; /* millicelsius */ 12162306a36Sopenharmony_ci type = "active"; 12262306a36Sopenharmony_ci }; 12362306a36Sopenharmony_ci }; 12462306a36Sopenharmony_ci cooling-maps { 12562306a36Sopenharmony_ci map0 { 12662306a36Sopenharmony_ci trip = <&ap_active>; 12762306a36Sopenharmony_ci cooling-device = <&fan THERMAL_NO_LIMIT 4>; 12862306a36Sopenharmony_ci }; 12962306a36Sopenharmony_ci map1 { 13062306a36Sopenharmony_ci trip = <&ap_crit>; 13162306a36Sopenharmony_ci cooling-device = <&fan 4 5>; 13262306a36Sopenharmony_ci }; 13362306a36Sopenharmony_ci }; 13462306a36Sopenharmony_ci}; 13562306a36Sopenharmony_ci 13662306a36Sopenharmony_ci&cp0_thermal_ic { 13762306a36Sopenharmony_ci polling-delay = <1000>; /* milliseconds */ 13862306a36Sopenharmony_ci trips { 13962306a36Sopenharmony_ci cp0_active0: trip-active0 { 14062306a36Sopenharmony_ci temperature = <40000>; /* millicelsius */ 14162306a36Sopenharmony_ci hysteresis = <2500>; /* millicelsius */ 14262306a36Sopenharmony_ci type = "active"; 14362306a36Sopenharmony_ci }; 14462306a36Sopenharmony_ci cp0_active1: trip-active1 { 14562306a36Sopenharmony_ci temperature = <45000>; /* millicelsius */ 14662306a36Sopenharmony_ci hysteresis = <2500>; /* millicelsius */ 14762306a36Sopenharmony_ci type = "active"; 14862306a36Sopenharmony_ci }; 14962306a36Sopenharmony_ci cp0_active2: trip-active2 { 15062306a36Sopenharmony_ci temperature = <50000>; /* millicelsius */ 15162306a36Sopenharmony_ci hysteresis = <2500>; /* millicelsius */ 15262306a36Sopenharmony_ci type = "active"; 15362306a36Sopenharmony_ci }; 15462306a36Sopenharmony_ci cp0_active3: trip-active3 { 15562306a36Sopenharmony_ci temperature = <60000>; /* millicelsius */ 15662306a36Sopenharmony_ci hysteresis = <2500>; /* millicelsius */ 15762306a36Sopenharmony_ci type = "active"; 15862306a36Sopenharmony_ci }; 15962306a36Sopenharmony_ci }; 16062306a36Sopenharmony_ci cooling-maps { 16162306a36Sopenharmony_ci map0 { 16262306a36Sopenharmony_ci trip = <&cp0_active0>; 16362306a36Sopenharmony_ci cooling-device = <&fan 0 1>; 16462306a36Sopenharmony_ci }; 16562306a36Sopenharmony_ci map1 { 16662306a36Sopenharmony_ci trip = <&cp0_active1>; 16762306a36Sopenharmony_ci cooling-device = <&fan 1 2>; 16862306a36Sopenharmony_ci }; 16962306a36Sopenharmony_ci map2 { 17062306a36Sopenharmony_ci trip = <&cp0_active2>; 17162306a36Sopenharmony_ci cooling-device = <&fan 2 3>; 17262306a36Sopenharmony_ci }; 17362306a36Sopenharmony_ci map3 { 17462306a36Sopenharmony_ci trip = <&cp0_active3>; 17562306a36Sopenharmony_ci cooling-device = <&fan 3 4>; 17662306a36Sopenharmony_ci }; 17762306a36Sopenharmony_ci map4 { 17862306a36Sopenharmony_ci trip = <&cp0_crit>; 17962306a36Sopenharmony_ci cooling-device = <&fan 4 5>; 18062306a36Sopenharmony_ci }; 18162306a36Sopenharmony_ci }; 18262306a36Sopenharmony_ci}; 18362306a36Sopenharmony_ci 18462306a36Sopenharmony_ci&cp1_thermal_ic { 18562306a36Sopenharmony_ci polling-delay = <1000>; /* milliseconds */ 18662306a36Sopenharmony_ci trips { 18762306a36Sopenharmony_ci cp1_active0: trip-active0 { 18862306a36Sopenharmony_ci temperature = <40000>; /* millicelsius */ 18962306a36Sopenharmony_ci hysteresis = <2500>; /* millicelsius */ 19062306a36Sopenharmony_ci type = "active"; 19162306a36Sopenharmony_ci }; 19262306a36Sopenharmony_ci cp1_active1: trip-active1 { 19362306a36Sopenharmony_ci temperature = <45000>; /* millicelsius */ 19462306a36Sopenharmony_ci hysteresis = <2500>; /* millicelsius */ 19562306a36Sopenharmony_ci type = "active"; 19662306a36Sopenharmony_ci }; 19762306a36Sopenharmony_ci cp1_active2: trip-active2 { 19862306a36Sopenharmony_ci temperature = <50000>; /* millicelsius */ 19962306a36Sopenharmony_ci hysteresis = <2500>; /* millicelsius */ 20062306a36Sopenharmony_ci type = "active"; 20162306a36Sopenharmony_ci }; 20262306a36Sopenharmony_ci cp1_active3: trip-active3 { 20362306a36Sopenharmony_ci temperature = <60000>; /* millicelsius */ 20462306a36Sopenharmony_ci hysteresis = <2500>; /* millicelsius */ 20562306a36Sopenharmony_ci type = "active"; 20662306a36Sopenharmony_ci }; 20762306a36Sopenharmony_ci }; 20862306a36Sopenharmony_ci cooling-maps { 20962306a36Sopenharmony_ci map0 { 21062306a36Sopenharmony_ci trip = <&cp1_active0>; 21162306a36Sopenharmony_ci cooling-device = <&fan 0 1>; 21262306a36Sopenharmony_ci }; 21362306a36Sopenharmony_ci map1 { 21462306a36Sopenharmony_ci trip = <&cp1_active1>; 21562306a36Sopenharmony_ci cooling-device = <&fan 1 2>; 21662306a36Sopenharmony_ci }; 21762306a36Sopenharmony_ci map2 { 21862306a36Sopenharmony_ci trip = <&cp1_active2>; 21962306a36Sopenharmony_ci cooling-device = <&fan 2 3>; 22062306a36Sopenharmony_ci }; 22162306a36Sopenharmony_ci map3 { 22262306a36Sopenharmony_ci trip = <&cp1_active3>; 22362306a36Sopenharmony_ci cooling-device = <&fan 3 4>; 22462306a36Sopenharmony_ci }; 22562306a36Sopenharmony_ci map4 { 22662306a36Sopenharmony_ci trip = <&cp1_crit>; 22762306a36Sopenharmony_ci cooling-device = <&fan 4 5>; 22862306a36Sopenharmony_ci }; 22962306a36Sopenharmony_ci }; 23062306a36Sopenharmony_ci}; 23162306a36Sopenharmony_ci 23262306a36Sopenharmony_ci&uart0 { 23362306a36Sopenharmony_ci status = "okay"; 23462306a36Sopenharmony_ci pinctrl-0 = <&uart0_pins>; 23562306a36Sopenharmony_ci pinctrl-names = "default"; 23662306a36Sopenharmony_ci}; 23762306a36Sopenharmony_ci 23862306a36Sopenharmony_ci&ap_sdhci0 { 23962306a36Sopenharmony_ci bus-width = <8>; 24062306a36Sopenharmony_ci no-1-8-v; 24162306a36Sopenharmony_ci no-sd; 24262306a36Sopenharmony_ci no-sdio; 24362306a36Sopenharmony_ci non-removable; 24462306a36Sopenharmony_ci status = "okay"; 24562306a36Sopenharmony_ci vqmmc-supply = <&v_3_3>; 24662306a36Sopenharmony_ci}; 24762306a36Sopenharmony_ci 24862306a36Sopenharmony_ci&cp0_i2c0 { 24962306a36Sopenharmony_ci clock-frequency = <100000>; 25062306a36Sopenharmony_ci pinctrl-names = "default"; 25162306a36Sopenharmony_ci pinctrl-0 = <&cp0_i2c0_pins>; 25262306a36Sopenharmony_ci status = "okay"; 25362306a36Sopenharmony_ci}; 25462306a36Sopenharmony_ci 25562306a36Sopenharmony_ci&cp0_i2c1 { 25662306a36Sopenharmony_ci clock-frequency = <100000>; 25762306a36Sopenharmony_ci pinctrl-names = "default"; 25862306a36Sopenharmony_ci pinctrl-0 = <&cp0_i2c1_pins>; 25962306a36Sopenharmony_ci status = "okay"; 26062306a36Sopenharmony_ci}; 26162306a36Sopenharmony_ci 26262306a36Sopenharmony_ci&cp0_pinctrl { 26362306a36Sopenharmony_ci /* 26462306a36Sopenharmony_ci * MPP Bus: 26562306a36Sopenharmony_ci * [0-31] = 0xff: Keep default CP0_shared_pins: 26662306a36Sopenharmony_ci * [11] CLKOUT_MPP_11 (out) 26762306a36Sopenharmony_ci * [23] LINK_RD_IN_CP2CP (in) 26862306a36Sopenharmony_ci * [25] CLKOUT_MPP_25 (out) 26962306a36Sopenharmony_ci * [29] AVS_FB_IN_CP2CP (in) 27062306a36Sopenharmony_ci * [32, 33, 34] pci0/1/2 reset 27162306a36Sopenharmony_ci * [35-38] CP0 I2C1 and I2C0 27262306a36Sopenharmony_ci * [39] GPIO reset button 27362306a36Sopenharmony_ci * [40,41] LED0 and LED1 27462306a36Sopenharmony_ci * [43] 1512 phy reset 27562306a36Sopenharmony_ci * [47] USB VBUS EN (active low) 27662306a36Sopenharmony_ci * [48] FAN PWM 27762306a36Sopenharmony_ci * [49] SFP+ present signal 27862306a36Sopenharmony_ci * [50] TPM interrupt 27962306a36Sopenharmony_ci * [51] WLAN0 disable 28062306a36Sopenharmony_ci * [52] WLAN1 disable 28162306a36Sopenharmony_ci * [53] LTE disable 28262306a36Sopenharmony_ci * [54] NFC reset 28362306a36Sopenharmony_ci * [55] Micro SD card detect 28462306a36Sopenharmony_ci * [56-61] Micro SD 28562306a36Sopenharmony_ci */ 28662306a36Sopenharmony_ci 28762306a36Sopenharmony_ci cp0_pci0_reset_pins: pci0-reset-pins { 28862306a36Sopenharmony_ci marvell,pins = "mpp32"; 28962306a36Sopenharmony_ci marvell,function = "gpio"; 29062306a36Sopenharmony_ci }; 29162306a36Sopenharmony_ci 29262306a36Sopenharmony_ci cp0_pci1_reset_pins: pci1-reset-pins { 29362306a36Sopenharmony_ci marvell,pins = "mpp33"; 29462306a36Sopenharmony_ci marvell,function = "gpio"; 29562306a36Sopenharmony_ci }; 29662306a36Sopenharmony_ci 29762306a36Sopenharmony_ci cp0_pci2_reset_pins: pci2-reset-pins { 29862306a36Sopenharmony_ci marvell,pins = "mpp34"; 29962306a36Sopenharmony_ci marvell,function = "gpio"; 30062306a36Sopenharmony_ci }; 30162306a36Sopenharmony_ci 30262306a36Sopenharmony_ci cp0_i2c1_pins: i2c1-pins { 30362306a36Sopenharmony_ci marvell,pins = "mpp35", "mpp36"; 30462306a36Sopenharmony_ci marvell,function = "i2c1"; 30562306a36Sopenharmony_ci }; 30662306a36Sopenharmony_ci 30762306a36Sopenharmony_ci cp0_i2c0_pins: i2c0-pins { 30862306a36Sopenharmony_ci marvell,pins = "mpp37", "mpp38"; 30962306a36Sopenharmony_ci marvell,function = "i2c0"; 31062306a36Sopenharmony_ci }; 31162306a36Sopenharmony_ci 31262306a36Sopenharmony_ci cp0_gpio_reset_pins: gpio-reset-pins { 31362306a36Sopenharmony_ci marvell,pins = "mpp39"; 31462306a36Sopenharmony_ci marvell,function = "gpio"; 31562306a36Sopenharmony_ci }; 31662306a36Sopenharmony_ci 31762306a36Sopenharmony_ci cp0_led0_pins: led0-pins { 31862306a36Sopenharmony_ci marvell,pins = "mpp40"; 31962306a36Sopenharmony_ci marvell,function = "gpio"; 32062306a36Sopenharmony_ci }; 32162306a36Sopenharmony_ci 32262306a36Sopenharmony_ci cp0_led1_pins: led1-pins { 32362306a36Sopenharmony_ci marvell,pins = "mpp41"; 32462306a36Sopenharmony_ci marvell,function = "gpio"; 32562306a36Sopenharmony_ci }; 32662306a36Sopenharmony_ci 32762306a36Sopenharmony_ci cp0_copper_eth_phy_reset: copper-eth-phy-reset { 32862306a36Sopenharmony_ci marvell,pins = "mpp43"; 32962306a36Sopenharmony_ci marvell,function = "gpio"; 33062306a36Sopenharmony_ci }; 33162306a36Sopenharmony_ci 33262306a36Sopenharmony_ci cp0_xhci_vbus_pins: xhci0-vbus-pins { 33362306a36Sopenharmony_ci marvell,pins = "mpp47"; 33462306a36Sopenharmony_ci marvell,function = "gpio"; 33562306a36Sopenharmony_ci }; 33662306a36Sopenharmony_ci 33762306a36Sopenharmony_ci cp0_fan_pwm_pins: fan-pwm-pins { 33862306a36Sopenharmony_ci marvell,pins = "mpp48"; 33962306a36Sopenharmony_ci marvell,function = "gpio"; 34062306a36Sopenharmony_ci }; 34162306a36Sopenharmony_ci 34262306a36Sopenharmony_ci cp0_sfp_present_pins: sfp-present-pins { 34362306a36Sopenharmony_ci marvell,pins = "mpp49"; 34462306a36Sopenharmony_ci marvell,function = "gpio"; 34562306a36Sopenharmony_ci }; 34662306a36Sopenharmony_ci 34762306a36Sopenharmony_ci cp0_tpm_irq_pins: tpm-irq-pins { 34862306a36Sopenharmony_ci marvell,pins = "mpp50"; 34962306a36Sopenharmony_ci marvell,function = "gpio"; 35062306a36Sopenharmony_ci }; 35162306a36Sopenharmony_ci 35262306a36Sopenharmony_ci cp0_wlan_disable_pins: wlan-disable-pins { 35362306a36Sopenharmony_ci marvell,pins = "mpp51"; 35462306a36Sopenharmony_ci marvell,function = "gpio"; 35562306a36Sopenharmony_ci }; 35662306a36Sopenharmony_ci 35762306a36Sopenharmony_ci cp0_sdhci_pins: sdhci-pins { 35862306a36Sopenharmony_ci marvell,pins = "mpp55", "mpp56", "mpp57", "mpp58", "mpp59", 35962306a36Sopenharmony_ci "mpp60", "mpp61"; 36062306a36Sopenharmony_ci marvell,function = "sdio"; 36162306a36Sopenharmony_ci }; 36262306a36Sopenharmony_ci}; 36362306a36Sopenharmony_ci 36462306a36Sopenharmony_ci&cp0_pcie0 { 36562306a36Sopenharmony_ci pinctrl-names = "default"; 36662306a36Sopenharmony_ci pinctrl-0 = <&cp0_pci0_reset_pins &cp0_wlan_disable_pins>; 36762306a36Sopenharmony_ci reset-gpios = <&cp0_gpio2 0 GPIO_ACTIVE_LOW>; 36862306a36Sopenharmony_ci phys = <&cp0_comphy0 0>; 36962306a36Sopenharmony_ci phy-names = "cp0-pcie0-x1-phy"; 37062306a36Sopenharmony_ci status = "okay"; 37162306a36Sopenharmony_ci}; 37262306a36Sopenharmony_ci 37362306a36Sopenharmony_ci&cp0_gpio2 { 37462306a36Sopenharmony_ci sata_reset { 37562306a36Sopenharmony_ci gpio-hog; 37662306a36Sopenharmony_ci gpios = <1 GPIO_ACTIVE_HIGH>; 37762306a36Sopenharmony_ci output-high; 37862306a36Sopenharmony_ci }; 37962306a36Sopenharmony_ci 38062306a36Sopenharmony_ci lte_reset { 38162306a36Sopenharmony_ci gpio-hog; 38262306a36Sopenharmony_ci gpios = <2 GPIO_ACTIVE_LOW>; 38362306a36Sopenharmony_ci output-low; 38462306a36Sopenharmony_ci }; 38562306a36Sopenharmony_ci 38662306a36Sopenharmony_ci wlan_disable { 38762306a36Sopenharmony_ci gpio-hog; 38862306a36Sopenharmony_ci gpios = <19 GPIO_ACTIVE_LOW>; 38962306a36Sopenharmony_ci output-low; 39062306a36Sopenharmony_ci }; 39162306a36Sopenharmony_ci 39262306a36Sopenharmony_ci lte_disable { 39362306a36Sopenharmony_ci gpio-hog; 39462306a36Sopenharmony_ci gpios = <21 GPIO_ACTIVE_LOW>; 39562306a36Sopenharmony_ci output-low; 39662306a36Sopenharmony_ci }; 39762306a36Sopenharmony_ci}; 39862306a36Sopenharmony_ci 39962306a36Sopenharmony_ci&cp0_ethernet { 40062306a36Sopenharmony_ci status = "okay"; 40162306a36Sopenharmony_ci}; 40262306a36Sopenharmony_ci 40362306a36Sopenharmony_ci/* SFP */ 40462306a36Sopenharmony_ci&cp0_eth0 { 40562306a36Sopenharmony_ci status = "okay"; 40662306a36Sopenharmony_ci phy-mode = "10gbase-r"; 40762306a36Sopenharmony_ci managed = "in-band-status"; 40862306a36Sopenharmony_ci phys = <&cp0_comphy2 0>; 40962306a36Sopenharmony_ci sfp = <&sfp_cp0_eth0>; 41062306a36Sopenharmony_ci}; 41162306a36Sopenharmony_ci 41262306a36Sopenharmony_ci&cp0_sdhci0 { 41362306a36Sopenharmony_ci broken-cd; 41462306a36Sopenharmony_ci bus-width = <4>; 41562306a36Sopenharmony_ci pinctrl-names = "default"; 41662306a36Sopenharmony_ci pinctrl-0 = <&cp0_sdhci_pins>; 41762306a36Sopenharmony_ci status = "okay"; 41862306a36Sopenharmony_ci vqmmc-supply = <&v_3_3>; 41962306a36Sopenharmony_ci}; 42062306a36Sopenharmony_ci 42162306a36Sopenharmony_ci&cp0_usb3_1 { 42262306a36Sopenharmony_ci status = "okay"; 42362306a36Sopenharmony_ci}; 42462306a36Sopenharmony_ci 42562306a36Sopenharmony_ci&cp1_pinctrl { 42662306a36Sopenharmony_ci /* 42762306a36Sopenharmony_ci * MPP Bus: 42862306a36Sopenharmony_ci * [0-5] TDM 42962306a36Sopenharmony_ci * [6] VHV Enable 43062306a36Sopenharmony_ci * [7] CP1 SPI0 CSn1 (FXS) 43162306a36Sopenharmony_ci * [8] CP1 SPI0 CSn0 (TPM) 43262306a36Sopenharmony_ci * [9.11]CP1 SPI0 MOSI/MISO/CLK 43362306a36Sopenharmony_ci * [13] CP1 SPI1 MISO (TDM and SPI ROM shared) 43462306a36Sopenharmony_ci * [14] CP1 SPI1 CS0n (64Mb SPI ROM) 43562306a36Sopenharmony_ci * [15] CP1 SPI1 MOSI (TDM and SPI ROM shared) 43662306a36Sopenharmony_ci * [16] CP1 SPI1 CLK (TDM and SPI ROM shared) 43762306a36Sopenharmony_ci * [24] Topaz switch reset 43862306a36Sopenharmony_ci * [26] Buzzer 43962306a36Sopenharmony_ci * [27] CP1 SMI MDIO 44062306a36Sopenharmony_ci * [28] CP1 SMI MDC 44162306a36Sopenharmony_ci * [29] CP0 10G SFP TX Disable 44262306a36Sopenharmony_ci * [30] WPS button 44362306a36Sopenharmony_ci * [31] Front panel button 44462306a36Sopenharmony_ci */ 44562306a36Sopenharmony_ci 44662306a36Sopenharmony_ci cp1_spi1_pins: spi1-pins { 44762306a36Sopenharmony_ci marvell,pins = "mpp13", "mpp14", "mpp15", "mpp16"; 44862306a36Sopenharmony_ci marvell,function = "spi1"; 44962306a36Sopenharmony_ci }; 45062306a36Sopenharmony_ci 45162306a36Sopenharmony_ci cp1_switch_reset_pins: switch-reset-pins { 45262306a36Sopenharmony_ci marvell,pins = "mpp24"; 45362306a36Sopenharmony_ci marvell,function = "gpio"; 45462306a36Sopenharmony_ci }; 45562306a36Sopenharmony_ci 45662306a36Sopenharmony_ci cp1_ge_mdio_pins: ge-mdio-pins { 45762306a36Sopenharmony_ci marvell,pins = "mpp27", "mpp28"; 45862306a36Sopenharmony_ci marvell,function = "ge"; 45962306a36Sopenharmony_ci }; 46062306a36Sopenharmony_ci 46162306a36Sopenharmony_ci cp1_sfp_tx_disable_pins: sfp-tx-disable-pins { 46262306a36Sopenharmony_ci marvell,pins = "mpp29"; 46362306a36Sopenharmony_ci marvell,function = "gpio"; 46462306a36Sopenharmony_ci }; 46562306a36Sopenharmony_ci 46662306a36Sopenharmony_ci cp1_wps_button_pins: wps-button-pins { 46762306a36Sopenharmony_ci marvell,pins = "mpp30"; 46862306a36Sopenharmony_ci marvell,function = "gpio"; 46962306a36Sopenharmony_ci }; 47062306a36Sopenharmony_ci}; 47162306a36Sopenharmony_ci 47262306a36Sopenharmony_ci&cp1_sata0 { 47362306a36Sopenharmony_ci pinctrl-0 = <&cp0_pci1_reset_pins>; 47462306a36Sopenharmony_ci status = "okay"; 47562306a36Sopenharmony_ci 47662306a36Sopenharmony_ci sata-port@1 { 47762306a36Sopenharmony_ci phys = <&cp1_comphy0 1>; 47862306a36Sopenharmony_ci phy-names = "cp1-sata0-1-phy"; 47962306a36Sopenharmony_ci }; 48062306a36Sopenharmony_ci}; 48162306a36Sopenharmony_ci 48262306a36Sopenharmony_ci&cp1_mdio { 48362306a36Sopenharmony_ci pinctrl-names = "default"; 48462306a36Sopenharmony_ci pinctrl-0 = <&cp1_ge_mdio_pins>; 48562306a36Sopenharmony_ci status = "okay"; 48662306a36Sopenharmony_ci 48762306a36Sopenharmony_ci ge_phy: ethernet-phy@0 { 48862306a36Sopenharmony_ci /* LED0 - GB link 48962306a36Sopenharmony_ci * LED1 - on: link, blink: activity 49062306a36Sopenharmony_ci */ 49162306a36Sopenharmony_ci marvell,reg-init = <3 16 0 0x1017>; 49262306a36Sopenharmony_ci reg = <0>; 49362306a36Sopenharmony_ci pinctrl-names = "default"; 49462306a36Sopenharmony_ci pinctrl-0 = <&cp0_copper_eth_phy_reset>; 49562306a36Sopenharmony_ci reset-gpios = <&cp0_gpio2 11 GPIO_ACTIVE_LOW>; 49662306a36Sopenharmony_ci reset-assert-us = <10000>; 49762306a36Sopenharmony_ci reset-deassert-us = <10000>; 49862306a36Sopenharmony_ci }; 49962306a36Sopenharmony_ci 50062306a36Sopenharmony_ci switch0: switch0@4 { 50162306a36Sopenharmony_ci compatible = "marvell,mv88e6085"; 50262306a36Sopenharmony_ci reg = <4>; 50362306a36Sopenharmony_ci pinctrl-names = "default"; 50462306a36Sopenharmony_ci pinctrl-0 = <&cp1_switch_reset_pins>; 50562306a36Sopenharmony_ci reset-gpios = <&cp1_gpio1 24 GPIO_ACTIVE_LOW>; 50662306a36Sopenharmony_ci 50762306a36Sopenharmony_ci ports { 50862306a36Sopenharmony_ci #address-cells = <1>; 50962306a36Sopenharmony_ci #size-cells = <0>; 51062306a36Sopenharmony_ci 51162306a36Sopenharmony_ci port@1 { 51262306a36Sopenharmony_ci reg = <1>; 51362306a36Sopenharmony_ci label = "lan2"; 51462306a36Sopenharmony_ci phy-handle = <&switch0phy0>; 51562306a36Sopenharmony_ci }; 51662306a36Sopenharmony_ci 51762306a36Sopenharmony_ci port@2 { 51862306a36Sopenharmony_ci reg = <2>; 51962306a36Sopenharmony_ci label = "lan1"; 52062306a36Sopenharmony_ci phy-handle = <&switch0phy1>; 52162306a36Sopenharmony_ci }; 52262306a36Sopenharmony_ci 52362306a36Sopenharmony_ci port@3 { 52462306a36Sopenharmony_ci reg = <3>; 52562306a36Sopenharmony_ci label = "lan4"; 52662306a36Sopenharmony_ci phy-handle = <&switch0phy2>; 52762306a36Sopenharmony_ci }; 52862306a36Sopenharmony_ci 52962306a36Sopenharmony_ci port@4 { 53062306a36Sopenharmony_ci reg = <4>; 53162306a36Sopenharmony_ci label = "lan3"; 53262306a36Sopenharmony_ci phy-handle = <&switch0phy3>; 53362306a36Sopenharmony_ci }; 53462306a36Sopenharmony_ci 53562306a36Sopenharmony_ci port@5 { 53662306a36Sopenharmony_ci reg = <5>; 53762306a36Sopenharmony_ci label = "cpu"; 53862306a36Sopenharmony_ci ethernet = <&cp1_eth2>; 53962306a36Sopenharmony_ci phy-mode = "2500base-x"; 54062306a36Sopenharmony_ci managed = "in-band-status"; 54162306a36Sopenharmony_ci }; 54262306a36Sopenharmony_ci }; 54362306a36Sopenharmony_ci 54462306a36Sopenharmony_ci mdio { 54562306a36Sopenharmony_ci #address-cells = <1>; 54662306a36Sopenharmony_ci #size-cells = <0>; 54762306a36Sopenharmony_ci 54862306a36Sopenharmony_ci switch0phy0: switch0phy0@11 { 54962306a36Sopenharmony_ci reg = <0x11>; 55062306a36Sopenharmony_ci }; 55162306a36Sopenharmony_ci 55262306a36Sopenharmony_ci switch0phy1: switch0phy1@12 { 55362306a36Sopenharmony_ci reg = <0x12>; 55462306a36Sopenharmony_ci }; 55562306a36Sopenharmony_ci 55662306a36Sopenharmony_ci switch0phy2: switch0phy2@13 { 55762306a36Sopenharmony_ci reg = <0x13>; 55862306a36Sopenharmony_ci }; 55962306a36Sopenharmony_ci 56062306a36Sopenharmony_ci switch0phy3: switch0phy3@14 { 56162306a36Sopenharmony_ci reg = <0x14>; 56262306a36Sopenharmony_ci }; 56362306a36Sopenharmony_ci }; 56462306a36Sopenharmony_ci }; 56562306a36Sopenharmony_ci}; 56662306a36Sopenharmony_ci 56762306a36Sopenharmony_ci&cp1_ethernet { 56862306a36Sopenharmony_ci status = "okay"; 56962306a36Sopenharmony_ci}; 57062306a36Sopenharmony_ci 57162306a36Sopenharmony_ci/* 1G copper */ 57262306a36Sopenharmony_ci&cp1_eth1 { 57362306a36Sopenharmony_ci status = "okay"; 57462306a36Sopenharmony_ci phy-mode = "sgmii"; 57562306a36Sopenharmony_ci phy = <&ge_phy>; 57662306a36Sopenharmony_ci phys = <&cp1_comphy3 1>; 57762306a36Sopenharmony_ci}; 57862306a36Sopenharmony_ci 57962306a36Sopenharmony_ci/* Switch uplink */ 58062306a36Sopenharmony_ci&cp1_eth2 { 58162306a36Sopenharmony_ci status = "okay"; 58262306a36Sopenharmony_ci phy-mode = "2500base-x"; 58362306a36Sopenharmony_ci phys = <&cp1_comphy5 2>; 58462306a36Sopenharmony_ci managed = "in-band-status"; 58562306a36Sopenharmony_ci}; 58662306a36Sopenharmony_ci 58762306a36Sopenharmony_ci&cp1_spi1 { 58862306a36Sopenharmony_ci pinctrl-names = "default"; 58962306a36Sopenharmony_ci pinctrl-0 = <&cp1_spi1_pins>; 59062306a36Sopenharmony_ci status = "okay"; 59162306a36Sopenharmony_ci 59262306a36Sopenharmony_ci flash@0 { 59362306a36Sopenharmony_ci compatible = "st,w25q32"; 59462306a36Sopenharmony_ci spi-max-frequency = <50000000>; 59562306a36Sopenharmony_ci reg = <0>; 59662306a36Sopenharmony_ci }; 59762306a36Sopenharmony_ci}; 59862306a36Sopenharmony_ci 59962306a36Sopenharmony_ci&cp1_comphy2 { 60062306a36Sopenharmony_ci cp1_usbh0_con: connector { 60162306a36Sopenharmony_ci compatible = "usb-a-connector"; 60262306a36Sopenharmony_ci phy-supply = <&v_5v0_usb3_hst_vbus>; 60362306a36Sopenharmony_ci }; 60462306a36Sopenharmony_ci}; 60562306a36Sopenharmony_ci 60662306a36Sopenharmony_ci&cp1_usb3_0 { 60762306a36Sopenharmony_ci phys = <&cp1_comphy2 0>; 60862306a36Sopenharmony_ci phy-names = "cp1-usb3h0-comphy"; 60962306a36Sopenharmony_ci status = "okay"; 61062306a36Sopenharmony_ci}; 611