15def4c47SEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
25def4c47SEmmanuel Vadot/*
35def4c47SEmmanuel Vadot * Copyright (C) 2016 Marvell Technology Group Ltd.
45def4c47SEmmanuel Vadot * Copyright (C) 2020 Sartura Ltd.
55def4c47SEmmanuel Vadot *
65def4c47SEmmanuel Vadot * Device Tree file for IEI Puzzle-M801
75def4c47SEmmanuel Vadot */
85def4c47SEmmanuel Vadot
95def4c47SEmmanuel Vadot#include "armada-8040.dtsi"
105def4c47SEmmanuel Vadot
115def4c47SEmmanuel Vadot#include <dt-bindings/gpio/gpio.h>
125def4c47SEmmanuel Vadot#include <dt-bindings/leds/common.h>
135def4c47SEmmanuel Vadot
145def4c47SEmmanuel Vadot/ {
155def4c47SEmmanuel Vadot	model = "IEI-Puzzle-M801";
165def4c47SEmmanuel Vadot	compatible = "marvell,armada8040", "marvell,armada-ap806-quad", "marvell,armada-ap806";
175def4c47SEmmanuel Vadot
185def4c47SEmmanuel Vadot	aliases {
195def4c47SEmmanuel Vadot		ethernet0 = &cp0_eth0;
205def4c47SEmmanuel Vadot		ethernet1 = &cp1_eth0;
215def4c47SEmmanuel Vadot		ethernet2 = &cp0_eth1;
225def4c47SEmmanuel Vadot		ethernet3 = &cp0_eth2;
235def4c47SEmmanuel Vadot		ethernet4 = &cp1_eth1;
245def4c47SEmmanuel Vadot		ethernet5 = &cp1_eth2;
255def4c47SEmmanuel Vadot	};
265def4c47SEmmanuel Vadot
275def4c47SEmmanuel Vadot	chosen {
285def4c47SEmmanuel Vadot		stdout-path = "serial0:115200n8";
295def4c47SEmmanuel Vadot	};
305def4c47SEmmanuel Vadot
315def4c47SEmmanuel Vadot	memory@0 {
325def4c47SEmmanuel Vadot		device_type = "memory";
335def4c47SEmmanuel Vadot		reg = <0x0 0x0 0x0 0x80000000>;
345def4c47SEmmanuel Vadot	};
355def4c47SEmmanuel Vadot
365def4c47SEmmanuel Vadot	/* Regulator labels correspond with schematics */
375def4c47SEmmanuel Vadot	v_3_3: regulator-3-3v {
385def4c47SEmmanuel Vadot		compatible = "regulator-fixed";
395def4c47SEmmanuel Vadot		regulator-name = "v_3_3";
405def4c47SEmmanuel Vadot		regulator-min-microvolt = <3300000>;
415def4c47SEmmanuel Vadot		regulator-max-microvolt = <3300000>;
425def4c47SEmmanuel Vadot		regulator-always-on;
435def4c47SEmmanuel Vadot		status = "okay";
445def4c47SEmmanuel Vadot	};
455def4c47SEmmanuel Vadot
465def4c47SEmmanuel Vadot	v_5v0_usb3_hst_vbus: regulator-usb3-vbus0 {
475def4c47SEmmanuel Vadot		compatible = "regulator-fixed";
485def4c47SEmmanuel Vadot		enable-active-high;
495def4c47SEmmanuel Vadot		gpio = <&cp0_gpio2 15 GPIO_ACTIVE_HIGH>;
505def4c47SEmmanuel Vadot		pinctrl-names = "default";
515def4c47SEmmanuel Vadot		pinctrl-0 = <&cp0_xhci_vbus_pins>;
525def4c47SEmmanuel Vadot		regulator-name = "v_5v0_usb3_hst_vbus";
535def4c47SEmmanuel Vadot		regulator-min-microvolt = <5000000>;
545def4c47SEmmanuel Vadot		regulator-max-microvolt = <5000000>;
555def4c47SEmmanuel Vadot		status = "okay";
565def4c47SEmmanuel Vadot	};
575def4c47SEmmanuel Vadot
585def4c47SEmmanuel Vadot	v_vddo_h: regulator-1-8v {
595def4c47SEmmanuel Vadot		compatible = "regulator-fixed";
605def4c47SEmmanuel Vadot		regulator-name = "v_vddo_h";
615def4c47SEmmanuel Vadot		regulator-min-microvolt = <1800000>;
625def4c47SEmmanuel Vadot		regulator-max-microvolt = <1800000>;
635def4c47SEmmanuel Vadot		regulator-always-on;
645def4c47SEmmanuel Vadot		status = "okay";
655def4c47SEmmanuel Vadot	};
665def4c47SEmmanuel Vadot
675def4c47SEmmanuel Vadot	sfp_cp0_eth0: sfp-cp0-eth0 {
685def4c47SEmmanuel Vadot		compatible = "sff,sfp";
695def4c47SEmmanuel Vadot		i2c-bus = <&sfpplus0_i2c>;
70b97ee269SEmmanuel Vadot		los-gpios = <&sfpplus_gpio 11 GPIO_ACTIVE_HIGH>;
71b97ee269SEmmanuel Vadot		mod-def0-gpios = <&sfpplus_gpio 10 GPIO_ACTIVE_LOW>;
72b97ee269SEmmanuel Vadot		tx-disable-gpios = <&sfpplus_gpio 9 GPIO_ACTIVE_HIGH>;
73b97ee269SEmmanuel Vadot		tx-fault-gpios = <&sfpplus_gpio 8 GPIO_ACTIVE_HIGH>;
745def4c47SEmmanuel Vadot		maximum-power-milliwatt = <3000>;
755def4c47SEmmanuel Vadot	};
765def4c47SEmmanuel Vadot
775def4c47SEmmanuel Vadot	sfp_cp1_eth0: sfp-cp1-eth0 {
785def4c47SEmmanuel Vadot		compatible = "sff,sfp";
795def4c47SEmmanuel Vadot		i2c-bus = <&sfpplus1_i2c>;
80b97ee269SEmmanuel Vadot		los-gpios = <&sfpplus_gpio 3 GPIO_ACTIVE_HIGH>;
81b97ee269SEmmanuel Vadot		mod-def0-gpios = <&sfpplus_gpio 2 GPIO_ACTIVE_LOW>;
82b97ee269SEmmanuel Vadot		tx-disable-gpios = <&sfpplus_gpio 1 GPIO_ACTIVE_HIGH>;
83b97ee269SEmmanuel Vadot		tx-fault-gpios = <&sfpplus_gpio 0 GPIO_ACTIVE_HIGH>;
845def4c47SEmmanuel Vadot		maximum-power-milliwatt = <3000>;
855def4c47SEmmanuel Vadot	};
865def4c47SEmmanuel Vadot
875def4c47SEmmanuel Vadot	leds {
885def4c47SEmmanuel Vadot		compatible = "gpio-leds";
895def4c47SEmmanuel Vadot		status = "okay";
905def4c47SEmmanuel Vadot		pinctrl-0 = <&cp0_sfpplus_led_pins &cp1_sfpplus_led_pins>;
915def4c47SEmmanuel Vadot		pinctrl-names = "default";
925def4c47SEmmanuel Vadot
935def4c47SEmmanuel Vadot		led-0 {
945def4c47SEmmanuel Vadot			/* SFP+ port 2: Activity */
955def4c47SEmmanuel Vadot			function = LED_FUNCTION_LAN;
965def4c47SEmmanuel Vadot			function-enumerator = <0>;
975def4c47SEmmanuel Vadot			gpios = <&cp1_gpio1 6 GPIO_ACTIVE_LOW>;
985def4c47SEmmanuel Vadot		};
995def4c47SEmmanuel Vadot
1005def4c47SEmmanuel Vadot		led-1 {
1015def4c47SEmmanuel Vadot			/* SFP+ port 1: Activity */
1025def4c47SEmmanuel Vadot			function = LED_FUNCTION_LAN;
1035def4c47SEmmanuel Vadot			function-enumerator = <1>;
1045def4c47SEmmanuel Vadot			gpios = <&cp1_gpio1 14 GPIO_ACTIVE_LOW>;
1055def4c47SEmmanuel Vadot		};
1065def4c47SEmmanuel Vadot
1075def4c47SEmmanuel Vadot		led-2 {
1085def4c47SEmmanuel Vadot			/* SFP+ port 2: 10 Gbps indicator */
1095def4c47SEmmanuel Vadot			function = LED_FUNCTION_LAN;
1105def4c47SEmmanuel Vadot			function-enumerator = <2>;
1115def4c47SEmmanuel Vadot			gpios = <&cp1_gpio1 7 GPIO_ACTIVE_LOW>;
1125def4c47SEmmanuel Vadot		};
1135def4c47SEmmanuel Vadot
1145def4c47SEmmanuel Vadot		led-3 {
1155def4c47SEmmanuel Vadot			/* SFP+ port 2: 1 Gbps indicator */
1165def4c47SEmmanuel Vadot			function = LED_FUNCTION_LAN;
1175def4c47SEmmanuel Vadot			function-enumerator = <3>;
1185def4c47SEmmanuel Vadot			gpios = <&cp1_gpio1 8 GPIO_ACTIVE_LOW>;
1195def4c47SEmmanuel Vadot		};
1205def4c47SEmmanuel Vadot
1215def4c47SEmmanuel Vadot		led-4 {
1225def4c47SEmmanuel Vadot			/* SFP+ port 1: 10 Gbps indicator */
1235def4c47SEmmanuel Vadot			function = LED_FUNCTION_LAN;
1245def4c47SEmmanuel Vadot			function-enumerator = <4>;
1255def4c47SEmmanuel Vadot			gpios = <&cp1_gpio1 10 GPIO_ACTIVE_LOW>;
1265def4c47SEmmanuel Vadot		};
1275def4c47SEmmanuel Vadot
1285def4c47SEmmanuel Vadot		led-5 {
1295def4c47SEmmanuel Vadot			/* SFP+ port 1: 1 Gbps indicator */
1305def4c47SEmmanuel Vadot			function = LED_FUNCTION_LAN;
1315def4c47SEmmanuel Vadot			function-enumerator = <5>;
1325def4c47SEmmanuel Vadot			gpios = <&cp1_gpio1 31 GPIO_ACTIVE_LOW>;
1335def4c47SEmmanuel Vadot		};
1345def4c47SEmmanuel Vadot
1355def4c47SEmmanuel Vadot		led-6 {
1365def4c47SEmmanuel Vadot			function = LED_FUNCTION_DISK;
1375def4c47SEmmanuel Vadot			linux,default-trigger = "disk-activity";
1385def4c47SEmmanuel Vadot			gpios = <&cp0_gpio2 22 GPIO_ACTIVE_HIGH>;
1395def4c47SEmmanuel Vadot		};
1405def4c47SEmmanuel Vadot
1415def4c47SEmmanuel Vadot	};
1425def4c47SEmmanuel Vadot};
1435def4c47SEmmanuel Vadot
1445def4c47SEmmanuel Vadot&ap_sdhci0 {
1455def4c47SEmmanuel Vadot	bus-width = <8>;
1465def4c47SEmmanuel Vadot	/*
1475def4c47SEmmanuel Vadot	 * Not stable in HS modes - phy needs "more calibration", so add
1485def4c47SEmmanuel Vadot	 * the "slow-mode" and disable SDR104, SDR50 and DDR50 modes.
1495def4c47SEmmanuel Vadot	 */
1505def4c47SEmmanuel Vadot	marvell,xenon-phy-slow-mode;
1515def4c47SEmmanuel Vadot	no-1-8-v;
1525def4c47SEmmanuel Vadot	no-sd;
1535def4c47SEmmanuel Vadot	no-sdio;
1545def4c47SEmmanuel Vadot	non-removable;
1555def4c47SEmmanuel Vadot	status = "okay";
1565def4c47SEmmanuel Vadot	vqmmc-supply = <&v_vddo_h>;
1575def4c47SEmmanuel Vadot};
1585def4c47SEmmanuel Vadot
1595def4c47SEmmanuel Vadot&ap_thermal_cpu1 {
1605def4c47SEmmanuel Vadot	trips {
1615def4c47SEmmanuel Vadot		cpu_active: cpu-active {
1625def4c47SEmmanuel Vadot			temperature = <44000>;
1635def4c47SEmmanuel Vadot			hysteresis = <2000>;
1645def4c47SEmmanuel Vadot			type = "active";
1655def4c47SEmmanuel Vadot		};
1665def4c47SEmmanuel Vadot	};
1675def4c47SEmmanuel Vadot	cooling-maps {
1685def4c47SEmmanuel Vadot		fan-map {
1695def4c47SEmmanuel Vadot			trip = <&cpu_active>;
1705def4c47SEmmanuel Vadot			cooling-device = <&chassis_fan_group0 64 THERMAL_NO_LIMIT>,
1715def4c47SEmmanuel Vadot					<&chassis_fan_group1 64 THERMAL_NO_LIMIT>;
1725def4c47SEmmanuel Vadot		};
1735def4c47SEmmanuel Vadot	};
1745def4c47SEmmanuel Vadot};
1755def4c47SEmmanuel Vadot
1765def4c47SEmmanuel Vadot&i2c0 {
1775def4c47SEmmanuel Vadot	clock-frequency = <100000>;
1785def4c47SEmmanuel Vadot	status = "okay";
1795def4c47SEmmanuel Vadot
1805def4c47SEmmanuel Vadot	rtc@32 {
1815def4c47SEmmanuel Vadot		compatible = "epson,rx8010";
1825def4c47SEmmanuel Vadot		reg = <0x32>;
1835def4c47SEmmanuel Vadot	};
1845def4c47SEmmanuel Vadot};
1855def4c47SEmmanuel Vadot
1865def4c47SEmmanuel Vadot&spi0 {
1875def4c47SEmmanuel Vadot	status = "okay";
188d5b0e70fSEmmanuel Vadot	flash@0 {
1895def4c47SEmmanuel Vadot		#address-cells = <0x1>;
1905def4c47SEmmanuel Vadot		#size-cells = <0x1>;
1915def4c47SEmmanuel Vadot		compatible = "jedec,spi-nor";
1925def4c47SEmmanuel Vadot		reg = <0x0>;
1935def4c47SEmmanuel Vadot		spi-max-frequency = <20000000>;
1945def4c47SEmmanuel Vadot		partition@u-boot {
1955def4c47SEmmanuel Vadot			label = "u-boot";
1965def4c47SEmmanuel Vadot			reg = <0x00000000 0x001f0000>;
1975def4c47SEmmanuel Vadot		};
1985def4c47SEmmanuel Vadot		partition@u-boot-env {
1995def4c47SEmmanuel Vadot			label = "u-boot-env";
2005def4c47SEmmanuel Vadot			reg = <0x001f0000 0x00010000>;
2015def4c47SEmmanuel Vadot		};
2025def4c47SEmmanuel Vadot		partition@ubi1 {
2035def4c47SEmmanuel Vadot			label = "ubi1";
2045def4c47SEmmanuel Vadot			reg = <0x00200000 0x03f00000>;
2055def4c47SEmmanuel Vadot		};
2065def4c47SEmmanuel Vadot		partition@ubi2 {
2075def4c47SEmmanuel Vadot			label = "ubi2";
2085def4c47SEmmanuel Vadot			reg = <0x04100000 0x03f00000>;
2095def4c47SEmmanuel Vadot		};
2105def4c47SEmmanuel Vadot	};
2115def4c47SEmmanuel Vadot};
2125def4c47SEmmanuel Vadot
2135def4c47SEmmanuel Vadot&uart0 {
2145def4c47SEmmanuel Vadot	status = "okay";
2155def4c47SEmmanuel Vadot	pinctrl-0 = <&uart0_pins>;
2165def4c47SEmmanuel Vadot	pinctrl-names = "default";
2175def4c47SEmmanuel Vadot};
2185def4c47SEmmanuel Vadot
2195def4c47SEmmanuel Vadot&uart1 {
2205def4c47SEmmanuel Vadot	status = "okay";
2215def4c47SEmmanuel Vadot	/* IEI WT61P803 PUZZLE MCU Controller */
2225def4c47SEmmanuel Vadot	mcu {
2235def4c47SEmmanuel Vadot		compatible = "iei,wt61p803-puzzle";
2245def4c47SEmmanuel Vadot		current-speed = <115200>;
2255def4c47SEmmanuel Vadot		enable-beep;
2265def4c47SEmmanuel Vadot
2275def4c47SEmmanuel Vadot		leds {
2285def4c47SEmmanuel Vadot			compatible = "iei,wt61p803-puzzle-leds";
2295def4c47SEmmanuel Vadot			#address-cells = <1>;
2305def4c47SEmmanuel Vadot			#size-cells = <0>;
2315def4c47SEmmanuel Vadot
2325def4c47SEmmanuel Vadot			led@0 {
2335def4c47SEmmanuel Vadot				reg = <0>;
2345def4c47SEmmanuel Vadot				function = LED_FUNCTION_POWER;
2355def4c47SEmmanuel Vadot				color = <LED_COLOR_ID_BLUE>;
2365def4c47SEmmanuel Vadot			};
2375def4c47SEmmanuel Vadot		};
2385def4c47SEmmanuel Vadot
2395def4c47SEmmanuel Vadot		hwmon {
2405def4c47SEmmanuel Vadot			compatible = "iei,wt61p803-puzzle-hwmon";
2415def4c47SEmmanuel Vadot			#address-cells = <1>;
2425def4c47SEmmanuel Vadot			#size-cells = <0>;
2435def4c47SEmmanuel Vadot
2445def4c47SEmmanuel Vadot			chassis_fan_group0:fan-group@0 {
2455def4c47SEmmanuel Vadot				#cooling-cells = <2>;
2465def4c47SEmmanuel Vadot				reg = <0x00>;
2475def4c47SEmmanuel Vadot				cooling-levels = <64 102 170 230 250>;
2485def4c47SEmmanuel Vadot			};
2495def4c47SEmmanuel Vadot
2505def4c47SEmmanuel Vadot			chassis_fan_group1:fan-group@1 {
2515def4c47SEmmanuel Vadot				#cooling-cells = <2>;
2525def4c47SEmmanuel Vadot				reg = <0x01>;
2535def4c47SEmmanuel Vadot				cooling-levels = <64 102 170 230 250>;
2545def4c47SEmmanuel Vadot			};
2555def4c47SEmmanuel Vadot		};
2565def4c47SEmmanuel Vadot	};
2575def4c47SEmmanuel Vadot};
2585def4c47SEmmanuel Vadot
2595def4c47SEmmanuel Vadot&cp0_rtc {
2605def4c47SEmmanuel Vadot	status = "disabled";
2615def4c47SEmmanuel Vadot};
2625def4c47SEmmanuel Vadot
2635def4c47SEmmanuel Vadot&cp0_i2c0 {
2645def4c47SEmmanuel Vadot	clock-frequency = <100000>;
2655def4c47SEmmanuel Vadot	pinctrl-names = "default";
2665def4c47SEmmanuel Vadot	pinctrl-0 = <&cp0_i2c0_pins>;
2675def4c47SEmmanuel Vadot	status = "okay";
2685def4c47SEmmanuel Vadot
2695def4c47SEmmanuel Vadot	sfpplus_gpio: gpio@21 {
2705def4c47SEmmanuel Vadot		compatible = "nxp,pca9555";
2715def4c47SEmmanuel Vadot		reg = <0x21>;
2725def4c47SEmmanuel Vadot		gpio-controller;
2735def4c47SEmmanuel Vadot		#gpio-cells = <2>;
2745def4c47SEmmanuel Vadot	};
2755def4c47SEmmanuel Vadot
2765def4c47SEmmanuel Vadot	eeprom@54 {
2775def4c47SEmmanuel Vadot		compatible = "atmel,24c04";
2785def4c47SEmmanuel Vadot		reg = <0x54>;
2795def4c47SEmmanuel Vadot	};
2805def4c47SEmmanuel Vadot};
2815def4c47SEmmanuel Vadot
2825def4c47SEmmanuel Vadot&cp0_i2c1 {
2835def4c47SEmmanuel Vadot	clock-frequency = <100000>;
2845def4c47SEmmanuel Vadot	pinctrl-names = "default";
2855def4c47SEmmanuel Vadot	pinctrl-0 = <&cp0_i2c1_pins>;
2865def4c47SEmmanuel Vadot	status = "okay";
2875def4c47SEmmanuel Vadot
288*f126890aSEmmanuel Vadot	i2c-mux@70 {
2895def4c47SEmmanuel Vadot		compatible = "nxp,pca9544";
2905def4c47SEmmanuel Vadot		#address-cells = <1>;
2915def4c47SEmmanuel Vadot		#size-cells = <0>;
2925def4c47SEmmanuel Vadot		reg = <0x70>;
2935def4c47SEmmanuel Vadot
2945def4c47SEmmanuel Vadot		sfpplus0_i2c: i2c@0 {
2955def4c47SEmmanuel Vadot			#address-cells = <1>;
2965def4c47SEmmanuel Vadot			#size-cells = <0>;
2975def4c47SEmmanuel Vadot			reg = <0>;
2985def4c47SEmmanuel Vadot		};
2995def4c47SEmmanuel Vadot
3005def4c47SEmmanuel Vadot		sfpplus1_i2c: i2c@1 {
3015def4c47SEmmanuel Vadot			#address-cells = <1>;
3025def4c47SEmmanuel Vadot			#size-cells = <0>;
3035def4c47SEmmanuel Vadot			reg = <1>;
3045def4c47SEmmanuel Vadot		};
3055def4c47SEmmanuel Vadot	};
3065def4c47SEmmanuel Vadot};
3075def4c47SEmmanuel Vadot
3085def4c47SEmmanuel Vadot&cp0_uart1 {
3095def4c47SEmmanuel Vadot	pinctrl-names = "default";
3105def4c47SEmmanuel Vadot	pinctrl-0 = <&cp0_uart1_pins>;
3115def4c47SEmmanuel Vadot	status = "okay";
3125def4c47SEmmanuel Vadot};
3135def4c47SEmmanuel Vadot
3145def4c47SEmmanuel Vadot&cp0_mdio {
3155def4c47SEmmanuel Vadot	#address-cells = <1>;
3165def4c47SEmmanuel Vadot	#size-cells = <0>;
3175def4c47SEmmanuel Vadot
3185def4c47SEmmanuel Vadot	status = "okay";
3195def4c47SEmmanuel Vadot
3205def4c47SEmmanuel Vadot	ge_phy2: ethernet-phy@0 {
3215def4c47SEmmanuel Vadot		reg = <0>;
3225def4c47SEmmanuel Vadot	};
3235def4c47SEmmanuel Vadot
3245def4c47SEmmanuel Vadot	ge_phy3: ethernet-phy@1 {
3255def4c47SEmmanuel Vadot		reg = <1>;
3265def4c47SEmmanuel Vadot	};
3275def4c47SEmmanuel Vadot};
3285def4c47SEmmanuel Vadot
3295def4c47SEmmanuel Vadot&cp0_pcie0 {
3305def4c47SEmmanuel Vadot	pinctrl-names = "default";
3315def4c47SEmmanuel Vadot	pinctrl-0 = <&cp0_pcie_pins>;
3325def4c47SEmmanuel Vadot	num-lanes = <1>;
3335def4c47SEmmanuel Vadot	num-viewport = <8>;
3345def4c47SEmmanuel Vadot	reset-gpios = <&cp0_gpio2 20 GPIO_ACTIVE_LOW>;
3355def4c47SEmmanuel Vadot	ranges = <0x82000000 0x0 0xc0000000 0x0 0xc0000000 0x0 0x20000000>;
3365def4c47SEmmanuel Vadot	phys = <&cp0_comphy0 0>;
3375def4c47SEmmanuel Vadot	phy-names = "cp0-pcie0-x1-phy";
3385def4c47SEmmanuel Vadot	status = "okay";
3395def4c47SEmmanuel Vadot};
3405def4c47SEmmanuel Vadot
3415def4c47SEmmanuel Vadot&cp0_pinctrl {
3425def4c47SEmmanuel Vadot	cp0_ge_mdio_pins: ge-mdio-pins {
3435def4c47SEmmanuel Vadot		marvell,pins = "mpp32", "mpp34";
3445def4c47SEmmanuel Vadot		marvell,function = "ge";
3455def4c47SEmmanuel Vadot	};
3465def4c47SEmmanuel Vadot	cp0_i2c1_pins: i2c1-pins {
3475def4c47SEmmanuel Vadot		marvell,pins = "mpp35", "mpp36";
3485def4c47SEmmanuel Vadot		marvell,function = "i2c1";
3495def4c47SEmmanuel Vadot	};
3505def4c47SEmmanuel Vadot	cp0_i2c0_pins: i2c0-pins {
3515def4c47SEmmanuel Vadot		marvell,pins = "mpp37", "mpp38";
3525def4c47SEmmanuel Vadot		marvell,function = "i2c0";
3535def4c47SEmmanuel Vadot	};
3545def4c47SEmmanuel Vadot	cp0_uart1_pins: uart1-pins {
3555def4c47SEmmanuel Vadot		marvell,pins = "mpp40", "mpp41";
3565def4c47SEmmanuel Vadot		marvell,function = "uart1";
3575def4c47SEmmanuel Vadot	};
3585def4c47SEmmanuel Vadot	cp0_xhci_vbus_pins: xhci0-vbus-pins {
3595def4c47SEmmanuel Vadot		marvell,pins = "mpp47";
3605def4c47SEmmanuel Vadot		marvell,function = "gpio";
3615def4c47SEmmanuel Vadot	};
3625def4c47SEmmanuel Vadot	cp0_pcie_pins: pcie-pins {
3635def4c47SEmmanuel Vadot		marvell,pins = "mpp52";
3645def4c47SEmmanuel Vadot		marvell,function = "gpio";
3655def4c47SEmmanuel Vadot	};
3665def4c47SEmmanuel Vadot	cp0_sdhci_pins: sdhci-pins {
3675def4c47SEmmanuel Vadot		marvell,pins = "mpp55", "mpp56", "mpp57", "mpp58", "mpp59",
3685def4c47SEmmanuel Vadot			       "mpp60", "mpp61";
3695def4c47SEmmanuel Vadot		marvell,function = "sdio";
3705def4c47SEmmanuel Vadot	};
3715def4c47SEmmanuel Vadot	cp0_sfpplus_led_pins: sfpplus-led-pins {
3725def4c47SEmmanuel Vadot		marvell,pins = "mpp54";
3735def4c47SEmmanuel Vadot		marvell,function = "gpio";
3745def4c47SEmmanuel Vadot	};
3755def4c47SEmmanuel Vadot};
3765def4c47SEmmanuel Vadot
3775def4c47SEmmanuel Vadot&cp0_ethernet {
3785def4c47SEmmanuel Vadot	status = "okay";
3795def4c47SEmmanuel Vadot};
3805def4c47SEmmanuel Vadot
3815def4c47SEmmanuel Vadot&cp0_eth0 {
3825def4c47SEmmanuel Vadot	status = "okay";
3835def4c47SEmmanuel Vadot	phy-mode = "10gbase-r";
3845def4c47SEmmanuel Vadot	phys = <&cp0_comphy4 0>;
3855def4c47SEmmanuel Vadot	local-mac-address = [ae 00 00 00 ff 00];
3865def4c47SEmmanuel Vadot	sfp = <&sfp_cp0_eth0>;
3875def4c47SEmmanuel Vadot	managed = "in-band-status";
3885def4c47SEmmanuel Vadot};
3895def4c47SEmmanuel Vadot
3905def4c47SEmmanuel Vadot&cp0_eth1 {
3915def4c47SEmmanuel Vadot	status = "okay";
3925def4c47SEmmanuel Vadot	phy = <&ge_phy2>;
3935def4c47SEmmanuel Vadot	phy-mode = "sgmii";
3945def4c47SEmmanuel Vadot	local-mac-address = [ae 00 00 00 ff 01];
3955def4c47SEmmanuel Vadot	phys = <&cp0_comphy3 1>;
3965def4c47SEmmanuel Vadot};
3975def4c47SEmmanuel Vadot
3985def4c47SEmmanuel Vadot&cp0_eth2 {
3995def4c47SEmmanuel Vadot	status = "okay";
4005def4c47SEmmanuel Vadot	phy-mode = "sgmii";
4015def4c47SEmmanuel Vadot	phys = <&cp0_comphy1 2>;
4025def4c47SEmmanuel Vadot	local-mac-address = [ae 00 00 00 ff 02];
4035def4c47SEmmanuel Vadot	phy = <&ge_phy3>;
4045def4c47SEmmanuel Vadot};
4055def4c47SEmmanuel Vadot
4065def4c47SEmmanuel Vadot&cp0_sata0 {
4075def4c47SEmmanuel Vadot	status = "okay";
4085def4c47SEmmanuel Vadot
4095def4c47SEmmanuel Vadot	sata-port@0 {
4105def4c47SEmmanuel Vadot		phys = <&cp0_comphy2 0>;
4115def4c47SEmmanuel Vadot		phy-names = "cp0-sata0-0-phy";
4125def4c47SEmmanuel Vadot	};
4135def4c47SEmmanuel Vadot
4145def4c47SEmmanuel Vadot	sata-port@1 {
4155def4c47SEmmanuel Vadot		phys = <&cp0_comphy5 1>;
4165def4c47SEmmanuel Vadot		phy-names = "cp0-sata0-1-phy";
4175def4c47SEmmanuel Vadot	};
4185def4c47SEmmanuel Vadot};
4195def4c47SEmmanuel Vadot
4205def4c47SEmmanuel Vadot&cp0_sdhci0 {
4215def4c47SEmmanuel Vadot	broken-cd;
4225def4c47SEmmanuel Vadot	bus-width = <4>;
4235def4c47SEmmanuel Vadot	pinctrl-names = "default";
4245def4c47SEmmanuel Vadot	pinctrl-0 = <&cp0_sdhci_pins>;
4255def4c47SEmmanuel Vadot	status = "okay";
4265def4c47SEmmanuel Vadot	vqmmc-supply = <&v_3_3>;
4275def4c47SEmmanuel Vadot};
4285def4c47SEmmanuel Vadot
4295def4c47SEmmanuel Vadot&cp0_usb3_0 {
4305def4c47SEmmanuel Vadot	status = "okay";
4315def4c47SEmmanuel Vadot};
4325def4c47SEmmanuel Vadot
4335def4c47SEmmanuel Vadot&cp0_usb3_1 {
4345def4c47SEmmanuel Vadot	status = "okay";
4355def4c47SEmmanuel Vadot};
4365def4c47SEmmanuel Vadot
4375def4c47SEmmanuel Vadot&cp1_i2c0 {
4385def4c47SEmmanuel Vadot	clock-frequency = <100000>;
4395def4c47SEmmanuel Vadot	status = "disabled";
4405def4c47SEmmanuel Vadot};
4415def4c47SEmmanuel Vadot
4425def4c47SEmmanuel Vadot&cp1_i2c1 {
4435def4c47SEmmanuel Vadot	clock-frequency = <100000>;
4445def4c47SEmmanuel Vadot	status = "disabled";
4455def4c47SEmmanuel Vadot};
4465def4c47SEmmanuel Vadot
4475def4c47SEmmanuel Vadot&cp1_rtc {
4485def4c47SEmmanuel Vadot	status = "disabled";
4495def4c47SEmmanuel Vadot};
4505def4c47SEmmanuel Vadot
4515def4c47SEmmanuel Vadot&cp1_ethernet {
4525def4c47SEmmanuel Vadot	status = "okay";
4535def4c47SEmmanuel Vadot};
4545def4c47SEmmanuel Vadot
4555def4c47SEmmanuel Vadot&cp1_eth0 {
4565def4c47SEmmanuel Vadot	status = "okay";
4575def4c47SEmmanuel Vadot	phy-mode = "10gbase-r";
4585def4c47SEmmanuel Vadot	phys = <&cp1_comphy4 0>;
4595def4c47SEmmanuel Vadot	local-mac-address = [ae 00 00 00 ff 03];
4605def4c47SEmmanuel Vadot	sfp = <&sfp_cp1_eth0>;
4615def4c47SEmmanuel Vadot	managed = "in-band-status";
4625def4c47SEmmanuel Vadot};
4635def4c47SEmmanuel Vadot
4645def4c47SEmmanuel Vadot&cp1_eth1 {
4655def4c47SEmmanuel Vadot	status = "okay";
4665def4c47SEmmanuel Vadot	phy = <&ge_phy4>;
4675def4c47SEmmanuel Vadot	phy-mode = "sgmii";
4685def4c47SEmmanuel Vadot	local-mac-address = [ae 00 00 00 ff 04];
4695def4c47SEmmanuel Vadot	phys = <&cp1_comphy3 1>;
4705def4c47SEmmanuel Vadot};
4715def4c47SEmmanuel Vadot
4725def4c47SEmmanuel Vadot&cp1_eth2 {
4735def4c47SEmmanuel Vadot	status = "okay";
4745def4c47SEmmanuel Vadot	phy-mode = "sgmii";
4755def4c47SEmmanuel Vadot	local-mac-address = [ae 00 00 00 ff 05];
4765def4c47SEmmanuel Vadot	phys = <&cp1_comphy5 2>;
4775def4c47SEmmanuel Vadot	phy = <&ge_phy5>;
4785def4c47SEmmanuel Vadot};
4795def4c47SEmmanuel Vadot
4805def4c47SEmmanuel Vadot&cp1_pinctrl {
4815def4c47SEmmanuel Vadot	cp1_sfpplus_led_pins: sfpplus-led-pins {
4825def4c47SEmmanuel Vadot		marvell,pins = "mpp6", "mpp7", "mpp8", "mpp10", "mpp14", "mpp31";
4835def4c47SEmmanuel Vadot		marvell,function = "gpio";
4845def4c47SEmmanuel Vadot	};
4855def4c47SEmmanuel Vadot};
4865def4c47SEmmanuel Vadot
4875def4c47SEmmanuel Vadot&cp1_uart0 {
4885def4c47SEmmanuel Vadot	status = "disabled";
4895def4c47SEmmanuel Vadot};
4905def4c47SEmmanuel Vadot
4915def4c47SEmmanuel Vadot&cp1_comphy2 {
4925def4c47SEmmanuel Vadot	cp1_usbh0_con: connector {
4935def4c47SEmmanuel Vadot		compatible = "usb-a-connector";
4945def4c47SEmmanuel Vadot		phy-supply = <&v_5v0_usb3_hst_vbus>;
4955def4c47SEmmanuel Vadot	};
4965def4c47SEmmanuel Vadot};
4975def4c47SEmmanuel Vadot
4985def4c47SEmmanuel Vadot&cp1_usb3_0 {
4995def4c47SEmmanuel Vadot	phys = <&cp1_comphy2 0>;
5005def4c47SEmmanuel Vadot	phy-names = "cp1-usb3h0-comphy";
5015def4c47SEmmanuel Vadot	status = "okay";
5025def4c47SEmmanuel Vadot};
5035def4c47SEmmanuel Vadot
5045def4c47SEmmanuel Vadot&cp1_mdio {
5055def4c47SEmmanuel Vadot	#address-cells = <1>;
5065def4c47SEmmanuel Vadot	#size-cells = <0>;
5075def4c47SEmmanuel Vadot
5085def4c47SEmmanuel Vadot	status = "okay";
5095def4c47SEmmanuel Vadot
5105def4c47SEmmanuel Vadot	ge_phy4: ethernet-phy@1 {
5115def4c47SEmmanuel Vadot		reg = <1>;
5125def4c47SEmmanuel Vadot	};
5135def4c47SEmmanuel Vadot	ge_phy5: ethernet-phy@0 {
5145def4c47SEmmanuel Vadot		reg = <0>;
5155def4c47SEmmanuel Vadot	};
5165def4c47SEmmanuel Vadot};
5175def4c47SEmmanuel Vadot
5185def4c47SEmmanuel Vadot&cp1_pcie0 {
5195def4c47SEmmanuel Vadot	num-lanes = <2>;
5205def4c47SEmmanuel Vadot	phys = <&cp1_comphy0 0>, <&cp1_comphy1 0>;
5215def4c47SEmmanuel Vadot	phy-names = "cp1-pcie0-x2-lane0-phy", "cp1-pcie0-x2-lane1-phy";
5225def4c47SEmmanuel Vadot	status = "okay";
5235def4c47SEmmanuel Vadot};
524