16d96e11bSLuka Kovacic// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
26d96e11bSLuka Kovacic/*
36d96e11bSLuka Kovacic * Copyright (C) 2016 Marvell Technology Group Ltd.
46d96e11bSLuka Kovacic * Copyright (C) 2020 Sartura Ltd.
56d96e11bSLuka Kovacic *
66d96e11bSLuka Kovacic * Device Tree file for IEI Puzzle-M801
76d96e11bSLuka Kovacic */
86d96e11bSLuka Kovacic
96d96e11bSLuka Kovacic#include "armada-8040.dtsi"
106d96e11bSLuka Kovacic
116d96e11bSLuka Kovacic#include <dt-bindings/gpio/gpio.h>
126d96e11bSLuka Kovacic#include <dt-bindings/leds/common.h>
136d96e11bSLuka Kovacic
146d96e11bSLuka Kovacic/ {
156d96e11bSLuka Kovacic	model = "IEI-Puzzle-M801";
166d96e11bSLuka Kovacic	compatible = "marvell,armada8040", "marvell,armada-ap806-quad", "marvell,armada-ap806";
176d96e11bSLuka Kovacic
186d96e11bSLuka Kovacic	aliases {
196d96e11bSLuka Kovacic		ethernet0 = &cp0_eth0;
206d96e11bSLuka Kovacic		ethernet1 = &cp1_eth0;
216d96e11bSLuka Kovacic		ethernet2 = &cp0_eth1;
226d96e11bSLuka Kovacic		ethernet3 = &cp0_eth2;
236d96e11bSLuka Kovacic		ethernet4 = &cp1_eth1;
246d96e11bSLuka Kovacic		ethernet5 = &cp1_eth2;
256d96e11bSLuka Kovacic	};
266d96e11bSLuka Kovacic
276d96e11bSLuka Kovacic	chosen {
286d96e11bSLuka Kovacic		stdout-path = "serial0:115200n8";
296d96e11bSLuka Kovacic	};
306d96e11bSLuka Kovacic
316d96e11bSLuka Kovacic	memory@0 {
326d96e11bSLuka Kovacic		device_type = "memory";
336d96e11bSLuka Kovacic		reg = <0x0 0x0 0x0 0x80000000>;
346d96e11bSLuka Kovacic	};
356d96e11bSLuka Kovacic
366d96e11bSLuka Kovacic	/* Regulator labels correspond with schematics */
376d96e11bSLuka Kovacic	v_3_3: regulator-3-3v {
386d96e11bSLuka Kovacic		compatible = "regulator-fixed";
396d96e11bSLuka Kovacic		regulator-name = "v_3_3";
406d96e11bSLuka Kovacic		regulator-min-microvolt = <3300000>;
416d96e11bSLuka Kovacic		regulator-max-microvolt = <3300000>;
426d96e11bSLuka Kovacic		regulator-always-on;
436d96e11bSLuka Kovacic		status = "okay";
446d96e11bSLuka Kovacic	};
456d96e11bSLuka Kovacic
466d96e11bSLuka Kovacic	v_5v0_usb3_hst_vbus: regulator-usb3-vbus0 {
476d96e11bSLuka Kovacic		compatible = "regulator-fixed";
486d96e11bSLuka Kovacic		enable-active-high;
496d96e11bSLuka Kovacic		gpio = <&cp0_gpio2 15 GPIO_ACTIVE_HIGH>;
506d96e11bSLuka Kovacic		pinctrl-names = "default";
516d96e11bSLuka Kovacic		pinctrl-0 = <&cp0_xhci_vbus_pins>;
526d96e11bSLuka Kovacic		regulator-name = "v_5v0_usb3_hst_vbus";
536d96e11bSLuka Kovacic		regulator-min-microvolt = <5000000>;
546d96e11bSLuka Kovacic		regulator-max-microvolt = <5000000>;
556d96e11bSLuka Kovacic		status = "okay";
566d96e11bSLuka Kovacic	};
576d96e11bSLuka Kovacic
586d96e11bSLuka Kovacic	v_vddo_h: regulator-1-8v {
596d96e11bSLuka Kovacic		compatible = "regulator-fixed";
606d96e11bSLuka Kovacic		regulator-name = "v_vddo_h";
616d96e11bSLuka Kovacic		regulator-min-microvolt = <1800000>;
626d96e11bSLuka Kovacic		regulator-max-microvolt = <1800000>;
636d96e11bSLuka Kovacic		regulator-always-on;
646d96e11bSLuka Kovacic		status = "okay";
656d96e11bSLuka Kovacic	};
666d96e11bSLuka Kovacic
676d96e11bSLuka Kovacic	sfp_cp0_eth0: sfp-cp0-eth0 {
686d96e11bSLuka Kovacic		compatible = "sff,sfp";
696d96e11bSLuka Kovacic		i2c-bus = <&sfpplus0_i2c>;
704ce223e5SIoana Ciornei		los-gpios = <&sfpplus_gpio 11 GPIO_ACTIVE_HIGH>;
714ce223e5SIoana Ciornei		mod-def0-gpios = <&sfpplus_gpio 10 GPIO_ACTIVE_LOW>;
724ce223e5SIoana Ciornei		tx-disable-gpios = <&sfpplus_gpio 9 GPIO_ACTIVE_HIGH>;
734ce223e5SIoana Ciornei		tx-fault-gpios = <&sfpplus_gpio 8 GPIO_ACTIVE_HIGH>;
746d96e11bSLuka Kovacic		maximum-power-milliwatt = <3000>;
756d96e11bSLuka Kovacic	};
766d96e11bSLuka Kovacic
776d96e11bSLuka Kovacic	sfp_cp1_eth0: sfp-cp1-eth0 {
786d96e11bSLuka Kovacic		compatible = "sff,sfp";
796d96e11bSLuka Kovacic		i2c-bus = <&sfpplus1_i2c>;
804ce223e5SIoana Ciornei		los-gpios = <&sfpplus_gpio 3 GPIO_ACTIVE_HIGH>;
814ce223e5SIoana Ciornei		mod-def0-gpios = <&sfpplus_gpio 2 GPIO_ACTIVE_LOW>;
824ce223e5SIoana Ciornei		tx-disable-gpios = <&sfpplus_gpio 1 GPIO_ACTIVE_HIGH>;
834ce223e5SIoana Ciornei		tx-fault-gpios = <&sfpplus_gpio 0 GPIO_ACTIVE_HIGH>;
846d96e11bSLuka Kovacic		maximum-power-milliwatt = <3000>;
856d96e11bSLuka Kovacic	};
866d96e11bSLuka Kovacic
876d96e11bSLuka Kovacic	leds {
886d96e11bSLuka Kovacic		compatible = "gpio-leds";
896d96e11bSLuka Kovacic		status = "okay";
906d96e11bSLuka Kovacic		pinctrl-0 = <&cp0_sfpplus_led_pins &cp1_sfpplus_led_pins>;
916d96e11bSLuka Kovacic		pinctrl-names = "default";
926d96e11bSLuka Kovacic
936d96e11bSLuka Kovacic		led-0 {
946d96e11bSLuka Kovacic			/* SFP+ port 2: Activity */
956d96e11bSLuka Kovacic			function = LED_FUNCTION_LAN;
966d96e11bSLuka Kovacic			function-enumerator = <0>;
976d96e11bSLuka Kovacic			gpios = <&cp1_gpio1 6 GPIO_ACTIVE_LOW>;
986d96e11bSLuka Kovacic		};
996d96e11bSLuka Kovacic
1006d96e11bSLuka Kovacic		led-1 {
1016d96e11bSLuka Kovacic			/* SFP+ port 1: Activity */
1026d96e11bSLuka Kovacic			function = LED_FUNCTION_LAN;
1036d96e11bSLuka Kovacic			function-enumerator = <1>;
1046d96e11bSLuka Kovacic			gpios = <&cp1_gpio1 14 GPIO_ACTIVE_LOW>;
1056d96e11bSLuka Kovacic		};
1066d96e11bSLuka Kovacic
1076d96e11bSLuka Kovacic		led-2 {
1086d96e11bSLuka Kovacic			/* SFP+ port 2: 10 Gbps indicator */
1096d96e11bSLuka Kovacic			function = LED_FUNCTION_LAN;
1106d96e11bSLuka Kovacic			function-enumerator = <2>;
1116d96e11bSLuka Kovacic			gpios = <&cp1_gpio1 7 GPIO_ACTIVE_LOW>;
1126d96e11bSLuka Kovacic		};
1136d96e11bSLuka Kovacic
1146d96e11bSLuka Kovacic		led-3 {
1156d96e11bSLuka Kovacic			/* SFP+ port 2: 1 Gbps indicator */
1166d96e11bSLuka Kovacic			function = LED_FUNCTION_LAN;
1176d96e11bSLuka Kovacic			function-enumerator = <3>;
1186d96e11bSLuka Kovacic			gpios = <&cp1_gpio1 8 GPIO_ACTIVE_LOW>;
1196d96e11bSLuka Kovacic		};
1206d96e11bSLuka Kovacic
1216d96e11bSLuka Kovacic		led-4 {
1226d96e11bSLuka Kovacic			/* SFP+ port 1: 10 Gbps indicator */
1236d96e11bSLuka Kovacic			function = LED_FUNCTION_LAN;
1246d96e11bSLuka Kovacic			function-enumerator = <4>;
1256d96e11bSLuka Kovacic			gpios = <&cp1_gpio1 10 GPIO_ACTIVE_LOW>;
1266d96e11bSLuka Kovacic		};
1276d96e11bSLuka Kovacic
1286d96e11bSLuka Kovacic		led-5 {
1296d96e11bSLuka Kovacic			/* SFP+ port 1: 1 Gbps indicator */
1306d96e11bSLuka Kovacic			function = LED_FUNCTION_LAN;
1316d96e11bSLuka Kovacic			function-enumerator = <5>;
1326d96e11bSLuka Kovacic			gpios = <&cp1_gpio1 31 GPIO_ACTIVE_LOW>;
1336d96e11bSLuka Kovacic		};
1346d96e11bSLuka Kovacic
1356d96e11bSLuka Kovacic		led-6 {
1366d96e11bSLuka Kovacic			function = LED_FUNCTION_DISK;
1376d96e11bSLuka Kovacic			linux,default-trigger = "disk-activity";
1386d96e11bSLuka Kovacic			gpios = <&cp0_gpio2 22 GPIO_ACTIVE_HIGH>;
1396d96e11bSLuka Kovacic		};
1406d96e11bSLuka Kovacic
1416d96e11bSLuka Kovacic	};
1426d96e11bSLuka Kovacic};
1436d96e11bSLuka Kovacic
1446d96e11bSLuka Kovacic&ap_sdhci0 {
1456d96e11bSLuka Kovacic	bus-width = <8>;
1466d96e11bSLuka Kovacic	/*
1476d96e11bSLuka Kovacic	 * Not stable in HS modes - phy needs "more calibration", so add
1486d96e11bSLuka Kovacic	 * the "slow-mode" and disable SDR104, SDR50 and DDR50 modes.
1496d96e11bSLuka Kovacic	 */
1506d96e11bSLuka Kovacic	marvell,xenon-phy-slow-mode;
1516d96e11bSLuka Kovacic	no-1-8-v;
1526d96e11bSLuka Kovacic	no-sd;
1536d96e11bSLuka Kovacic	no-sdio;
1546d96e11bSLuka Kovacic	non-removable;
1556d96e11bSLuka Kovacic	status = "okay";
1566d96e11bSLuka Kovacic	vqmmc-supply = <&v_vddo_h>;
1576d96e11bSLuka Kovacic};
1586d96e11bSLuka Kovacic
1596d96e11bSLuka Kovacic&ap_thermal_cpu1 {
1606d96e11bSLuka Kovacic	trips {
1616d96e11bSLuka Kovacic		cpu_active: cpu-active {
1626d96e11bSLuka Kovacic			temperature = <44000>;
1636d96e11bSLuka Kovacic			hysteresis = <2000>;
1646d96e11bSLuka Kovacic			type = "active";
1656d96e11bSLuka Kovacic		};
1666d96e11bSLuka Kovacic	};
1676d96e11bSLuka Kovacic	cooling-maps {
1686d96e11bSLuka Kovacic		fan-map {
1696d96e11bSLuka Kovacic			trip = <&cpu_active>;
1706d96e11bSLuka Kovacic			cooling-device = <&chassis_fan_group0 64 THERMAL_NO_LIMIT>,
1716d96e11bSLuka Kovacic					<&chassis_fan_group1 64 THERMAL_NO_LIMIT>;
1726d96e11bSLuka Kovacic		};
1736d96e11bSLuka Kovacic	};
1746d96e11bSLuka Kovacic};
1756d96e11bSLuka Kovacic
1766d96e11bSLuka Kovacic&i2c0 {
1776d96e11bSLuka Kovacic	clock-frequency = <100000>;
1786d96e11bSLuka Kovacic	status = "okay";
1796d96e11bSLuka Kovacic
1806d96e11bSLuka Kovacic	rtc@32 {
1816d96e11bSLuka Kovacic		compatible = "epson,rx8010";
1826d96e11bSLuka Kovacic		reg = <0x32>;
1836d96e11bSLuka Kovacic	};
1846d96e11bSLuka Kovacic};
1856d96e11bSLuka Kovacic
1866d96e11bSLuka Kovacic&spi0 {
1876d96e11bSLuka Kovacic	status = "okay";
1882f00bb4aSKrzysztof Kozlowski	flash@0 {
1896d96e11bSLuka Kovacic		#address-cells = <0x1>;
1906d96e11bSLuka Kovacic		#size-cells = <0x1>;
1916d96e11bSLuka Kovacic		compatible = "jedec,spi-nor";
1926d96e11bSLuka Kovacic		reg = <0x0>;
1936d96e11bSLuka Kovacic		spi-max-frequency = <20000000>;
1946d96e11bSLuka Kovacic		partition@u-boot {
1956d96e11bSLuka Kovacic			label = "u-boot";
1966d96e11bSLuka Kovacic			reg = <0x00000000 0x001f0000>;
1976d96e11bSLuka Kovacic		};
1986d96e11bSLuka Kovacic		partition@u-boot-env {
1996d96e11bSLuka Kovacic			label = "u-boot-env";
2006d96e11bSLuka Kovacic			reg = <0x001f0000 0x00010000>;
2016d96e11bSLuka Kovacic		};
2026d96e11bSLuka Kovacic		partition@ubi1 {
2036d96e11bSLuka Kovacic			label = "ubi1";
2046d96e11bSLuka Kovacic			reg = <0x00200000 0x03f00000>;
2056d96e11bSLuka Kovacic		};
2066d96e11bSLuka Kovacic		partition@ubi2 {
2076d96e11bSLuka Kovacic			label = "ubi2";
2086d96e11bSLuka Kovacic			reg = <0x04100000 0x03f00000>;
2096d96e11bSLuka Kovacic		};
2106d96e11bSLuka Kovacic	};
2116d96e11bSLuka Kovacic};
2126d96e11bSLuka Kovacic
2136d96e11bSLuka Kovacic&uart0 {
2146d96e11bSLuka Kovacic	status = "okay";
2156d96e11bSLuka Kovacic	pinctrl-0 = <&uart0_pins>;
2166d96e11bSLuka Kovacic	pinctrl-names = "default";
2176d96e11bSLuka Kovacic};
2186d96e11bSLuka Kovacic
2196d96e11bSLuka Kovacic&uart1 {
2206d96e11bSLuka Kovacic	status = "okay";
2216d96e11bSLuka Kovacic	/* IEI WT61P803 PUZZLE MCU Controller */
2226d96e11bSLuka Kovacic	mcu {
2236d96e11bSLuka Kovacic		compatible = "iei,wt61p803-puzzle";
2246d96e11bSLuka Kovacic		current-speed = <115200>;
2256d96e11bSLuka Kovacic		enable-beep;
2266d96e11bSLuka Kovacic
2276d96e11bSLuka Kovacic		leds {
2286d96e11bSLuka Kovacic			compatible = "iei,wt61p803-puzzle-leds";
2296d96e11bSLuka Kovacic			#address-cells = <1>;
2306d96e11bSLuka Kovacic			#size-cells = <0>;
2316d96e11bSLuka Kovacic
2326d96e11bSLuka Kovacic			led@0 {
2336d96e11bSLuka Kovacic				reg = <0>;
2346d96e11bSLuka Kovacic				function = LED_FUNCTION_POWER;
2356d96e11bSLuka Kovacic				color = <LED_COLOR_ID_BLUE>;
2366d96e11bSLuka Kovacic			};
2376d96e11bSLuka Kovacic		};
2386d96e11bSLuka Kovacic
2396d96e11bSLuka Kovacic		hwmon {
2406d96e11bSLuka Kovacic			compatible = "iei,wt61p803-puzzle-hwmon";
2416d96e11bSLuka Kovacic			#address-cells = <1>;
2426d96e11bSLuka Kovacic			#size-cells = <0>;
2436d96e11bSLuka Kovacic
2446d96e11bSLuka Kovacic			chassis_fan_group0:fan-group@0 {
2456d96e11bSLuka Kovacic				#cooling-cells = <2>;
2466d96e11bSLuka Kovacic				reg = <0x00>;
2476d96e11bSLuka Kovacic				cooling-levels = <64 102 170 230 250>;
2486d96e11bSLuka Kovacic			};
2496d96e11bSLuka Kovacic
2506d96e11bSLuka Kovacic			chassis_fan_group1:fan-group@1 {
2516d96e11bSLuka Kovacic				#cooling-cells = <2>;
2526d96e11bSLuka Kovacic				reg = <0x01>;
2536d96e11bSLuka Kovacic				cooling-levels = <64 102 170 230 250>;
2546d96e11bSLuka Kovacic			};
2556d96e11bSLuka Kovacic		};
2566d96e11bSLuka Kovacic	};
2576d96e11bSLuka Kovacic};
2586d96e11bSLuka Kovacic
2596d96e11bSLuka Kovacic&cp0_rtc {
2606d96e11bSLuka Kovacic	status = "disabled";
2616d96e11bSLuka Kovacic};
2626d96e11bSLuka Kovacic
2636d96e11bSLuka Kovacic&cp0_i2c0 {
2646d96e11bSLuka Kovacic	clock-frequency = <100000>;
2656d96e11bSLuka Kovacic	pinctrl-names = "default";
2666d96e11bSLuka Kovacic	pinctrl-0 = <&cp0_i2c0_pins>;
2676d96e11bSLuka Kovacic	status = "okay";
2686d96e11bSLuka Kovacic
2696d96e11bSLuka Kovacic	sfpplus_gpio: gpio@21 {
2706d96e11bSLuka Kovacic		compatible = "nxp,pca9555";
2716d96e11bSLuka Kovacic		reg = <0x21>;
2726d96e11bSLuka Kovacic		gpio-controller;
2736d96e11bSLuka Kovacic		#gpio-cells = <2>;
2746d96e11bSLuka Kovacic	};
2756d96e11bSLuka Kovacic
2766d96e11bSLuka Kovacic	eeprom@54 {
2776d96e11bSLuka Kovacic		compatible = "atmel,24c04";
2786d96e11bSLuka Kovacic		reg = <0x54>;
2796d96e11bSLuka Kovacic	};
2806d96e11bSLuka Kovacic};
2816d96e11bSLuka Kovacic
2826d96e11bSLuka Kovacic&cp0_i2c1 {
2836d96e11bSLuka Kovacic	clock-frequency = <100000>;
2846d96e11bSLuka Kovacic	pinctrl-names = "default";
2856d96e11bSLuka Kovacic	pinctrl-0 = <&cp0_i2c1_pins>;
2866d96e11bSLuka Kovacic	status = "okay";
2876d96e11bSLuka Kovacic
288*fe96d8b2SGeert Uytterhoeven	i2c-mux@70 {
2896d96e11bSLuka Kovacic		compatible = "nxp,pca9544";
2906d96e11bSLuka Kovacic		#address-cells = <1>;
2916d96e11bSLuka Kovacic		#size-cells = <0>;
2926d96e11bSLuka Kovacic		reg = <0x70>;
2936d96e11bSLuka Kovacic
2946d96e11bSLuka Kovacic		sfpplus0_i2c: i2c@0 {
2956d96e11bSLuka Kovacic			#address-cells = <1>;
2966d96e11bSLuka Kovacic			#size-cells = <0>;
2976d96e11bSLuka Kovacic			reg = <0>;
2986d96e11bSLuka Kovacic		};
2996d96e11bSLuka Kovacic
3006d96e11bSLuka Kovacic		sfpplus1_i2c: i2c@1 {
3016d96e11bSLuka Kovacic			#address-cells = <1>;
3026d96e11bSLuka Kovacic			#size-cells = <0>;
3036d96e11bSLuka Kovacic			reg = <1>;
3046d96e11bSLuka Kovacic		};
3056d96e11bSLuka Kovacic	};
3066d96e11bSLuka Kovacic};
3076d96e11bSLuka Kovacic
3086d96e11bSLuka Kovacic&cp0_uart1 {
3096d96e11bSLuka Kovacic	pinctrl-names = "default";
3106d96e11bSLuka Kovacic	pinctrl-0 = <&cp0_uart1_pins>;
3116d96e11bSLuka Kovacic	status = "okay";
3126d96e11bSLuka Kovacic};
3136d96e11bSLuka Kovacic
3146d96e11bSLuka Kovacic&cp0_mdio {
3156d96e11bSLuka Kovacic	#address-cells = <1>;
3166d96e11bSLuka Kovacic	#size-cells = <0>;
3176d96e11bSLuka Kovacic
3186d96e11bSLuka Kovacic	status = "okay";
3196d96e11bSLuka Kovacic
3206d96e11bSLuka Kovacic	ge_phy2: ethernet-phy@0 {
3216d96e11bSLuka Kovacic		reg = <0>;
3226d96e11bSLuka Kovacic	};
3236d96e11bSLuka Kovacic
3246d96e11bSLuka Kovacic	ge_phy3: ethernet-phy@1 {
3256d96e11bSLuka Kovacic		reg = <1>;
3266d96e11bSLuka Kovacic	};
3276d96e11bSLuka Kovacic};
3286d96e11bSLuka Kovacic
3296d96e11bSLuka Kovacic&cp0_pcie0 {
3306d96e11bSLuka Kovacic	pinctrl-names = "default";
3316d96e11bSLuka Kovacic	pinctrl-0 = <&cp0_pcie_pins>;
3326d96e11bSLuka Kovacic	num-lanes = <1>;
3336d96e11bSLuka Kovacic	num-viewport = <8>;
3346d96e11bSLuka Kovacic	reset-gpios = <&cp0_gpio2 20 GPIO_ACTIVE_LOW>;
3356d96e11bSLuka Kovacic	ranges = <0x82000000 0x0 0xc0000000 0x0 0xc0000000 0x0 0x20000000>;
3366d96e11bSLuka Kovacic	phys = <&cp0_comphy0 0>;
3376d96e11bSLuka Kovacic	phy-names = "cp0-pcie0-x1-phy";
3386d96e11bSLuka Kovacic	status = "okay";
3396d96e11bSLuka Kovacic};
3406d96e11bSLuka Kovacic
3416d96e11bSLuka Kovacic&cp0_pinctrl {
3426d96e11bSLuka Kovacic	cp0_ge_mdio_pins: ge-mdio-pins {
3436d96e11bSLuka Kovacic		marvell,pins = "mpp32", "mpp34";
3446d96e11bSLuka Kovacic		marvell,function = "ge";
3456d96e11bSLuka Kovacic	};
3466d96e11bSLuka Kovacic	cp0_i2c1_pins: i2c1-pins {
3476d96e11bSLuka Kovacic		marvell,pins = "mpp35", "mpp36";
3486d96e11bSLuka Kovacic		marvell,function = "i2c1";
3496d96e11bSLuka Kovacic	};
3506d96e11bSLuka Kovacic	cp0_i2c0_pins: i2c0-pins {
3516d96e11bSLuka Kovacic		marvell,pins = "mpp37", "mpp38";
3526d96e11bSLuka Kovacic		marvell,function = "i2c0";
3536d96e11bSLuka Kovacic	};
3546d96e11bSLuka Kovacic	cp0_uart1_pins: uart1-pins {
3556d96e11bSLuka Kovacic		marvell,pins = "mpp40", "mpp41";
3566d96e11bSLuka Kovacic		marvell,function = "uart1";
3576d96e11bSLuka Kovacic	};
3586d96e11bSLuka Kovacic	cp0_xhci_vbus_pins: xhci0-vbus-pins {
3596d96e11bSLuka Kovacic		marvell,pins = "mpp47";
3606d96e11bSLuka Kovacic		marvell,function = "gpio";
3616d96e11bSLuka Kovacic	};
3626d96e11bSLuka Kovacic	cp0_pcie_pins: pcie-pins {
3636d96e11bSLuka Kovacic		marvell,pins = "mpp52";
3646d96e11bSLuka Kovacic		marvell,function = "gpio";
3656d96e11bSLuka Kovacic	};
3666d96e11bSLuka Kovacic	cp0_sdhci_pins: sdhci-pins {
3676d96e11bSLuka Kovacic		marvell,pins = "mpp55", "mpp56", "mpp57", "mpp58", "mpp59",
3686d96e11bSLuka Kovacic			       "mpp60", "mpp61";
3696d96e11bSLuka Kovacic		marvell,function = "sdio";
3706d96e11bSLuka Kovacic	};
3716d96e11bSLuka Kovacic	cp0_sfpplus_led_pins: sfpplus-led-pins {
3726d96e11bSLuka Kovacic		marvell,pins = "mpp54";
3736d96e11bSLuka Kovacic		marvell,function = "gpio";
3746d96e11bSLuka Kovacic	};
3756d96e11bSLuka Kovacic};
3766d96e11bSLuka Kovacic
3776d96e11bSLuka Kovacic&cp0_ethernet {
3786d96e11bSLuka Kovacic	status = "okay";
3796d96e11bSLuka Kovacic};
3806d96e11bSLuka Kovacic
3816d96e11bSLuka Kovacic&cp0_eth0 {
3826d96e11bSLuka Kovacic	status = "okay";
3836d96e11bSLuka Kovacic	phy-mode = "10gbase-r";
3846d96e11bSLuka Kovacic	phys = <&cp0_comphy4 0>;
3856d96e11bSLuka Kovacic	local-mac-address = [ae 00 00 00 ff 00];
3866d96e11bSLuka Kovacic	sfp = <&sfp_cp0_eth0>;
3876d96e11bSLuka Kovacic	managed = "in-band-status";
3886d96e11bSLuka Kovacic};
3896d96e11bSLuka Kovacic
3906d96e11bSLuka Kovacic&cp0_eth1 {
3916d96e11bSLuka Kovacic	status = "okay";
3926d96e11bSLuka Kovacic	phy = <&ge_phy2>;
3936d96e11bSLuka Kovacic	phy-mode = "sgmii";
3946d96e11bSLuka Kovacic	local-mac-address = [ae 00 00 00 ff 01];
3956d96e11bSLuka Kovacic	phys = <&cp0_comphy3 1>;
3966d96e11bSLuka Kovacic};
3976d96e11bSLuka Kovacic
3986d96e11bSLuka Kovacic&cp0_eth2 {
3996d96e11bSLuka Kovacic	status = "okay";
4006d96e11bSLuka Kovacic	phy-mode = "sgmii";
4016d96e11bSLuka Kovacic	phys = <&cp0_comphy1 2>;
4026d96e11bSLuka Kovacic	local-mac-address = [ae 00 00 00 ff 02];
4036d96e11bSLuka Kovacic	phy = <&ge_phy3>;
4046d96e11bSLuka Kovacic};
4056d96e11bSLuka Kovacic
4066d96e11bSLuka Kovacic&cp0_sata0 {
4076d96e11bSLuka Kovacic	status = "okay";
4086d96e11bSLuka Kovacic
4096d96e11bSLuka Kovacic	sata-port@0 {
4106d96e11bSLuka Kovacic		phys = <&cp0_comphy2 0>;
4116d96e11bSLuka Kovacic		phy-names = "cp0-sata0-0-phy";
4126d96e11bSLuka Kovacic	};
4136d96e11bSLuka Kovacic
4146d96e11bSLuka Kovacic	sata-port@1 {
4156d96e11bSLuka Kovacic		phys = <&cp0_comphy5 1>;
4166d96e11bSLuka Kovacic		phy-names = "cp0-sata0-1-phy";
4176d96e11bSLuka Kovacic	};
4186d96e11bSLuka Kovacic};
4196d96e11bSLuka Kovacic
4206d96e11bSLuka Kovacic&cp0_sdhci0 {
4216d96e11bSLuka Kovacic	broken-cd;
4226d96e11bSLuka Kovacic	bus-width = <4>;
4236d96e11bSLuka Kovacic	pinctrl-names = "default";
4246d96e11bSLuka Kovacic	pinctrl-0 = <&cp0_sdhci_pins>;
4256d96e11bSLuka Kovacic	status = "okay";
4266d96e11bSLuka Kovacic	vqmmc-supply = <&v_3_3>;
4276d96e11bSLuka Kovacic};
4286d96e11bSLuka Kovacic
4296d96e11bSLuka Kovacic&cp0_usb3_0 {
4306d96e11bSLuka Kovacic	status = "okay";
4316d96e11bSLuka Kovacic};
4326d96e11bSLuka Kovacic
4336d96e11bSLuka Kovacic&cp0_usb3_1 {
4346d96e11bSLuka Kovacic	status = "okay";
4356d96e11bSLuka Kovacic};
4366d96e11bSLuka Kovacic
4376d96e11bSLuka Kovacic&cp1_i2c0 {
4386d96e11bSLuka Kovacic	clock-frequency = <100000>;
4396d96e11bSLuka Kovacic	status = "disabled";
4406d96e11bSLuka Kovacic};
4416d96e11bSLuka Kovacic
4426d96e11bSLuka Kovacic&cp1_i2c1 {
4436d96e11bSLuka Kovacic	clock-frequency = <100000>;
4446d96e11bSLuka Kovacic	status = "disabled";
4456d96e11bSLuka Kovacic};
4466d96e11bSLuka Kovacic
4476d96e11bSLuka Kovacic&cp1_rtc {
4486d96e11bSLuka Kovacic	status = "disabled";
4496d96e11bSLuka Kovacic};
4506d96e11bSLuka Kovacic
4516d96e11bSLuka Kovacic&cp1_ethernet {
4526d96e11bSLuka Kovacic	status = "okay";
4536d96e11bSLuka Kovacic};
4546d96e11bSLuka Kovacic
4556d96e11bSLuka Kovacic&cp1_eth0 {
4566d96e11bSLuka Kovacic	status = "okay";
4576d96e11bSLuka Kovacic	phy-mode = "10gbase-r";
4586d96e11bSLuka Kovacic	phys = <&cp1_comphy4 0>;
4596d96e11bSLuka Kovacic	local-mac-address = [ae 00 00 00 ff 03];
4606d96e11bSLuka Kovacic	sfp = <&sfp_cp1_eth0>;
4616d96e11bSLuka Kovacic	managed = "in-band-status";
4626d96e11bSLuka Kovacic};
4636d96e11bSLuka Kovacic
4646d96e11bSLuka Kovacic&cp1_eth1 {
4656d96e11bSLuka Kovacic	status = "okay";
4666d96e11bSLuka Kovacic	phy = <&ge_phy4>;
4676d96e11bSLuka Kovacic	phy-mode = "sgmii";
4686d96e11bSLuka Kovacic	local-mac-address = [ae 00 00 00 ff 04];
4696d96e11bSLuka Kovacic	phys = <&cp1_comphy3 1>;
4706d96e11bSLuka Kovacic};
4716d96e11bSLuka Kovacic
4726d96e11bSLuka Kovacic&cp1_eth2 {
4736d96e11bSLuka Kovacic	status = "okay";
4746d96e11bSLuka Kovacic	phy-mode = "sgmii";
4756d96e11bSLuka Kovacic	local-mac-address = [ae 00 00 00 ff 05];
4766d96e11bSLuka Kovacic	phys = <&cp1_comphy5 2>;
4776d96e11bSLuka Kovacic	phy = <&ge_phy5>;
4786d96e11bSLuka Kovacic};
4796d96e11bSLuka Kovacic
4806d96e11bSLuka Kovacic&cp1_pinctrl {
4816d96e11bSLuka Kovacic	cp1_sfpplus_led_pins: sfpplus-led-pins {
4826d96e11bSLuka Kovacic		marvell,pins = "mpp6", "mpp7", "mpp8", "mpp10", "mpp14", "mpp31";
4836d96e11bSLuka Kovacic		marvell,function = "gpio";
4846d96e11bSLuka Kovacic	};
4856d96e11bSLuka Kovacic};
4866d96e11bSLuka Kovacic
4876d96e11bSLuka Kovacic&cp1_uart0 {
4886d96e11bSLuka Kovacic	status = "disabled";
4896d96e11bSLuka Kovacic};
4906d96e11bSLuka Kovacic
4916d96e11bSLuka Kovacic&cp1_comphy2 {
4926d96e11bSLuka Kovacic	cp1_usbh0_con: connector {
4936d96e11bSLuka Kovacic		compatible = "usb-a-connector";
4946d96e11bSLuka Kovacic		phy-supply = <&v_5v0_usb3_hst_vbus>;
4956d96e11bSLuka Kovacic	};
4966d96e11bSLuka Kovacic};
4976d96e11bSLuka Kovacic
4986d96e11bSLuka Kovacic&cp1_usb3_0 {
4996d96e11bSLuka Kovacic	phys = <&cp1_comphy2 0>;
5006d96e11bSLuka Kovacic	phy-names = "cp1-usb3h0-comphy";
5016d96e11bSLuka Kovacic	status = "okay";
5026d96e11bSLuka Kovacic};
5036d96e11bSLuka Kovacic
5046d96e11bSLuka Kovacic&cp1_mdio {
5056d96e11bSLuka Kovacic	#address-cells = <1>;
5066d96e11bSLuka Kovacic	#size-cells = <0>;
5076d96e11bSLuka Kovacic
5086d96e11bSLuka Kovacic	status = "okay";
5096d96e11bSLuka Kovacic
5106d96e11bSLuka Kovacic	ge_phy4: ethernet-phy@1 {
5116d96e11bSLuka Kovacic		reg = <1>;
5126d96e11bSLuka Kovacic	};
5136d96e11bSLuka Kovacic	ge_phy5: ethernet-phy@0 {
5146d96e11bSLuka Kovacic		reg = <0>;
5156d96e11bSLuka Kovacic	};
5166d96e11bSLuka Kovacic};
5176d96e11bSLuka Kovacic
5186d96e11bSLuka Kovacic&cp1_pcie0 {
5196d96e11bSLuka Kovacic	num-lanes = <2>;
5206d96e11bSLuka Kovacic	phys = <&cp1_comphy0 0>, <&cp1_comphy1 0>;
5216d96e11bSLuka Kovacic	phy-names = "cp1-pcie0-x2-lane0-phy", "cp1-pcie0-x2-lane1-phy";
5226d96e11bSLuka Kovacic	status = "okay";
5236d96e11bSLuka Kovacic};
524