18c2ecf20Sopenharmony_ci// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
28c2ecf20Sopenharmony_ci/*
38c2ecf20Sopenharmony_ci * Copyright (C) 2018 SolidRun ltd.
48c2ecf20Sopenharmony_ci * Based on Marvell MACCHIATOBin board
58c2ecf20Sopenharmony_ci *
68c2ecf20Sopenharmony_ci * Device Tree file for SolidRun's ClearFog GT 8K
78c2ecf20Sopenharmony_ci */
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_ci#include "armada-8040.dtsi"
108c2ecf20Sopenharmony_ci
118c2ecf20Sopenharmony_ci#include <dt-bindings/input/input.h>
128c2ecf20Sopenharmony_ci#include <dt-bindings/gpio/gpio.h>
138c2ecf20Sopenharmony_ci
148c2ecf20Sopenharmony_ci/ {
158c2ecf20Sopenharmony_ci	model = "SolidRun ClearFog GT 8K";
168c2ecf20Sopenharmony_ci	compatible = "solidrun,clearfog-gt-8k", "marvell,armada8040",
178c2ecf20Sopenharmony_ci			"marvell,armada-ap806-quad", "marvell,armada-ap806";
188c2ecf20Sopenharmony_ci
198c2ecf20Sopenharmony_ci	chosen {
208c2ecf20Sopenharmony_ci		stdout-path = "serial0:115200n8";
218c2ecf20Sopenharmony_ci	};
228c2ecf20Sopenharmony_ci
238c2ecf20Sopenharmony_ci	memory@00000000 {
248c2ecf20Sopenharmony_ci		device_type = "memory";
258c2ecf20Sopenharmony_ci		reg = <0x0 0x0 0x0 0x80000000>;
268c2ecf20Sopenharmony_ci	};
278c2ecf20Sopenharmony_ci
288c2ecf20Sopenharmony_ci	aliases {
298c2ecf20Sopenharmony_ci		ethernet0 = &cp1_eth1;
308c2ecf20Sopenharmony_ci		ethernet1 = &cp0_eth0;
318c2ecf20Sopenharmony_ci		ethernet2 = &cp1_eth2;
328c2ecf20Sopenharmony_ci	};
338c2ecf20Sopenharmony_ci
348c2ecf20Sopenharmony_ci	v_3_3: regulator-3-3v {
358c2ecf20Sopenharmony_ci		compatible = "regulator-fixed";
368c2ecf20Sopenharmony_ci		regulator-name = "v_3_3";
378c2ecf20Sopenharmony_ci		regulator-min-microvolt = <3300000>;
388c2ecf20Sopenharmony_ci		regulator-max-microvolt = <3300000>;
398c2ecf20Sopenharmony_ci		regulator-always-on;
408c2ecf20Sopenharmony_ci		status = "okay";
418c2ecf20Sopenharmony_ci	};
428c2ecf20Sopenharmony_ci
438c2ecf20Sopenharmony_ci	v_5v0_usb3_hst_vbus: regulator-usb3-vbus0 {
448c2ecf20Sopenharmony_ci		compatible = "regulator-fixed";
458c2ecf20Sopenharmony_ci		gpio = <&cp0_gpio2 15 GPIO_ACTIVE_LOW>;
468c2ecf20Sopenharmony_ci		pinctrl-names = "default";
478c2ecf20Sopenharmony_ci		pinctrl-0 = <&cp0_xhci_vbus_pins>;
488c2ecf20Sopenharmony_ci		regulator-name = "v_5v0_usb3_hst_vbus";
498c2ecf20Sopenharmony_ci		regulator-min-microvolt = <5000000>;
508c2ecf20Sopenharmony_ci		regulator-max-microvolt = <5000000>;
518c2ecf20Sopenharmony_ci		status = "okay";
528c2ecf20Sopenharmony_ci	};
538c2ecf20Sopenharmony_ci
548c2ecf20Sopenharmony_ci	sfp_cp0_eth0: sfp-cp0-eth0 {
558c2ecf20Sopenharmony_ci		compatible = "sff,sfp";
568c2ecf20Sopenharmony_ci		i2c-bus = <&cp0_i2c1>;
578c2ecf20Sopenharmony_ci		mod-def0-gpio = <&cp0_gpio2 17 GPIO_ACTIVE_LOW>;
588c2ecf20Sopenharmony_ci		tx-disable-gpio = <&cp1_gpio1 29 GPIO_ACTIVE_HIGH>;
598c2ecf20Sopenharmony_ci		pinctrl-names = "default";
608c2ecf20Sopenharmony_ci		pinctrl-0 = <&cp0_sfp_present_pins &cp1_sfp_tx_disable_pins>;
618c2ecf20Sopenharmony_ci		maximum-power-milliwatt = <2000>;
628c2ecf20Sopenharmony_ci	};
638c2ecf20Sopenharmony_ci
648c2ecf20Sopenharmony_ci	leds {
658c2ecf20Sopenharmony_ci		compatible = "gpio-leds";
668c2ecf20Sopenharmony_ci		pinctrl-0 = <&cp0_led0_pins
678c2ecf20Sopenharmony_ci			     &cp0_led1_pins>;
688c2ecf20Sopenharmony_ci		pinctrl-names = "default";
698c2ecf20Sopenharmony_ci		/* No designated function for these LEDs at the moment */
708c2ecf20Sopenharmony_ci		led0 {
718c2ecf20Sopenharmony_ci			label = "clearfog-gt-8k:green:led0";
728c2ecf20Sopenharmony_ci			gpios = <&cp0_gpio2 8 GPIO_ACTIVE_LOW>;
738c2ecf20Sopenharmony_ci			default-state = "on";
748c2ecf20Sopenharmony_ci		};
758c2ecf20Sopenharmony_ci		led1 {
768c2ecf20Sopenharmony_ci			label = "clearfog-gt-8k:green:led1";
778c2ecf20Sopenharmony_ci			gpios = <&cp0_gpio2 9 GPIO_ACTIVE_LOW>;
788c2ecf20Sopenharmony_ci			default-state = "on";
798c2ecf20Sopenharmony_ci		};
808c2ecf20Sopenharmony_ci	};
818c2ecf20Sopenharmony_ci
828c2ecf20Sopenharmony_ci	keys {
838c2ecf20Sopenharmony_ci		compatible = "gpio-keys";
848c2ecf20Sopenharmony_ci		pinctrl-0 = <&cp0_gpio_reset_pins &cp1_wps_button_pins>;
858c2ecf20Sopenharmony_ci		pinctrl-names = "default";
868c2ecf20Sopenharmony_ci
878c2ecf20Sopenharmony_ci		button_0 {
888c2ecf20Sopenharmony_ci			/* The rear button */
898c2ecf20Sopenharmony_ci			label = "Rear Button";
908c2ecf20Sopenharmony_ci			gpios = <&cp0_gpio2 7 GPIO_ACTIVE_LOW>;
918c2ecf20Sopenharmony_ci			linux,can-disable;
928c2ecf20Sopenharmony_ci			linux,code = <BTN_0>;
938c2ecf20Sopenharmony_ci		};
948c2ecf20Sopenharmony_ci
958c2ecf20Sopenharmony_ci		button_1 {
968c2ecf20Sopenharmony_ci			/* The wps button */
978c2ecf20Sopenharmony_ci			label = "WPS Button";
988c2ecf20Sopenharmony_ci			gpios = <&cp1_gpio1 30 GPIO_ACTIVE_LOW>;
998c2ecf20Sopenharmony_ci			linux,can-disable;
1008c2ecf20Sopenharmony_ci			linux,code = <KEY_WPS_BUTTON>;
1018c2ecf20Sopenharmony_ci		};
1028c2ecf20Sopenharmony_ci	};
1038c2ecf20Sopenharmony_ci};
1048c2ecf20Sopenharmony_ci
1058c2ecf20Sopenharmony_ci&uart0 {
1068c2ecf20Sopenharmony_ci	status = "okay";
1078c2ecf20Sopenharmony_ci	pinctrl-0 = <&uart0_pins>;
1088c2ecf20Sopenharmony_ci	pinctrl-names = "default";
1098c2ecf20Sopenharmony_ci};
1108c2ecf20Sopenharmony_ci
1118c2ecf20Sopenharmony_ci&ap_sdhci0 {
1128c2ecf20Sopenharmony_ci	bus-width = <8>;
1138c2ecf20Sopenharmony_ci	no-1-8-v;
1148c2ecf20Sopenharmony_ci	no-sd;
1158c2ecf20Sopenharmony_ci	no-sdio;
1168c2ecf20Sopenharmony_ci	non-removable;
1178c2ecf20Sopenharmony_ci	status = "okay";
1188c2ecf20Sopenharmony_ci	vqmmc-supply = <&v_3_3>;
1198c2ecf20Sopenharmony_ci};
1208c2ecf20Sopenharmony_ci
1218c2ecf20Sopenharmony_ci&cp0_i2c0 {
1228c2ecf20Sopenharmony_ci	clock-frequency = <100000>;
1238c2ecf20Sopenharmony_ci	pinctrl-names = "default";
1248c2ecf20Sopenharmony_ci	pinctrl-0 = <&cp0_i2c0_pins>;
1258c2ecf20Sopenharmony_ci	status = "okay";
1268c2ecf20Sopenharmony_ci};
1278c2ecf20Sopenharmony_ci
1288c2ecf20Sopenharmony_ci&cp0_i2c1 {
1298c2ecf20Sopenharmony_ci	clock-frequency = <100000>;
1308c2ecf20Sopenharmony_ci	pinctrl-names = "default";
1318c2ecf20Sopenharmony_ci	pinctrl-0 = <&cp0_i2c1_pins>;
1328c2ecf20Sopenharmony_ci	status = "okay";
1338c2ecf20Sopenharmony_ci};
1348c2ecf20Sopenharmony_ci
1358c2ecf20Sopenharmony_ci&cp0_pinctrl {
1368c2ecf20Sopenharmony_ci	/*
1378c2ecf20Sopenharmony_ci	 * MPP Bus:
1388c2ecf20Sopenharmony_ci	 * [0-31] = 0xff: Keep default CP0_shared_pins:
1398c2ecf20Sopenharmony_ci	 * [11] CLKOUT_MPP_11 (out)
1408c2ecf20Sopenharmony_ci	 * [23] LINK_RD_IN_CP2CP (in)
1418c2ecf20Sopenharmony_ci	 * [25] CLKOUT_MPP_25 (out)
1428c2ecf20Sopenharmony_ci	 * [29] AVS_FB_IN_CP2CP (in)
1438c2ecf20Sopenharmony_ci	 * [32, 33, 34] pci0/1/2 reset
1448c2ecf20Sopenharmony_ci	 * [35-38] CP0 I2C1 and I2C0
1458c2ecf20Sopenharmony_ci	 * [39] GPIO reset button
1468c2ecf20Sopenharmony_ci	 * [40,41] LED0 and LED1
1478c2ecf20Sopenharmony_ci	 * [43] 1512 phy reset
1488c2ecf20Sopenharmony_ci	 * [47] USB VBUS EN (active low)
1498c2ecf20Sopenharmony_ci	 * [48] FAN PWM
1508c2ecf20Sopenharmony_ci	 * [49] SFP+ present signal
1518c2ecf20Sopenharmony_ci	 * [50] TPM interrupt
1528c2ecf20Sopenharmony_ci	 * [51] WLAN0 disable
1538c2ecf20Sopenharmony_ci	 * [52] WLAN1 disable
1548c2ecf20Sopenharmony_ci	 * [53] LTE disable
1558c2ecf20Sopenharmony_ci	 * [54] NFC reset
1568c2ecf20Sopenharmony_ci	 * [55] Micro SD card detect
1578c2ecf20Sopenharmony_ci	 * [56-61] Micro SD
1588c2ecf20Sopenharmony_ci	 */
1598c2ecf20Sopenharmony_ci
1608c2ecf20Sopenharmony_ci	cp0_pci0_reset_pins: pci0-reset-pins {
1618c2ecf20Sopenharmony_ci		marvell,pins = "mpp32";
1628c2ecf20Sopenharmony_ci		marvell,function = "gpio";
1638c2ecf20Sopenharmony_ci	};
1648c2ecf20Sopenharmony_ci
1658c2ecf20Sopenharmony_ci	cp0_pci1_reset_pins: pci1-reset-pins {
1668c2ecf20Sopenharmony_ci		marvell,pins = "mpp33";
1678c2ecf20Sopenharmony_ci		marvell,function = "gpio";
1688c2ecf20Sopenharmony_ci	};
1698c2ecf20Sopenharmony_ci
1708c2ecf20Sopenharmony_ci	cp0_pci2_reset_pins: pci2-reset-pins {
1718c2ecf20Sopenharmony_ci		marvell,pins = "mpp34";
1728c2ecf20Sopenharmony_ci		marvell,function = "gpio";
1738c2ecf20Sopenharmony_ci	};
1748c2ecf20Sopenharmony_ci
1758c2ecf20Sopenharmony_ci	cp0_i2c1_pins: i2c1-pins {
1768c2ecf20Sopenharmony_ci		marvell,pins = "mpp35", "mpp36";
1778c2ecf20Sopenharmony_ci		marvell,function = "i2c1";
1788c2ecf20Sopenharmony_ci	};
1798c2ecf20Sopenharmony_ci
1808c2ecf20Sopenharmony_ci	cp0_i2c0_pins: i2c0-pins {
1818c2ecf20Sopenharmony_ci		marvell,pins = "mpp37", "mpp38";
1828c2ecf20Sopenharmony_ci		marvell,function = "i2c0";
1838c2ecf20Sopenharmony_ci	};
1848c2ecf20Sopenharmony_ci
1858c2ecf20Sopenharmony_ci	cp0_gpio_reset_pins: gpio-reset-pins {
1868c2ecf20Sopenharmony_ci		marvell,pins = "mpp39";
1878c2ecf20Sopenharmony_ci		marvell,function = "gpio";
1888c2ecf20Sopenharmony_ci	};
1898c2ecf20Sopenharmony_ci
1908c2ecf20Sopenharmony_ci	cp0_led0_pins: led0-pins {
1918c2ecf20Sopenharmony_ci		marvell,pins = "mpp40";
1928c2ecf20Sopenharmony_ci		marvell,function = "gpio";
1938c2ecf20Sopenharmony_ci	};
1948c2ecf20Sopenharmony_ci
1958c2ecf20Sopenharmony_ci	cp0_led1_pins: led1-pins {
1968c2ecf20Sopenharmony_ci		marvell,pins = "mpp41";
1978c2ecf20Sopenharmony_ci		marvell,function = "gpio";
1988c2ecf20Sopenharmony_ci	};
1998c2ecf20Sopenharmony_ci
2008c2ecf20Sopenharmony_ci	cp0_copper_eth_phy_reset: copper-eth-phy-reset {
2018c2ecf20Sopenharmony_ci		marvell,pins = "mpp43";
2028c2ecf20Sopenharmony_ci		marvell,function = "gpio";
2038c2ecf20Sopenharmony_ci	};
2048c2ecf20Sopenharmony_ci
2058c2ecf20Sopenharmony_ci	cp0_xhci_vbus_pins: xhci0-vbus-pins {
2068c2ecf20Sopenharmony_ci		marvell,pins = "mpp47";
2078c2ecf20Sopenharmony_ci		marvell,function = "gpio";
2088c2ecf20Sopenharmony_ci	};
2098c2ecf20Sopenharmony_ci
2108c2ecf20Sopenharmony_ci	cp0_fan_pwm_pins: fan-pwm-pins {
2118c2ecf20Sopenharmony_ci		marvell,pins = "mpp48";
2128c2ecf20Sopenharmony_ci		marvell,function = "gpio";
2138c2ecf20Sopenharmony_ci	};
2148c2ecf20Sopenharmony_ci
2158c2ecf20Sopenharmony_ci	cp0_sfp_present_pins: sfp-present-pins {
2168c2ecf20Sopenharmony_ci		marvell,pins = "mpp49";
2178c2ecf20Sopenharmony_ci		marvell,function = "gpio";
2188c2ecf20Sopenharmony_ci	};
2198c2ecf20Sopenharmony_ci
2208c2ecf20Sopenharmony_ci	cp0_tpm_irq_pins: tpm-irq-pins {
2218c2ecf20Sopenharmony_ci		marvell,pins = "mpp50";
2228c2ecf20Sopenharmony_ci		marvell,function = "gpio";
2238c2ecf20Sopenharmony_ci	};
2248c2ecf20Sopenharmony_ci
2258c2ecf20Sopenharmony_ci	cp0_wlan_disable_pins: wlan-disable-pins {
2268c2ecf20Sopenharmony_ci		marvell,pins = "mpp51";
2278c2ecf20Sopenharmony_ci		marvell,function = "gpio";
2288c2ecf20Sopenharmony_ci	};
2298c2ecf20Sopenharmony_ci
2308c2ecf20Sopenharmony_ci	cp0_sdhci_pins: sdhci-pins {
2318c2ecf20Sopenharmony_ci		marvell,pins = "mpp55", "mpp56", "mpp57", "mpp58", "mpp59",
2328c2ecf20Sopenharmony_ci			       "mpp60", "mpp61";
2338c2ecf20Sopenharmony_ci		marvell,function = "sdio";
2348c2ecf20Sopenharmony_ci	};
2358c2ecf20Sopenharmony_ci};
2368c2ecf20Sopenharmony_ci
2378c2ecf20Sopenharmony_ci&cp0_pcie0 {
2388c2ecf20Sopenharmony_ci	pinctrl-names = "default";
2398c2ecf20Sopenharmony_ci	pinctrl-0 = <&cp0_pci0_reset_pins &cp0_wlan_disable_pins>;
2408c2ecf20Sopenharmony_ci	reset-gpios = <&cp0_gpio2 0 GPIO_ACTIVE_LOW>;
2418c2ecf20Sopenharmony_ci	phys = <&cp0_comphy0 0>;
2428c2ecf20Sopenharmony_ci	phy-names = "cp0-pcie0-x1-phy";
2438c2ecf20Sopenharmony_ci	status = "okay";
2448c2ecf20Sopenharmony_ci};
2458c2ecf20Sopenharmony_ci
2468c2ecf20Sopenharmony_ci&cp0_gpio2 {
2478c2ecf20Sopenharmony_ci	sata_reset {
2488c2ecf20Sopenharmony_ci		gpio-hog;
2498c2ecf20Sopenharmony_ci		gpios = <1 GPIO_ACTIVE_HIGH>;
2508c2ecf20Sopenharmony_ci		output-high;
2518c2ecf20Sopenharmony_ci	};
2528c2ecf20Sopenharmony_ci
2538c2ecf20Sopenharmony_ci	lte_reset {
2548c2ecf20Sopenharmony_ci		gpio-hog;
2558c2ecf20Sopenharmony_ci		gpios = <2 GPIO_ACTIVE_LOW>;
2568c2ecf20Sopenharmony_ci		output-low;
2578c2ecf20Sopenharmony_ci	};
2588c2ecf20Sopenharmony_ci
2598c2ecf20Sopenharmony_ci	wlan_disable {
2608c2ecf20Sopenharmony_ci		gpio-hog;
2618c2ecf20Sopenharmony_ci		gpios = <19 GPIO_ACTIVE_LOW>;
2628c2ecf20Sopenharmony_ci		output-low;
2638c2ecf20Sopenharmony_ci	};
2648c2ecf20Sopenharmony_ci
2658c2ecf20Sopenharmony_ci	lte_disable {
2668c2ecf20Sopenharmony_ci		gpio-hog;
2678c2ecf20Sopenharmony_ci		gpios = <21 GPIO_ACTIVE_LOW>;
2688c2ecf20Sopenharmony_ci		output-low;
2698c2ecf20Sopenharmony_ci	};
2708c2ecf20Sopenharmony_ci};
2718c2ecf20Sopenharmony_ci
2728c2ecf20Sopenharmony_ci&cp0_ethernet {
2738c2ecf20Sopenharmony_ci	status = "okay";
2748c2ecf20Sopenharmony_ci};
2758c2ecf20Sopenharmony_ci
2768c2ecf20Sopenharmony_ci/* SFP */
2778c2ecf20Sopenharmony_ci&cp0_eth0 {
2788c2ecf20Sopenharmony_ci	status = "okay";
2798c2ecf20Sopenharmony_ci	phy-mode = "10gbase-r";
2808c2ecf20Sopenharmony_ci	managed = "in-band-status";
2818c2ecf20Sopenharmony_ci	phys = <&cp0_comphy2 0>;
2828c2ecf20Sopenharmony_ci	sfp = <&sfp_cp0_eth0>;
2838c2ecf20Sopenharmony_ci};
2848c2ecf20Sopenharmony_ci
2858c2ecf20Sopenharmony_ci&cp0_sdhci0 {
2868c2ecf20Sopenharmony_ci	broken-cd;
2878c2ecf20Sopenharmony_ci	bus-width = <4>;
2888c2ecf20Sopenharmony_ci	pinctrl-names = "default";
2898c2ecf20Sopenharmony_ci	pinctrl-0 = <&cp0_sdhci_pins>;
2908c2ecf20Sopenharmony_ci	status = "okay";
2918c2ecf20Sopenharmony_ci	vqmmc-supply = <&v_3_3>;
2928c2ecf20Sopenharmony_ci};
2938c2ecf20Sopenharmony_ci
2948c2ecf20Sopenharmony_ci&cp0_usb3_1 {
2958c2ecf20Sopenharmony_ci	status = "okay";
2968c2ecf20Sopenharmony_ci};
2978c2ecf20Sopenharmony_ci
2988c2ecf20Sopenharmony_ci&cp1_pinctrl {
2998c2ecf20Sopenharmony_ci	/*
3008c2ecf20Sopenharmony_ci	 * MPP Bus:
3018c2ecf20Sopenharmony_ci	 * [0-5] TDM
3028c2ecf20Sopenharmony_ci	 * [6]   VHV Enable
3038c2ecf20Sopenharmony_ci	 * [7]   CP1 SPI0 CSn1 (FXS)
3048c2ecf20Sopenharmony_ci	 * [8]   CP1 SPI0 CSn0 (TPM)
3058c2ecf20Sopenharmony_ci	 * [9.11]CP1 SPI0 MOSI/MISO/CLK
3068c2ecf20Sopenharmony_ci	 * [13]  CP1 SPI1 MISO (TDM and SPI ROM shared)
3078c2ecf20Sopenharmony_ci	 * [14]  CP1 SPI1 CS0n (64Mb SPI ROM)
3088c2ecf20Sopenharmony_ci	 * [15]  CP1 SPI1 MOSI (TDM and SPI ROM shared)
3098c2ecf20Sopenharmony_ci	 * [16]  CP1 SPI1 CLK (TDM and SPI ROM shared)
3108c2ecf20Sopenharmony_ci	 * [24]  Topaz switch reset
3118c2ecf20Sopenharmony_ci	 * [26]  Buzzer
3128c2ecf20Sopenharmony_ci	 * [27]  CP1 SMI MDIO
3138c2ecf20Sopenharmony_ci	 * [28]  CP1 SMI MDC
3148c2ecf20Sopenharmony_ci	 * [29]  CP0 10G SFP TX Disable
3158c2ecf20Sopenharmony_ci	 * [30]  WPS button
3168c2ecf20Sopenharmony_ci	 * [31]  Front panel button
3178c2ecf20Sopenharmony_ci	 */
3188c2ecf20Sopenharmony_ci
3198c2ecf20Sopenharmony_ci	cp1_spi1_pins: spi1-pins {
3208c2ecf20Sopenharmony_ci		marvell,pins = "mpp13", "mpp14", "mpp15", "mpp16";
3218c2ecf20Sopenharmony_ci		marvell,function = "spi1";
3228c2ecf20Sopenharmony_ci	};
3238c2ecf20Sopenharmony_ci
3248c2ecf20Sopenharmony_ci	cp1_switch_reset_pins: switch-reset-pins {
3258c2ecf20Sopenharmony_ci		marvell,pins = "mpp24";
3268c2ecf20Sopenharmony_ci		marvell,function = "gpio";
3278c2ecf20Sopenharmony_ci	};
3288c2ecf20Sopenharmony_ci
3298c2ecf20Sopenharmony_ci	cp1_ge_mdio_pins: ge-mdio-pins {
3308c2ecf20Sopenharmony_ci		marvell,pins = "mpp27", "mpp28";
3318c2ecf20Sopenharmony_ci		marvell,function = "ge";
3328c2ecf20Sopenharmony_ci	};
3338c2ecf20Sopenharmony_ci
3348c2ecf20Sopenharmony_ci	cp1_sfp_tx_disable_pins: sfp-tx-disable-pins {
3358c2ecf20Sopenharmony_ci		marvell,pins = "mpp29";
3368c2ecf20Sopenharmony_ci		marvell,function = "gpio";
3378c2ecf20Sopenharmony_ci	};
3388c2ecf20Sopenharmony_ci
3398c2ecf20Sopenharmony_ci	cp1_wps_button_pins: wps-button-pins {
3408c2ecf20Sopenharmony_ci		marvell,pins = "mpp30";
3418c2ecf20Sopenharmony_ci		marvell,function = "gpio";
3428c2ecf20Sopenharmony_ci	};
3438c2ecf20Sopenharmony_ci};
3448c2ecf20Sopenharmony_ci
3458c2ecf20Sopenharmony_ci&cp1_sata0 {
3468c2ecf20Sopenharmony_ci	pinctrl-0 = <&cp0_pci1_reset_pins>;
3478c2ecf20Sopenharmony_ci	status = "okay";
3488c2ecf20Sopenharmony_ci
3498c2ecf20Sopenharmony_ci	sata-port@1 {
3508c2ecf20Sopenharmony_ci		phys = <&cp1_comphy0 1>;
3518c2ecf20Sopenharmony_ci		phy-names = "cp1-sata0-1-phy";
3528c2ecf20Sopenharmony_ci	};
3538c2ecf20Sopenharmony_ci};
3548c2ecf20Sopenharmony_ci
3558c2ecf20Sopenharmony_ci&cp1_mdio {
3568c2ecf20Sopenharmony_ci	pinctrl-names = "default";
3578c2ecf20Sopenharmony_ci	pinctrl-0 = <&cp1_ge_mdio_pins>;
3588c2ecf20Sopenharmony_ci	status = "okay";
3598c2ecf20Sopenharmony_ci
3608c2ecf20Sopenharmony_ci	ge_phy: ethernet-phy@0 {
3618c2ecf20Sopenharmony_ci		/* LED0 - GB link
3628c2ecf20Sopenharmony_ci		 * LED1 - on: link, blink: activity
3638c2ecf20Sopenharmony_ci		 */
3648c2ecf20Sopenharmony_ci		marvell,reg-init = <3 16 0 0x1017>;
3658c2ecf20Sopenharmony_ci		reg = <0>;
3668c2ecf20Sopenharmony_ci		pinctrl-names = "default";
3678c2ecf20Sopenharmony_ci		pinctrl-0 = <&cp0_copper_eth_phy_reset>;
3688c2ecf20Sopenharmony_ci		reset-gpios = <&cp0_gpio2 11 GPIO_ACTIVE_LOW>;
3698c2ecf20Sopenharmony_ci		reset-assert-us = <10000>;
3708c2ecf20Sopenharmony_ci		reset-deassert-us = <10000>;
3718c2ecf20Sopenharmony_ci	};
3728c2ecf20Sopenharmony_ci
3738c2ecf20Sopenharmony_ci	switch0: switch0@4 {
3748c2ecf20Sopenharmony_ci		compatible = "marvell,mv88e6085";
3758c2ecf20Sopenharmony_ci		reg = <4>;
3768c2ecf20Sopenharmony_ci		pinctrl-names = "default";
3778c2ecf20Sopenharmony_ci		pinctrl-0 = <&cp1_switch_reset_pins>;
3788c2ecf20Sopenharmony_ci		reset-gpios = <&cp1_gpio1 24 GPIO_ACTIVE_LOW>;
3798c2ecf20Sopenharmony_ci
3808c2ecf20Sopenharmony_ci		ports {
3818c2ecf20Sopenharmony_ci			#address-cells = <1>;
3828c2ecf20Sopenharmony_ci			#size-cells = <0>;
3838c2ecf20Sopenharmony_ci
3848c2ecf20Sopenharmony_ci			port@1 {
3858c2ecf20Sopenharmony_ci				reg = <1>;
3868c2ecf20Sopenharmony_ci				label = "lan2";
3878c2ecf20Sopenharmony_ci				phy-handle = <&switch0phy0>;
3888c2ecf20Sopenharmony_ci			};
3898c2ecf20Sopenharmony_ci
3908c2ecf20Sopenharmony_ci			port@2 {
3918c2ecf20Sopenharmony_ci				reg = <2>;
3928c2ecf20Sopenharmony_ci				label = "lan1";
3938c2ecf20Sopenharmony_ci				phy-handle = <&switch0phy1>;
3948c2ecf20Sopenharmony_ci			};
3958c2ecf20Sopenharmony_ci
3968c2ecf20Sopenharmony_ci			port@3 {
3978c2ecf20Sopenharmony_ci				reg = <3>;
3988c2ecf20Sopenharmony_ci				label = "lan4";
3998c2ecf20Sopenharmony_ci				phy-handle = <&switch0phy2>;
4008c2ecf20Sopenharmony_ci			};
4018c2ecf20Sopenharmony_ci
4028c2ecf20Sopenharmony_ci			port@4 {
4038c2ecf20Sopenharmony_ci				reg = <4>;
4048c2ecf20Sopenharmony_ci				label = "lan3";
4058c2ecf20Sopenharmony_ci				phy-handle = <&switch0phy3>;
4068c2ecf20Sopenharmony_ci			};
4078c2ecf20Sopenharmony_ci
4088c2ecf20Sopenharmony_ci			port@5 {
4098c2ecf20Sopenharmony_ci				reg = <5>;
4108c2ecf20Sopenharmony_ci				label = "cpu";
4118c2ecf20Sopenharmony_ci				ethernet = <&cp1_eth2>;
4128c2ecf20Sopenharmony_ci				phy-mode = "2500base-x";
4138c2ecf20Sopenharmony_ci				managed = "in-band-status";
4148c2ecf20Sopenharmony_ci			};
4158c2ecf20Sopenharmony_ci		};
4168c2ecf20Sopenharmony_ci
4178c2ecf20Sopenharmony_ci		mdio {
4188c2ecf20Sopenharmony_ci			#address-cells = <1>;
4198c2ecf20Sopenharmony_ci			#size-cells = <0>;
4208c2ecf20Sopenharmony_ci
4218c2ecf20Sopenharmony_ci			switch0phy0: switch0phy0@11 {
4228c2ecf20Sopenharmony_ci				reg = <0x11>;
4238c2ecf20Sopenharmony_ci			};
4248c2ecf20Sopenharmony_ci
4258c2ecf20Sopenharmony_ci			switch0phy1: switch0phy1@12 {
4268c2ecf20Sopenharmony_ci				reg = <0x12>;
4278c2ecf20Sopenharmony_ci			};
4288c2ecf20Sopenharmony_ci
4298c2ecf20Sopenharmony_ci			switch0phy2: switch0phy2@13 {
4308c2ecf20Sopenharmony_ci				reg = <0x13>;
4318c2ecf20Sopenharmony_ci			};
4328c2ecf20Sopenharmony_ci
4338c2ecf20Sopenharmony_ci			switch0phy3: switch0phy3@14 {
4348c2ecf20Sopenharmony_ci				reg = <0x14>;
4358c2ecf20Sopenharmony_ci			};
4368c2ecf20Sopenharmony_ci		};
4378c2ecf20Sopenharmony_ci	};
4388c2ecf20Sopenharmony_ci};
4398c2ecf20Sopenharmony_ci
4408c2ecf20Sopenharmony_ci&cp1_ethernet {
4418c2ecf20Sopenharmony_ci	status = "okay";
4428c2ecf20Sopenharmony_ci};
4438c2ecf20Sopenharmony_ci
4448c2ecf20Sopenharmony_ci/* 1G copper */
4458c2ecf20Sopenharmony_ci&cp1_eth1 {
4468c2ecf20Sopenharmony_ci	status = "okay";
4478c2ecf20Sopenharmony_ci	phy-mode = "sgmii";
4488c2ecf20Sopenharmony_ci	phy = <&ge_phy>;
4498c2ecf20Sopenharmony_ci	phys = <&cp1_comphy3 1>;
4508c2ecf20Sopenharmony_ci};
4518c2ecf20Sopenharmony_ci
4528c2ecf20Sopenharmony_ci/* Switch uplink */
4538c2ecf20Sopenharmony_ci&cp1_eth2 {
4548c2ecf20Sopenharmony_ci	status = "okay";
4558c2ecf20Sopenharmony_ci	phy-mode = "2500base-x";
4568c2ecf20Sopenharmony_ci	phys = <&cp1_comphy5 2>;
4578c2ecf20Sopenharmony_ci	managed = "in-band-status";
4588c2ecf20Sopenharmony_ci};
4598c2ecf20Sopenharmony_ci
4608c2ecf20Sopenharmony_ci&cp1_spi1 {
4618c2ecf20Sopenharmony_ci	pinctrl-names = "default";
4628c2ecf20Sopenharmony_ci	pinctrl-0 = <&cp1_spi1_pins>;
4638c2ecf20Sopenharmony_ci	status = "okay";
4648c2ecf20Sopenharmony_ci
4658c2ecf20Sopenharmony_ci	spi-flash@0 {
4668c2ecf20Sopenharmony_ci		compatible = "st,w25q32";
4678c2ecf20Sopenharmony_ci		spi-max-frequency = <50000000>;
4688c2ecf20Sopenharmony_ci		reg = <0>;
4698c2ecf20Sopenharmony_ci	};
4708c2ecf20Sopenharmony_ci};
4718c2ecf20Sopenharmony_ci
4728c2ecf20Sopenharmony_ci&cp1_comphy2 {
4738c2ecf20Sopenharmony_ci	cp1_usbh0_con: connector {
4748c2ecf20Sopenharmony_ci		compatible = "usb-a-connector";
4758c2ecf20Sopenharmony_ci		phy-supply = <&v_5v0_usb3_hst_vbus>;
4768c2ecf20Sopenharmony_ci	};
4778c2ecf20Sopenharmony_ci};
4788c2ecf20Sopenharmony_ci
4798c2ecf20Sopenharmony_ci&cp1_usb3_0 {
4808c2ecf20Sopenharmony_ci	phys = <&cp1_comphy2 0>;
4818c2ecf20Sopenharmony_ci	phy-names = "cp1-usb3h0-comphy";
4828c2ecf20Sopenharmony_ci	status = "okay";
4838c2ecf20Sopenharmony_ci};
484