162306a36Sopenharmony_ci// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Copyright (C) 2016 Marvell Technology Group Ltd.
462306a36Sopenharmony_ci * Copyright (C) 2020 Sartura Ltd.
562306a36Sopenharmony_ci *
662306a36Sopenharmony_ci * Device Tree file for IEI Puzzle-M801
762306a36Sopenharmony_ci */
862306a36Sopenharmony_ci
962306a36Sopenharmony_ci#include "armada-8040.dtsi"
1062306a36Sopenharmony_ci
1162306a36Sopenharmony_ci#include <dt-bindings/gpio/gpio.h>
1262306a36Sopenharmony_ci#include <dt-bindings/leds/common.h>
1362306a36Sopenharmony_ci
1462306a36Sopenharmony_ci/ {
1562306a36Sopenharmony_ci	model = "IEI-Puzzle-M801";
1662306a36Sopenharmony_ci	compatible = "marvell,armada8040", "marvell,armada-ap806-quad", "marvell,armada-ap806";
1762306a36Sopenharmony_ci
1862306a36Sopenharmony_ci	aliases {
1962306a36Sopenharmony_ci		ethernet0 = &cp0_eth0;
2062306a36Sopenharmony_ci		ethernet1 = &cp1_eth0;
2162306a36Sopenharmony_ci		ethernet2 = &cp0_eth1;
2262306a36Sopenharmony_ci		ethernet3 = &cp0_eth2;
2362306a36Sopenharmony_ci		ethernet4 = &cp1_eth1;
2462306a36Sopenharmony_ci		ethernet5 = &cp1_eth2;
2562306a36Sopenharmony_ci	};
2662306a36Sopenharmony_ci
2762306a36Sopenharmony_ci	chosen {
2862306a36Sopenharmony_ci		stdout-path = "serial0:115200n8";
2962306a36Sopenharmony_ci	};
3062306a36Sopenharmony_ci
3162306a36Sopenharmony_ci	memory@0 {
3262306a36Sopenharmony_ci		device_type = "memory";
3362306a36Sopenharmony_ci		reg = <0x0 0x0 0x0 0x80000000>;
3462306a36Sopenharmony_ci	};
3562306a36Sopenharmony_ci
3662306a36Sopenharmony_ci	/* Regulator labels correspond with schematics */
3762306a36Sopenharmony_ci	v_3_3: regulator-3-3v {
3862306a36Sopenharmony_ci		compatible = "regulator-fixed";
3962306a36Sopenharmony_ci		regulator-name = "v_3_3";
4062306a36Sopenharmony_ci		regulator-min-microvolt = <3300000>;
4162306a36Sopenharmony_ci		regulator-max-microvolt = <3300000>;
4262306a36Sopenharmony_ci		regulator-always-on;
4362306a36Sopenharmony_ci		status = "okay";
4462306a36Sopenharmony_ci	};
4562306a36Sopenharmony_ci
4662306a36Sopenharmony_ci	v_5v0_usb3_hst_vbus: regulator-usb3-vbus0 {
4762306a36Sopenharmony_ci		compatible = "regulator-fixed";
4862306a36Sopenharmony_ci		enable-active-high;
4962306a36Sopenharmony_ci		gpio = <&cp0_gpio2 15 GPIO_ACTIVE_HIGH>;
5062306a36Sopenharmony_ci		pinctrl-names = "default";
5162306a36Sopenharmony_ci		pinctrl-0 = <&cp0_xhci_vbus_pins>;
5262306a36Sopenharmony_ci		regulator-name = "v_5v0_usb3_hst_vbus";
5362306a36Sopenharmony_ci		regulator-min-microvolt = <5000000>;
5462306a36Sopenharmony_ci		regulator-max-microvolt = <5000000>;
5562306a36Sopenharmony_ci		status = "okay";
5662306a36Sopenharmony_ci	};
5762306a36Sopenharmony_ci
5862306a36Sopenharmony_ci	v_vddo_h: regulator-1-8v {
5962306a36Sopenharmony_ci		compatible = "regulator-fixed";
6062306a36Sopenharmony_ci		regulator-name = "v_vddo_h";
6162306a36Sopenharmony_ci		regulator-min-microvolt = <1800000>;
6262306a36Sopenharmony_ci		regulator-max-microvolt = <1800000>;
6362306a36Sopenharmony_ci		regulator-always-on;
6462306a36Sopenharmony_ci		status = "okay";
6562306a36Sopenharmony_ci	};
6662306a36Sopenharmony_ci
6762306a36Sopenharmony_ci	sfp_cp0_eth0: sfp-cp0-eth0 {
6862306a36Sopenharmony_ci		compatible = "sff,sfp";
6962306a36Sopenharmony_ci		i2c-bus = <&sfpplus0_i2c>;
7062306a36Sopenharmony_ci		los-gpios = <&sfpplus_gpio 11 GPIO_ACTIVE_HIGH>;
7162306a36Sopenharmony_ci		mod-def0-gpios = <&sfpplus_gpio 10 GPIO_ACTIVE_LOW>;
7262306a36Sopenharmony_ci		tx-disable-gpios = <&sfpplus_gpio 9 GPIO_ACTIVE_HIGH>;
7362306a36Sopenharmony_ci		tx-fault-gpios = <&sfpplus_gpio 8 GPIO_ACTIVE_HIGH>;
7462306a36Sopenharmony_ci		maximum-power-milliwatt = <3000>;
7562306a36Sopenharmony_ci	};
7662306a36Sopenharmony_ci
7762306a36Sopenharmony_ci	sfp_cp1_eth0: sfp-cp1-eth0 {
7862306a36Sopenharmony_ci		compatible = "sff,sfp";
7962306a36Sopenharmony_ci		i2c-bus = <&sfpplus1_i2c>;
8062306a36Sopenharmony_ci		los-gpios = <&sfpplus_gpio 3 GPIO_ACTIVE_HIGH>;
8162306a36Sopenharmony_ci		mod-def0-gpios = <&sfpplus_gpio 2 GPIO_ACTIVE_LOW>;
8262306a36Sopenharmony_ci		tx-disable-gpios = <&sfpplus_gpio 1 GPIO_ACTIVE_HIGH>;
8362306a36Sopenharmony_ci		tx-fault-gpios = <&sfpplus_gpio 0 GPIO_ACTIVE_HIGH>;
8462306a36Sopenharmony_ci		maximum-power-milliwatt = <3000>;
8562306a36Sopenharmony_ci	};
8662306a36Sopenharmony_ci
8762306a36Sopenharmony_ci	leds {
8862306a36Sopenharmony_ci		compatible = "gpio-leds";
8962306a36Sopenharmony_ci		status = "okay";
9062306a36Sopenharmony_ci		pinctrl-0 = <&cp0_sfpplus_led_pins &cp1_sfpplus_led_pins>;
9162306a36Sopenharmony_ci		pinctrl-names = "default";
9262306a36Sopenharmony_ci
9362306a36Sopenharmony_ci		led-0 {
9462306a36Sopenharmony_ci			/* SFP+ port 2: Activity */
9562306a36Sopenharmony_ci			function = LED_FUNCTION_LAN;
9662306a36Sopenharmony_ci			function-enumerator = <0>;
9762306a36Sopenharmony_ci			gpios = <&cp1_gpio1 6 GPIO_ACTIVE_LOW>;
9862306a36Sopenharmony_ci		};
9962306a36Sopenharmony_ci
10062306a36Sopenharmony_ci		led-1 {
10162306a36Sopenharmony_ci			/* SFP+ port 1: Activity */
10262306a36Sopenharmony_ci			function = LED_FUNCTION_LAN;
10362306a36Sopenharmony_ci			function-enumerator = <1>;
10462306a36Sopenharmony_ci			gpios = <&cp1_gpio1 14 GPIO_ACTIVE_LOW>;
10562306a36Sopenharmony_ci		};
10662306a36Sopenharmony_ci
10762306a36Sopenharmony_ci		led-2 {
10862306a36Sopenharmony_ci			/* SFP+ port 2: 10 Gbps indicator */
10962306a36Sopenharmony_ci			function = LED_FUNCTION_LAN;
11062306a36Sopenharmony_ci			function-enumerator = <2>;
11162306a36Sopenharmony_ci			gpios = <&cp1_gpio1 7 GPIO_ACTIVE_LOW>;
11262306a36Sopenharmony_ci		};
11362306a36Sopenharmony_ci
11462306a36Sopenharmony_ci		led-3 {
11562306a36Sopenharmony_ci			/* SFP+ port 2: 1 Gbps indicator */
11662306a36Sopenharmony_ci			function = LED_FUNCTION_LAN;
11762306a36Sopenharmony_ci			function-enumerator = <3>;
11862306a36Sopenharmony_ci			gpios = <&cp1_gpio1 8 GPIO_ACTIVE_LOW>;
11962306a36Sopenharmony_ci		};
12062306a36Sopenharmony_ci
12162306a36Sopenharmony_ci		led-4 {
12262306a36Sopenharmony_ci			/* SFP+ port 1: 10 Gbps indicator */
12362306a36Sopenharmony_ci			function = LED_FUNCTION_LAN;
12462306a36Sopenharmony_ci			function-enumerator = <4>;
12562306a36Sopenharmony_ci			gpios = <&cp1_gpio1 10 GPIO_ACTIVE_LOW>;
12662306a36Sopenharmony_ci		};
12762306a36Sopenharmony_ci
12862306a36Sopenharmony_ci		led-5 {
12962306a36Sopenharmony_ci			/* SFP+ port 1: 1 Gbps indicator */
13062306a36Sopenharmony_ci			function = LED_FUNCTION_LAN;
13162306a36Sopenharmony_ci			function-enumerator = <5>;
13262306a36Sopenharmony_ci			gpios = <&cp1_gpio1 31 GPIO_ACTIVE_LOW>;
13362306a36Sopenharmony_ci		};
13462306a36Sopenharmony_ci
13562306a36Sopenharmony_ci		led-6 {
13662306a36Sopenharmony_ci			function = LED_FUNCTION_DISK;
13762306a36Sopenharmony_ci			linux,default-trigger = "disk-activity";
13862306a36Sopenharmony_ci			gpios = <&cp0_gpio2 22 GPIO_ACTIVE_HIGH>;
13962306a36Sopenharmony_ci		};
14062306a36Sopenharmony_ci
14162306a36Sopenharmony_ci	};
14262306a36Sopenharmony_ci};
14362306a36Sopenharmony_ci
14462306a36Sopenharmony_ci&ap_sdhci0 {
14562306a36Sopenharmony_ci	bus-width = <8>;
14662306a36Sopenharmony_ci	/*
14762306a36Sopenharmony_ci	 * Not stable in HS modes - phy needs "more calibration", so add
14862306a36Sopenharmony_ci	 * the "slow-mode" and disable SDR104, SDR50 and DDR50 modes.
14962306a36Sopenharmony_ci	 */
15062306a36Sopenharmony_ci	marvell,xenon-phy-slow-mode;
15162306a36Sopenharmony_ci	no-1-8-v;
15262306a36Sopenharmony_ci	no-sd;
15362306a36Sopenharmony_ci	no-sdio;
15462306a36Sopenharmony_ci	non-removable;
15562306a36Sopenharmony_ci	status = "okay";
15662306a36Sopenharmony_ci	vqmmc-supply = <&v_vddo_h>;
15762306a36Sopenharmony_ci};
15862306a36Sopenharmony_ci
15962306a36Sopenharmony_ci&ap_thermal_cpu1 {
16062306a36Sopenharmony_ci	trips {
16162306a36Sopenharmony_ci		cpu_active: cpu-active {
16262306a36Sopenharmony_ci			temperature = <44000>;
16362306a36Sopenharmony_ci			hysteresis = <2000>;
16462306a36Sopenharmony_ci			type = "active";
16562306a36Sopenharmony_ci		};
16662306a36Sopenharmony_ci	};
16762306a36Sopenharmony_ci	cooling-maps {
16862306a36Sopenharmony_ci		fan-map {
16962306a36Sopenharmony_ci			trip = <&cpu_active>;
17062306a36Sopenharmony_ci			cooling-device = <&chassis_fan_group0 64 THERMAL_NO_LIMIT>,
17162306a36Sopenharmony_ci					<&chassis_fan_group1 64 THERMAL_NO_LIMIT>;
17262306a36Sopenharmony_ci		};
17362306a36Sopenharmony_ci	};
17462306a36Sopenharmony_ci};
17562306a36Sopenharmony_ci
17662306a36Sopenharmony_ci&i2c0 {
17762306a36Sopenharmony_ci	clock-frequency = <100000>;
17862306a36Sopenharmony_ci	status = "okay";
17962306a36Sopenharmony_ci
18062306a36Sopenharmony_ci	rtc@32 {
18162306a36Sopenharmony_ci		compatible = "epson,rx8010";
18262306a36Sopenharmony_ci		reg = <0x32>;
18362306a36Sopenharmony_ci	};
18462306a36Sopenharmony_ci};
18562306a36Sopenharmony_ci
18662306a36Sopenharmony_ci&spi0 {
18762306a36Sopenharmony_ci	status = "okay";
18862306a36Sopenharmony_ci	flash@0 {
18962306a36Sopenharmony_ci		#address-cells = <0x1>;
19062306a36Sopenharmony_ci		#size-cells = <0x1>;
19162306a36Sopenharmony_ci		compatible = "jedec,spi-nor";
19262306a36Sopenharmony_ci		reg = <0x0>;
19362306a36Sopenharmony_ci		spi-max-frequency = <20000000>;
19462306a36Sopenharmony_ci		partition@u-boot {
19562306a36Sopenharmony_ci			label = "u-boot";
19662306a36Sopenharmony_ci			reg = <0x00000000 0x001f0000>;
19762306a36Sopenharmony_ci		};
19862306a36Sopenharmony_ci		partition@u-boot-env {
19962306a36Sopenharmony_ci			label = "u-boot-env";
20062306a36Sopenharmony_ci			reg = <0x001f0000 0x00010000>;
20162306a36Sopenharmony_ci		};
20262306a36Sopenharmony_ci		partition@ubi1 {
20362306a36Sopenharmony_ci			label = "ubi1";
20462306a36Sopenharmony_ci			reg = <0x00200000 0x03f00000>;
20562306a36Sopenharmony_ci		};
20662306a36Sopenharmony_ci		partition@ubi2 {
20762306a36Sopenharmony_ci			label = "ubi2";
20862306a36Sopenharmony_ci			reg = <0x04100000 0x03f00000>;
20962306a36Sopenharmony_ci		};
21062306a36Sopenharmony_ci	};
21162306a36Sopenharmony_ci};
21262306a36Sopenharmony_ci
21362306a36Sopenharmony_ci&uart0 {
21462306a36Sopenharmony_ci	status = "okay";
21562306a36Sopenharmony_ci	pinctrl-0 = <&uart0_pins>;
21662306a36Sopenharmony_ci	pinctrl-names = "default";
21762306a36Sopenharmony_ci};
21862306a36Sopenharmony_ci
21962306a36Sopenharmony_ci&uart1 {
22062306a36Sopenharmony_ci	status = "okay";
22162306a36Sopenharmony_ci	/* IEI WT61P803 PUZZLE MCU Controller */
22262306a36Sopenharmony_ci	mcu {
22362306a36Sopenharmony_ci		compatible = "iei,wt61p803-puzzle";
22462306a36Sopenharmony_ci		current-speed = <115200>;
22562306a36Sopenharmony_ci		enable-beep;
22662306a36Sopenharmony_ci
22762306a36Sopenharmony_ci		leds {
22862306a36Sopenharmony_ci			compatible = "iei,wt61p803-puzzle-leds";
22962306a36Sopenharmony_ci			#address-cells = <1>;
23062306a36Sopenharmony_ci			#size-cells = <0>;
23162306a36Sopenharmony_ci
23262306a36Sopenharmony_ci			led@0 {
23362306a36Sopenharmony_ci				reg = <0>;
23462306a36Sopenharmony_ci				function = LED_FUNCTION_POWER;
23562306a36Sopenharmony_ci				color = <LED_COLOR_ID_BLUE>;
23662306a36Sopenharmony_ci			};
23762306a36Sopenharmony_ci		};
23862306a36Sopenharmony_ci
23962306a36Sopenharmony_ci		hwmon {
24062306a36Sopenharmony_ci			compatible = "iei,wt61p803-puzzle-hwmon";
24162306a36Sopenharmony_ci			#address-cells = <1>;
24262306a36Sopenharmony_ci			#size-cells = <0>;
24362306a36Sopenharmony_ci
24462306a36Sopenharmony_ci			chassis_fan_group0:fan-group@0 {
24562306a36Sopenharmony_ci				#cooling-cells = <2>;
24662306a36Sopenharmony_ci				reg = <0x00>;
24762306a36Sopenharmony_ci				cooling-levels = <64 102 170 230 250>;
24862306a36Sopenharmony_ci			};
24962306a36Sopenharmony_ci
25062306a36Sopenharmony_ci			chassis_fan_group1:fan-group@1 {
25162306a36Sopenharmony_ci				#cooling-cells = <2>;
25262306a36Sopenharmony_ci				reg = <0x01>;
25362306a36Sopenharmony_ci				cooling-levels = <64 102 170 230 250>;
25462306a36Sopenharmony_ci			};
25562306a36Sopenharmony_ci		};
25662306a36Sopenharmony_ci	};
25762306a36Sopenharmony_ci};
25862306a36Sopenharmony_ci
25962306a36Sopenharmony_ci&cp0_rtc {
26062306a36Sopenharmony_ci	status = "disabled";
26162306a36Sopenharmony_ci};
26262306a36Sopenharmony_ci
26362306a36Sopenharmony_ci&cp0_i2c0 {
26462306a36Sopenharmony_ci	clock-frequency = <100000>;
26562306a36Sopenharmony_ci	pinctrl-names = "default";
26662306a36Sopenharmony_ci	pinctrl-0 = <&cp0_i2c0_pins>;
26762306a36Sopenharmony_ci	status = "okay";
26862306a36Sopenharmony_ci
26962306a36Sopenharmony_ci	sfpplus_gpio: gpio@21 {
27062306a36Sopenharmony_ci		compatible = "nxp,pca9555";
27162306a36Sopenharmony_ci		reg = <0x21>;
27262306a36Sopenharmony_ci		gpio-controller;
27362306a36Sopenharmony_ci		#gpio-cells = <2>;
27462306a36Sopenharmony_ci	};
27562306a36Sopenharmony_ci
27662306a36Sopenharmony_ci	eeprom@54 {
27762306a36Sopenharmony_ci		compatible = "atmel,24c04";
27862306a36Sopenharmony_ci		reg = <0x54>;
27962306a36Sopenharmony_ci	};
28062306a36Sopenharmony_ci};
28162306a36Sopenharmony_ci
28262306a36Sopenharmony_ci&cp0_i2c1 {
28362306a36Sopenharmony_ci	clock-frequency = <100000>;
28462306a36Sopenharmony_ci	pinctrl-names = "default";
28562306a36Sopenharmony_ci	pinctrl-0 = <&cp0_i2c1_pins>;
28662306a36Sopenharmony_ci	status = "okay";
28762306a36Sopenharmony_ci
28862306a36Sopenharmony_ci	i2c-mux@70 {
28962306a36Sopenharmony_ci		compatible = "nxp,pca9544";
29062306a36Sopenharmony_ci		#address-cells = <1>;
29162306a36Sopenharmony_ci		#size-cells = <0>;
29262306a36Sopenharmony_ci		reg = <0x70>;
29362306a36Sopenharmony_ci
29462306a36Sopenharmony_ci		sfpplus0_i2c: i2c@0 {
29562306a36Sopenharmony_ci			#address-cells = <1>;
29662306a36Sopenharmony_ci			#size-cells = <0>;
29762306a36Sopenharmony_ci			reg = <0>;
29862306a36Sopenharmony_ci		};
29962306a36Sopenharmony_ci
30062306a36Sopenharmony_ci		sfpplus1_i2c: i2c@1 {
30162306a36Sopenharmony_ci			#address-cells = <1>;
30262306a36Sopenharmony_ci			#size-cells = <0>;
30362306a36Sopenharmony_ci			reg = <1>;
30462306a36Sopenharmony_ci		};
30562306a36Sopenharmony_ci	};
30662306a36Sopenharmony_ci};
30762306a36Sopenharmony_ci
30862306a36Sopenharmony_ci&cp0_uart1 {
30962306a36Sopenharmony_ci	pinctrl-names = "default";
31062306a36Sopenharmony_ci	pinctrl-0 = <&cp0_uart1_pins>;
31162306a36Sopenharmony_ci	status = "okay";
31262306a36Sopenharmony_ci};
31362306a36Sopenharmony_ci
31462306a36Sopenharmony_ci&cp0_mdio {
31562306a36Sopenharmony_ci	#address-cells = <1>;
31662306a36Sopenharmony_ci	#size-cells = <0>;
31762306a36Sopenharmony_ci
31862306a36Sopenharmony_ci	status = "okay";
31962306a36Sopenharmony_ci
32062306a36Sopenharmony_ci	ge_phy2: ethernet-phy@0 {
32162306a36Sopenharmony_ci		reg = <0>;
32262306a36Sopenharmony_ci	};
32362306a36Sopenharmony_ci
32462306a36Sopenharmony_ci	ge_phy3: ethernet-phy@1 {
32562306a36Sopenharmony_ci		reg = <1>;
32662306a36Sopenharmony_ci	};
32762306a36Sopenharmony_ci};
32862306a36Sopenharmony_ci
32962306a36Sopenharmony_ci&cp0_pcie0 {
33062306a36Sopenharmony_ci	pinctrl-names = "default";
33162306a36Sopenharmony_ci	pinctrl-0 = <&cp0_pcie_pins>;
33262306a36Sopenharmony_ci	num-lanes = <1>;
33362306a36Sopenharmony_ci	num-viewport = <8>;
33462306a36Sopenharmony_ci	reset-gpios = <&cp0_gpio2 20 GPIO_ACTIVE_LOW>;
33562306a36Sopenharmony_ci	ranges = <0x82000000 0x0 0xc0000000 0x0 0xc0000000 0x0 0x20000000>;
33662306a36Sopenharmony_ci	phys = <&cp0_comphy0 0>;
33762306a36Sopenharmony_ci	phy-names = "cp0-pcie0-x1-phy";
33862306a36Sopenharmony_ci	status = "okay";
33962306a36Sopenharmony_ci};
34062306a36Sopenharmony_ci
34162306a36Sopenharmony_ci&cp0_pinctrl {
34262306a36Sopenharmony_ci	cp0_ge_mdio_pins: ge-mdio-pins {
34362306a36Sopenharmony_ci		marvell,pins = "mpp32", "mpp34";
34462306a36Sopenharmony_ci		marvell,function = "ge";
34562306a36Sopenharmony_ci	};
34662306a36Sopenharmony_ci	cp0_i2c1_pins: i2c1-pins {
34762306a36Sopenharmony_ci		marvell,pins = "mpp35", "mpp36";
34862306a36Sopenharmony_ci		marvell,function = "i2c1";
34962306a36Sopenharmony_ci	};
35062306a36Sopenharmony_ci	cp0_i2c0_pins: i2c0-pins {
35162306a36Sopenharmony_ci		marvell,pins = "mpp37", "mpp38";
35262306a36Sopenharmony_ci		marvell,function = "i2c0";
35362306a36Sopenharmony_ci	};
35462306a36Sopenharmony_ci	cp0_uart1_pins: uart1-pins {
35562306a36Sopenharmony_ci		marvell,pins = "mpp40", "mpp41";
35662306a36Sopenharmony_ci		marvell,function = "uart1";
35762306a36Sopenharmony_ci	};
35862306a36Sopenharmony_ci	cp0_xhci_vbus_pins: xhci0-vbus-pins {
35962306a36Sopenharmony_ci		marvell,pins = "mpp47";
36062306a36Sopenharmony_ci		marvell,function = "gpio";
36162306a36Sopenharmony_ci	};
36262306a36Sopenharmony_ci	cp0_pcie_pins: pcie-pins {
36362306a36Sopenharmony_ci		marvell,pins = "mpp52";
36462306a36Sopenharmony_ci		marvell,function = "gpio";
36562306a36Sopenharmony_ci	};
36662306a36Sopenharmony_ci	cp0_sdhci_pins: sdhci-pins {
36762306a36Sopenharmony_ci		marvell,pins = "mpp55", "mpp56", "mpp57", "mpp58", "mpp59",
36862306a36Sopenharmony_ci			       "mpp60", "mpp61";
36962306a36Sopenharmony_ci		marvell,function = "sdio";
37062306a36Sopenharmony_ci	};
37162306a36Sopenharmony_ci	cp0_sfpplus_led_pins: sfpplus-led-pins {
37262306a36Sopenharmony_ci		marvell,pins = "mpp54";
37362306a36Sopenharmony_ci		marvell,function = "gpio";
37462306a36Sopenharmony_ci	};
37562306a36Sopenharmony_ci};
37662306a36Sopenharmony_ci
37762306a36Sopenharmony_ci&cp0_ethernet {
37862306a36Sopenharmony_ci	status = "okay";
37962306a36Sopenharmony_ci};
38062306a36Sopenharmony_ci
38162306a36Sopenharmony_ci&cp0_eth0 {
38262306a36Sopenharmony_ci	status = "okay";
38362306a36Sopenharmony_ci	phy-mode = "10gbase-r";
38462306a36Sopenharmony_ci	phys = <&cp0_comphy4 0>;
38562306a36Sopenharmony_ci	local-mac-address = [ae 00 00 00 ff 00];
38662306a36Sopenharmony_ci	sfp = <&sfp_cp0_eth0>;
38762306a36Sopenharmony_ci	managed = "in-band-status";
38862306a36Sopenharmony_ci};
38962306a36Sopenharmony_ci
39062306a36Sopenharmony_ci&cp0_eth1 {
39162306a36Sopenharmony_ci	status = "okay";
39262306a36Sopenharmony_ci	phy = <&ge_phy2>;
39362306a36Sopenharmony_ci	phy-mode = "sgmii";
39462306a36Sopenharmony_ci	local-mac-address = [ae 00 00 00 ff 01];
39562306a36Sopenharmony_ci	phys = <&cp0_comphy3 1>;
39662306a36Sopenharmony_ci};
39762306a36Sopenharmony_ci
39862306a36Sopenharmony_ci&cp0_eth2 {
39962306a36Sopenharmony_ci	status = "okay";
40062306a36Sopenharmony_ci	phy-mode = "sgmii";
40162306a36Sopenharmony_ci	phys = <&cp0_comphy1 2>;
40262306a36Sopenharmony_ci	local-mac-address = [ae 00 00 00 ff 02];
40362306a36Sopenharmony_ci	phy = <&ge_phy3>;
40462306a36Sopenharmony_ci};
40562306a36Sopenharmony_ci
40662306a36Sopenharmony_ci&cp0_sata0 {
40762306a36Sopenharmony_ci	status = "okay";
40862306a36Sopenharmony_ci
40962306a36Sopenharmony_ci	sata-port@0 {
41062306a36Sopenharmony_ci		phys = <&cp0_comphy2 0>;
41162306a36Sopenharmony_ci		phy-names = "cp0-sata0-0-phy";
41262306a36Sopenharmony_ci	};
41362306a36Sopenharmony_ci
41462306a36Sopenharmony_ci	sata-port@1 {
41562306a36Sopenharmony_ci		phys = <&cp0_comphy5 1>;
41662306a36Sopenharmony_ci		phy-names = "cp0-sata0-1-phy";
41762306a36Sopenharmony_ci	};
41862306a36Sopenharmony_ci};
41962306a36Sopenharmony_ci
42062306a36Sopenharmony_ci&cp0_sdhci0 {
42162306a36Sopenharmony_ci	broken-cd;
42262306a36Sopenharmony_ci	bus-width = <4>;
42362306a36Sopenharmony_ci	pinctrl-names = "default";
42462306a36Sopenharmony_ci	pinctrl-0 = <&cp0_sdhci_pins>;
42562306a36Sopenharmony_ci	status = "okay";
42662306a36Sopenharmony_ci	vqmmc-supply = <&v_3_3>;
42762306a36Sopenharmony_ci};
42862306a36Sopenharmony_ci
42962306a36Sopenharmony_ci&cp0_usb3_0 {
43062306a36Sopenharmony_ci	status = "okay";
43162306a36Sopenharmony_ci};
43262306a36Sopenharmony_ci
43362306a36Sopenharmony_ci&cp0_usb3_1 {
43462306a36Sopenharmony_ci	status = "okay";
43562306a36Sopenharmony_ci};
43662306a36Sopenharmony_ci
43762306a36Sopenharmony_ci&cp1_i2c0 {
43862306a36Sopenharmony_ci	clock-frequency = <100000>;
43962306a36Sopenharmony_ci	status = "disabled";
44062306a36Sopenharmony_ci};
44162306a36Sopenharmony_ci
44262306a36Sopenharmony_ci&cp1_i2c1 {
44362306a36Sopenharmony_ci	clock-frequency = <100000>;
44462306a36Sopenharmony_ci	status = "disabled";
44562306a36Sopenharmony_ci};
44662306a36Sopenharmony_ci
44762306a36Sopenharmony_ci&cp1_rtc {
44862306a36Sopenharmony_ci	status = "disabled";
44962306a36Sopenharmony_ci};
45062306a36Sopenharmony_ci
45162306a36Sopenharmony_ci&cp1_ethernet {
45262306a36Sopenharmony_ci	status = "okay";
45362306a36Sopenharmony_ci};
45462306a36Sopenharmony_ci
45562306a36Sopenharmony_ci&cp1_eth0 {
45662306a36Sopenharmony_ci	status = "okay";
45762306a36Sopenharmony_ci	phy-mode = "10gbase-r";
45862306a36Sopenharmony_ci	phys = <&cp1_comphy4 0>;
45962306a36Sopenharmony_ci	local-mac-address = [ae 00 00 00 ff 03];
46062306a36Sopenharmony_ci	sfp = <&sfp_cp1_eth0>;
46162306a36Sopenharmony_ci	managed = "in-band-status";
46262306a36Sopenharmony_ci};
46362306a36Sopenharmony_ci
46462306a36Sopenharmony_ci&cp1_eth1 {
46562306a36Sopenharmony_ci	status = "okay";
46662306a36Sopenharmony_ci	phy = <&ge_phy4>;
46762306a36Sopenharmony_ci	phy-mode = "sgmii";
46862306a36Sopenharmony_ci	local-mac-address = [ae 00 00 00 ff 04];
46962306a36Sopenharmony_ci	phys = <&cp1_comphy3 1>;
47062306a36Sopenharmony_ci};
47162306a36Sopenharmony_ci
47262306a36Sopenharmony_ci&cp1_eth2 {
47362306a36Sopenharmony_ci	status = "okay";
47462306a36Sopenharmony_ci	phy-mode = "sgmii";
47562306a36Sopenharmony_ci	local-mac-address = [ae 00 00 00 ff 05];
47662306a36Sopenharmony_ci	phys = <&cp1_comphy5 2>;
47762306a36Sopenharmony_ci	phy = <&ge_phy5>;
47862306a36Sopenharmony_ci};
47962306a36Sopenharmony_ci
48062306a36Sopenharmony_ci&cp1_pinctrl {
48162306a36Sopenharmony_ci	cp1_sfpplus_led_pins: sfpplus-led-pins {
48262306a36Sopenharmony_ci		marvell,pins = "mpp6", "mpp7", "mpp8", "mpp10", "mpp14", "mpp31";
48362306a36Sopenharmony_ci		marvell,function = "gpio";
48462306a36Sopenharmony_ci	};
48562306a36Sopenharmony_ci};
48662306a36Sopenharmony_ci
48762306a36Sopenharmony_ci&cp1_uart0 {
48862306a36Sopenharmony_ci	status = "disabled";
48962306a36Sopenharmony_ci};
49062306a36Sopenharmony_ci
49162306a36Sopenharmony_ci&cp1_comphy2 {
49262306a36Sopenharmony_ci	cp1_usbh0_con: connector {
49362306a36Sopenharmony_ci		compatible = "usb-a-connector";
49462306a36Sopenharmony_ci		phy-supply = <&v_5v0_usb3_hst_vbus>;
49562306a36Sopenharmony_ci	};
49662306a36Sopenharmony_ci};
49762306a36Sopenharmony_ci
49862306a36Sopenharmony_ci&cp1_usb3_0 {
49962306a36Sopenharmony_ci	phys = <&cp1_comphy2 0>;
50062306a36Sopenharmony_ci	phy-names = "cp1-usb3h0-comphy";
50162306a36Sopenharmony_ci	status = "okay";
50262306a36Sopenharmony_ci};
50362306a36Sopenharmony_ci
50462306a36Sopenharmony_ci&cp1_mdio {
50562306a36Sopenharmony_ci	#address-cells = <1>;
50662306a36Sopenharmony_ci	#size-cells = <0>;
50762306a36Sopenharmony_ci
50862306a36Sopenharmony_ci	status = "okay";
50962306a36Sopenharmony_ci
51062306a36Sopenharmony_ci	ge_phy4: ethernet-phy@1 {
51162306a36Sopenharmony_ci		reg = <1>;
51262306a36Sopenharmony_ci	};
51362306a36Sopenharmony_ci	ge_phy5: ethernet-phy@0 {
51462306a36Sopenharmony_ci		reg = <0>;
51562306a36Sopenharmony_ci	};
51662306a36Sopenharmony_ci};
51762306a36Sopenharmony_ci
51862306a36Sopenharmony_ci&cp1_pcie0 {
51962306a36Sopenharmony_ci	num-lanes = <2>;
52062306a36Sopenharmony_ci	phys = <&cp1_comphy0 0>, <&cp1_comphy1 0>;
52162306a36Sopenharmony_ci	phy-names = "cp1-pcie0-x2-lane0-phy", "cp1-pcie0-x2-lane1-phy";
52262306a36Sopenharmony_ci	status = "okay";
52362306a36Sopenharmony_ci};
524