18c2ecf20Sopenharmony_ci// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
28c2ecf20Sopenharmony_ci/*
38c2ecf20Sopenharmony_ci * Device Tree file for CZ.NIC Turris Mox Board
48c2ecf20Sopenharmony_ci * 2019 by Marek Behun <marek.behun@nic.cz>
58c2ecf20Sopenharmony_ci */
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_ci/dts-v1/;
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_ci#include <dt-bindings/bus/moxtet.h>
108c2ecf20Sopenharmony_ci#include <dt-bindings/gpio/gpio.h>
118c2ecf20Sopenharmony_ci#include <dt-bindings/input/input.h>
128c2ecf20Sopenharmony_ci#include "armada-372x.dtsi"
138c2ecf20Sopenharmony_ci
148c2ecf20Sopenharmony_ci/ {
158c2ecf20Sopenharmony_ci	model = "CZ.NIC Turris Mox Board";
168c2ecf20Sopenharmony_ci	compatible = "cznic,turris-mox", "marvell,armada3720",
178c2ecf20Sopenharmony_ci		     "marvell,armada3710";
188c2ecf20Sopenharmony_ci
198c2ecf20Sopenharmony_ci	aliases {
208c2ecf20Sopenharmony_ci		spi0 = &spi0;
218c2ecf20Sopenharmony_ci		ethernet0 = &eth0;
228c2ecf20Sopenharmony_ci		ethernet1 = &eth1;
238c2ecf20Sopenharmony_ci		mmc0 = &sdhci0;
248c2ecf20Sopenharmony_ci		mmc1 = &sdhci1;
258c2ecf20Sopenharmony_ci	};
268c2ecf20Sopenharmony_ci
278c2ecf20Sopenharmony_ci	chosen {
288c2ecf20Sopenharmony_ci		stdout-path = "serial0:115200n8";
298c2ecf20Sopenharmony_ci	};
308c2ecf20Sopenharmony_ci
318c2ecf20Sopenharmony_ci	memory@0 {
328c2ecf20Sopenharmony_ci		device_type = "memory";
338c2ecf20Sopenharmony_ci		reg = <0x00000000 0x00000000 0x00000000 0x20000000>;
348c2ecf20Sopenharmony_ci	};
358c2ecf20Sopenharmony_ci
368c2ecf20Sopenharmony_ci	leds {
378c2ecf20Sopenharmony_ci		compatible = "gpio-leds";
388c2ecf20Sopenharmony_ci		red {
398c2ecf20Sopenharmony_ci			label = "mox:red:activity";
408c2ecf20Sopenharmony_ci			gpios = <&gpiosb 21 GPIO_ACTIVE_LOW>;
418c2ecf20Sopenharmony_ci			linux,default-trigger = "default-on";
428c2ecf20Sopenharmony_ci		};
438c2ecf20Sopenharmony_ci	};
448c2ecf20Sopenharmony_ci
458c2ecf20Sopenharmony_ci	gpio-keys {
468c2ecf20Sopenharmony_ci		compatible = "gpio-keys";
478c2ecf20Sopenharmony_ci
488c2ecf20Sopenharmony_ci		reset {
498c2ecf20Sopenharmony_ci			label = "reset";
508c2ecf20Sopenharmony_ci			linux,code = <KEY_RESTART>;
518c2ecf20Sopenharmony_ci			gpios = <&gpiosb 20 GPIO_ACTIVE_LOW>;
528c2ecf20Sopenharmony_ci			debounce-interval = <60>;
538c2ecf20Sopenharmony_ci		};
548c2ecf20Sopenharmony_ci	};
558c2ecf20Sopenharmony_ci
568c2ecf20Sopenharmony_ci	exp_usb3_vbus: usb3-vbus {
578c2ecf20Sopenharmony_ci		compatible = "regulator-fixed";
588c2ecf20Sopenharmony_ci		regulator-name = "usb3-vbus";
598c2ecf20Sopenharmony_ci		regulator-min-microvolt = <5000000>;
608c2ecf20Sopenharmony_ci		regulator-max-microvolt = <5000000>;
618c2ecf20Sopenharmony_ci		enable-active-high;
628c2ecf20Sopenharmony_ci		regulator-always-on;
638c2ecf20Sopenharmony_ci		gpio = <&gpiosb 0 GPIO_ACTIVE_HIGH>;
648c2ecf20Sopenharmony_ci	};
658c2ecf20Sopenharmony_ci
668c2ecf20Sopenharmony_ci	vsdc_reg: vsdc-reg {
678c2ecf20Sopenharmony_ci		compatible = "regulator-gpio";
688c2ecf20Sopenharmony_ci		regulator-name = "vsdc";
698c2ecf20Sopenharmony_ci		regulator-min-microvolt = <1800000>;
708c2ecf20Sopenharmony_ci		regulator-max-microvolt = <3300000>;
718c2ecf20Sopenharmony_ci		regulator-boot-on;
728c2ecf20Sopenharmony_ci
738c2ecf20Sopenharmony_ci		gpios = <&gpiosb 23 GPIO_ACTIVE_HIGH>;
748c2ecf20Sopenharmony_ci		gpios-states = <0>;
758c2ecf20Sopenharmony_ci		states = <1800000 0x1
768c2ecf20Sopenharmony_ci			  3300000 0x0>;
778c2ecf20Sopenharmony_ci		enable-active-high;
788c2ecf20Sopenharmony_ci	};
798c2ecf20Sopenharmony_ci
808c2ecf20Sopenharmony_ci	vsdio_reg: vsdio-reg {
818c2ecf20Sopenharmony_ci		compatible = "regulator-gpio";
828c2ecf20Sopenharmony_ci		regulator-name = "vsdio";
838c2ecf20Sopenharmony_ci		regulator-min-microvolt = <1800000>;
848c2ecf20Sopenharmony_ci		regulator-max-microvolt = <3300000>;
858c2ecf20Sopenharmony_ci		regulator-boot-on;
868c2ecf20Sopenharmony_ci
878c2ecf20Sopenharmony_ci		gpios = <&gpiosb 22 GPIO_ACTIVE_HIGH>;
888c2ecf20Sopenharmony_ci		gpios-states = <0>;
898c2ecf20Sopenharmony_ci		states = <1800000 0x1
908c2ecf20Sopenharmony_ci			  3300000 0x0>;
918c2ecf20Sopenharmony_ci		enable-active-high;
928c2ecf20Sopenharmony_ci	};
938c2ecf20Sopenharmony_ci
948c2ecf20Sopenharmony_ci	sdhci1_pwrseq: sdhci1-pwrseq {
958c2ecf20Sopenharmony_ci		compatible = "mmc-pwrseq-simple";
968c2ecf20Sopenharmony_ci		reset-gpios = <&gpionb 19 GPIO_ACTIVE_HIGH>;
978c2ecf20Sopenharmony_ci		status = "okay";
988c2ecf20Sopenharmony_ci	};
998c2ecf20Sopenharmony_ci
1008c2ecf20Sopenharmony_ci	sfp: sfp {
1018c2ecf20Sopenharmony_ci		compatible = "sff,sfp";
1028c2ecf20Sopenharmony_ci		i2c-bus = <&i2c0>;
1038c2ecf20Sopenharmony_ci		los-gpio = <&moxtet_sfp 0 GPIO_ACTIVE_HIGH>;
1048c2ecf20Sopenharmony_ci		tx-fault-gpio = <&moxtet_sfp 1 GPIO_ACTIVE_HIGH>;
1058c2ecf20Sopenharmony_ci		mod-def0-gpio = <&moxtet_sfp 2 GPIO_ACTIVE_LOW>;
1068c2ecf20Sopenharmony_ci		tx-disable-gpio = <&moxtet_sfp 4 GPIO_ACTIVE_HIGH>;
1078c2ecf20Sopenharmony_ci		rate-select0-gpio = <&moxtet_sfp 5 GPIO_ACTIVE_HIGH>;
1088c2ecf20Sopenharmony_ci
1098c2ecf20Sopenharmony_ci		/* enabled by U-Boot if SFP module is present */
1108c2ecf20Sopenharmony_ci		status = "disabled";
1118c2ecf20Sopenharmony_ci	};
1128c2ecf20Sopenharmony_ci
1138c2ecf20Sopenharmony_ci	firmware {
1148c2ecf20Sopenharmony_ci		armada-3700-rwtm {
1158c2ecf20Sopenharmony_ci			compatible = "marvell,armada-3700-rwtm-firmware", "cznic,turris-mox-rwtm";
1168c2ecf20Sopenharmony_ci		};
1178c2ecf20Sopenharmony_ci	};
1188c2ecf20Sopenharmony_ci};
1198c2ecf20Sopenharmony_ci
1208c2ecf20Sopenharmony_ci&i2c0 {
1218c2ecf20Sopenharmony_ci	pinctrl-names = "default";
1228c2ecf20Sopenharmony_ci	pinctrl-0 = <&i2c1_pins>;
1238c2ecf20Sopenharmony_ci	clock-frequency = <100000>;
1248c2ecf20Sopenharmony_ci	/delete-property/ mrvl,i2c-fast-mode;
1258c2ecf20Sopenharmony_ci	status = "okay";
1268c2ecf20Sopenharmony_ci
1278c2ecf20Sopenharmony_ci	/* MCP7940MT-I/MNY RTC */
1288c2ecf20Sopenharmony_ci	rtc@6f {
1298c2ecf20Sopenharmony_ci		compatible = "microchip,mcp7940x";
1308c2ecf20Sopenharmony_ci		reg = <0x6f>;
1318c2ecf20Sopenharmony_ci		interrupt-parent = <&gpiosb>;
1328c2ecf20Sopenharmony_ci		interrupts = <5 IRQ_TYPE_EDGE_FALLING>; /* GPIO2_5 */
1338c2ecf20Sopenharmony_ci	};
1348c2ecf20Sopenharmony_ci};
1358c2ecf20Sopenharmony_ci
1368c2ecf20Sopenharmony_ci&pcie0 {
1378c2ecf20Sopenharmony_ci	pinctrl-names = "default";
1388c2ecf20Sopenharmony_ci	pinctrl-0 = <&pcie_reset_pins &pcie_clkreq_pins>;
1398c2ecf20Sopenharmony_ci	status = "okay";
1408c2ecf20Sopenharmony_ci	reset-gpios = <&gpiosb 3 GPIO_ACTIVE_LOW>;
1418c2ecf20Sopenharmony_ci	/*
1428c2ecf20Sopenharmony_ci	 * U-Boot port for Turris Mox has a bug which always expects that "ranges" DT property
1438c2ecf20Sopenharmony_ci	 * contains exactly 2 ranges with 3 (child) address cells, 2 (parent) address cells and
1448c2ecf20Sopenharmony_ci	 * 2 size cells and also expects that the second range starts at 16 MB offset. Also it
1458c2ecf20Sopenharmony_ci	 * expects that first range uses same address for PCI (child) and CPU (parent) cells (so
1468c2ecf20Sopenharmony_ci	 * no remapping) and that this address is the lowest from all specified ranges. If these
1478c2ecf20Sopenharmony_ci	 * conditions are not met then U-Boot crashes during loading kernel DTB file. PCIe address
1488c2ecf20Sopenharmony_ci	 * space is 128 MB long, so the best split between MEM and IO is to use fixed 16 MB window
1498c2ecf20Sopenharmony_ci	 * for IO and the rest 112 MB (64+32+16) for MEM, despite that maximal IO size is just 64 kB.
1508c2ecf20Sopenharmony_ci	 * This bug is not present in U-Boot ports for other Armada 3700 devices and is fixed in
1518c2ecf20Sopenharmony_ci	 * U-Boot version 2021.07. See relevant U-Boot commits (the last one contains fix):
1528c2ecf20Sopenharmony_ci	 * https://source.denx.de/u-boot/u-boot/-/commit/cb2ddb291ee6fcbddd6d8f4ff49089dfe580f5d7
1538c2ecf20Sopenharmony_ci	 * https://source.denx.de/u-boot/u-boot/-/commit/c64ac3b3185aeb3846297ad7391fc6df8ecd73bf
1548c2ecf20Sopenharmony_ci	 * https://source.denx.de/u-boot/u-boot/-/commit/4a82fca8e330157081fc132a591ebd99ba02ee33
1558c2ecf20Sopenharmony_ci	 * Bug related to requirement of same child and parent addresses for first range is fixed
1568c2ecf20Sopenharmony_ci	 * in U-Boot version 2022.04 by following commit:
1578c2ecf20Sopenharmony_ci	 * https://source.denx.de/u-boot/u-boot/-/commit/1fd54253bca7d43d046bba4853fe5fafd034bc17
1588c2ecf20Sopenharmony_ci	 */
1598c2ecf20Sopenharmony_ci	#address-cells = <3>;
1608c2ecf20Sopenharmony_ci	#size-cells = <2>;
1618c2ecf20Sopenharmony_ci	ranges = <0x81000000 0 0xe8000000   0 0xe8000000   0 0x01000000   /* Port 0 IO */
1628c2ecf20Sopenharmony_ci		  0x82000000 0 0xe9000000   0 0xe9000000   0 0x07000000>; /* Port 0 MEM */
1638c2ecf20Sopenharmony_ci
1648c2ecf20Sopenharmony_ci	/* enabled by U-Boot if PCIe module is present */
1658c2ecf20Sopenharmony_ci	status = "disabled";
1668c2ecf20Sopenharmony_ci};
1678c2ecf20Sopenharmony_ci
1688c2ecf20Sopenharmony_ci&uart0 {
1698c2ecf20Sopenharmony_ci	status = "okay";
1708c2ecf20Sopenharmony_ci};
1718c2ecf20Sopenharmony_ci
1728c2ecf20Sopenharmony_ci&eth0 {
1738c2ecf20Sopenharmony_ci	pinctrl-names = "default";
1748c2ecf20Sopenharmony_ci	pinctrl-0 = <&rgmii_pins>;
1758c2ecf20Sopenharmony_ci	phy-mode = "rgmii-id";
1768c2ecf20Sopenharmony_ci	phy-handle = <&phy1>;
1778c2ecf20Sopenharmony_ci	status = "okay";
1788c2ecf20Sopenharmony_ci};
1798c2ecf20Sopenharmony_ci
1808c2ecf20Sopenharmony_ci&eth1 {
1818c2ecf20Sopenharmony_ci	phy-mode = "2500base-x";
1828c2ecf20Sopenharmony_ci	managed = "in-band-status";
1838c2ecf20Sopenharmony_ci	phys = <&comphy0 1>;
1848c2ecf20Sopenharmony_ci};
1858c2ecf20Sopenharmony_ci
1868c2ecf20Sopenharmony_ci&sdhci0 {
1878c2ecf20Sopenharmony_ci	wp-inverted;
1888c2ecf20Sopenharmony_ci	bus-width = <4>;
1898c2ecf20Sopenharmony_ci	cd-gpios = <&gpionb 10 GPIO_ACTIVE_HIGH>;
1908c2ecf20Sopenharmony_ci	vqmmc-supply = <&vsdc_reg>;
1918c2ecf20Sopenharmony_ci	marvell,pad-type = "sd";
1928c2ecf20Sopenharmony_ci	status = "okay";
1938c2ecf20Sopenharmony_ci};
1948c2ecf20Sopenharmony_ci
1958c2ecf20Sopenharmony_ci&sdhci1 {
1968c2ecf20Sopenharmony_ci	pinctrl-names = "default";
1978c2ecf20Sopenharmony_ci	pinctrl-0 = <&sdio_pins>;
1988c2ecf20Sopenharmony_ci	non-removable;
1998c2ecf20Sopenharmony_ci	bus-width = <4>;
2008c2ecf20Sopenharmony_ci	marvell,pad-type = "sd";
2018c2ecf20Sopenharmony_ci	vqmmc-supply = <&vsdio_reg>;
2028c2ecf20Sopenharmony_ci	mmc-pwrseq = <&sdhci1_pwrseq>;
2038c2ecf20Sopenharmony_ci	/* forbid SDR104 for FCC purposes */
2048c2ecf20Sopenharmony_ci	sdhci-caps-mask = <0x2 0x0>;
2058c2ecf20Sopenharmony_ci	status = "okay";
2068c2ecf20Sopenharmony_ci};
2078c2ecf20Sopenharmony_ci
2088c2ecf20Sopenharmony_ci&spi0 {
2098c2ecf20Sopenharmony_ci	status = "okay";
2108c2ecf20Sopenharmony_ci	pinctrl-names = "default";
2118c2ecf20Sopenharmony_ci	pinctrl-0 = <&spi_quad_pins &spi_cs1_pins>;
2128c2ecf20Sopenharmony_ci	assigned-clocks = <&nb_periph_clk 7>;
2138c2ecf20Sopenharmony_ci	assigned-clock-parents = <&tbg 1>;
2148c2ecf20Sopenharmony_ci	assigned-clock-rates = <20000000>;
2158c2ecf20Sopenharmony_ci
2168c2ecf20Sopenharmony_ci	spi-flash@0 {
2178c2ecf20Sopenharmony_ci		#address-cells = <1>;
2188c2ecf20Sopenharmony_ci		#size-cells = <1>;
2198c2ecf20Sopenharmony_ci		compatible = "jedec,spi-nor";
2208c2ecf20Sopenharmony_ci		reg = <0>;
2218c2ecf20Sopenharmony_ci		spi-max-frequency = <20000000>;
2228c2ecf20Sopenharmony_ci
2238c2ecf20Sopenharmony_ci		partitions {
2248c2ecf20Sopenharmony_ci			compatible = "fixed-partitions";
2258c2ecf20Sopenharmony_ci			#address-cells = <1>;
2268c2ecf20Sopenharmony_ci			#size-cells = <1>;
2278c2ecf20Sopenharmony_ci
2288c2ecf20Sopenharmony_ci			partition@0 {
2298c2ecf20Sopenharmony_ci				label = "secure-firmware";
2308c2ecf20Sopenharmony_ci				reg = <0x0 0x20000>;
2318c2ecf20Sopenharmony_ci			};
2328c2ecf20Sopenharmony_ci
2338c2ecf20Sopenharmony_ci			partition@20000 {
2348c2ecf20Sopenharmony_ci				label = "a53-firmware";
2358c2ecf20Sopenharmony_ci				reg = <0x20000 0x160000>;
2368c2ecf20Sopenharmony_ci			};
2378c2ecf20Sopenharmony_ci
2388c2ecf20Sopenharmony_ci			partition@180000 {
2398c2ecf20Sopenharmony_ci				label = "u-boot-env";
2408c2ecf20Sopenharmony_ci				reg = <0x180000 0x10000>;
2418c2ecf20Sopenharmony_ci			};
2428c2ecf20Sopenharmony_ci
2438c2ecf20Sopenharmony_ci			partition@190000 {
2448c2ecf20Sopenharmony_ci				label = "Rescue system";
2458c2ecf20Sopenharmony_ci				reg = <0x190000 0x660000>;
2468c2ecf20Sopenharmony_ci			};
2478c2ecf20Sopenharmony_ci
2488c2ecf20Sopenharmony_ci			partition@7f0000 {
2498c2ecf20Sopenharmony_ci				label = "dtb";
2508c2ecf20Sopenharmony_ci				reg = <0x7f0000 0x10000>;
2518c2ecf20Sopenharmony_ci			};
2528c2ecf20Sopenharmony_ci		};
2538c2ecf20Sopenharmony_ci	};
2548c2ecf20Sopenharmony_ci
2558c2ecf20Sopenharmony_ci	moxtet: moxtet@1 {
2568c2ecf20Sopenharmony_ci		#address-cells = <1>;
2578c2ecf20Sopenharmony_ci		#size-cells = <0>;
2588c2ecf20Sopenharmony_ci		compatible = "cznic,moxtet";
2598c2ecf20Sopenharmony_ci		reg = <1>;
2608c2ecf20Sopenharmony_ci		reset-gpios = <&gpiosb 2 GPIO_ACTIVE_LOW>;
2618c2ecf20Sopenharmony_ci		spi-max-frequency = <10000000>;
2628c2ecf20Sopenharmony_ci		spi-cpol;
2638c2ecf20Sopenharmony_ci		spi-cpha;
2648c2ecf20Sopenharmony_ci		interrupt-controller;
2658c2ecf20Sopenharmony_ci		#interrupt-cells = <1>;
2668c2ecf20Sopenharmony_ci		interrupt-parent = <&gpiosb>;
2678c2ecf20Sopenharmony_ci		interrupts = <5 IRQ_TYPE_EDGE_FALLING>;
2688c2ecf20Sopenharmony_ci		status = "okay";
2698c2ecf20Sopenharmony_ci
2708c2ecf20Sopenharmony_ci		moxtet_sfp: gpio@0 {
2718c2ecf20Sopenharmony_ci			compatible = "cznic,moxtet-gpio";
2728c2ecf20Sopenharmony_ci			gpio-controller;
2738c2ecf20Sopenharmony_ci			#gpio-cells = <2>;
2748c2ecf20Sopenharmony_ci			reg = <0>;
2758c2ecf20Sopenharmony_ci			status = "disabled";
2768c2ecf20Sopenharmony_ci		};
2778c2ecf20Sopenharmony_ci	};
2788c2ecf20Sopenharmony_ci};
2798c2ecf20Sopenharmony_ci
2808c2ecf20Sopenharmony_ci&usb2 {
2818c2ecf20Sopenharmony_ci	status = "okay";
2828c2ecf20Sopenharmony_ci};
2838c2ecf20Sopenharmony_ci
2848c2ecf20Sopenharmony_ci&comphy2 {
2858c2ecf20Sopenharmony_ci	connector {
2868c2ecf20Sopenharmony_ci		compatible = "usb-a-connector";
2878c2ecf20Sopenharmony_ci		phy-supply = <&exp_usb3_vbus>;
2888c2ecf20Sopenharmony_ci	};
2898c2ecf20Sopenharmony_ci};
2908c2ecf20Sopenharmony_ci
2918c2ecf20Sopenharmony_ci&usb3 {
2928c2ecf20Sopenharmony_ci	status = "okay";
2938c2ecf20Sopenharmony_ci	phys = <&comphy2 0>;
2948c2ecf20Sopenharmony_ci};
2958c2ecf20Sopenharmony_ci
2968c2ecf20Sopenharmony_ci&mdio {
2978c2ecf20Sopenharmony_ci	pinctrl-names = "default";
2988c2ecf20Sopenharmony_ci	pinctrl-0 = <&smi_pins>;
2998c2ecf20Sopenharmony_ci	status = "okay";
3008c2ecf20Sopenharmony_ci
3018c2ecf20Sopenharmony_ci	phy1: ethernet-phy@1 {
3028c2ecf20Sopenharmony_ci		reg = <1>;
3038c2ecf20Sopenharmony_ci	};
3048c2ecf20Sopenharmony_ci
3058c2ecf20Sopenharmony_ci	/* switch nodes are enabled by U-Boot if modules are present */
3068c2ecf20Sopenharmony_ci	switch0@10 {
3078c2ecf20Sopenharmony_ci		compatible = "marvell,mv88e6190";
3088c2ecf20Sopenharmony_ci		reg = <0x10 0>;
3098c2ecf20Sopenharmony_ci		dsa,member = <0 0>;
3108c2ecf20Sopenharmony_ci		interrupt-parent = <&moxtet>;
3118c2ecf20Sopenharmony_ci		interrupts = <MOXTET_IRQ_PERIDOT(0)>;
3128c2ecf20Sopenharmony_ci		status = "disabled";
3138c2ecf20Sopenharmony_ci
3148c2ecf20Sopenharmony_ci		mdio {
3158c2ecf20Sopenharmony_ci			#address-cells = <1>;
3168c2ecf20Sopenharmony_ci			#size-cells = <0>;
3178c2ecf20Sopenharmony_ci
3188c2ecf20Sopenharmony_ci			switch0phy1: switch0phy1@1 {
3198c2ecf20Sopenharmony_ci				reg = <0x1>;
3208c2ecf20Sopenharmony_ci			};
3218c2ecf20Sopenharmony_ci
3228c2ecf20Sopenharmony_ci			switch0phy2: switch0phy2@2 {
3238c2ecf20Sopenharmony_ci				reg = <0x2>;
3248c2ecf20Sopenharmony_ci			};
3258c2ecf20Sopenharmony_ci
3268c2ecf20Sopenharmony_ci			switch0phy3: switch0phy3@3 {
3278c2ecf20Sopenharmony_ci				reg = <0x3>;
3288c2ecf20Sopenharmony_ci			};
3298c2ecf20Sopenharmony_ci
3308c2ecf20Sopenharmony_ci			switch0phy4: switch0phy4@4 {
3318c2ecf20Sopenharmony_ci				reg = <0x4>;
3328c2ecf20Sopenharmony_ci			};
3338c2ecf20Sopenharmony_ci
3348c2ecf20Sopenharmony_ci			switch0phy5: switch0phy5@5 {
3358c2ecf20Sopenharmony_ci				reg = <0x5>;
3368c2ecf20Sopenharmony_ci			};
3378c2ecf20Sopenharmony_ci
3388c2ecf20Sopenharmony_ci			switch0phy6: switch0phy6@6 {
3398c2ecf20Sopenharmony_ci				reg = <0x6>;
3408c2ecf20Sopenharmony_ci			};
3418c2ecf20Sopenharmony_ci
3428c2ecf20Sopenharmony_ci			switch0phy7: switch0phy7@7 {
3438c2ecf20Sopenharmony_ci				reg = <0x7>;
3448c2ecf20Sopenharmony_ci			};
3458c2ecf20Sopenharmony_ci
3468c2ecf20Sopenharmony_ci			switch0phy8: switch0phy8@8 {
3478c2ecf20Sopenharmony_ci				reg = <0x8>;
3488c2ecf20Sopenharmony_ci			};
3498c2ecf20Sopenharmony_ci		};
3508c2ecf20Sopenharmony_ci
3518c2ecf20Sopenharmony_ci		ports {
3528c2ecf20Sopenharmony_ci			#address-cells = <1>;
3538c2ecf20Sopenharmony_ci			#size-cells = <0>;
3548c2ecf20Sopenharmony_ci
3558c2ecf20Sopenharmony_ci			port@1 {
3568c2ecf20Sopenharmony_ci				reg = <0x1>;
3578c2ecf20Sopenharmony_ci				label = "lan1";
3588c2ecf20Sopenharmony_ci				phy-handle = <&switch0phy1>;
3598c2ecf20Sopenharmony_ci			};
3608c2ecf20Sopenharmony_ci
3618c2ecf20Sopenharmony_ci			port@2 {
3628c2ecf20Sopenharmony_ci				reg = <0x2>;
3638c2ecf20Sopenharmony_ci				label = "lan2";
3648c2ecf20Sopenharmony_ci				phy-handle = <&switch0phy2>;
3658c2ecf20Sopenharmony_ci			};
3668c2ecf20Sopenharmony_ci
3678c2ecf20Sopenharmony_ci			port@3 {
3688c2ecf20Sopenharmony_ci				reg = <0x3>;
3698c2ecf20Sopenharmony_ci				label = "lan3";
3708c2ecf20Sopenharmony_ci				phy-handle = <&switch0phy3>;
3718c2ecf20Sopenharmony_ci			};
3728c2ecf20Sopenharmony_ci
3738c2ecf20Sopenharmony_ci			port@4 {
3748c2ecf20Sopenharmony_ci				reg = <0x4>;
3758c2ecf20Sopenharmony_ci				label = "lan4";
3768c2ecf20Sopenharmony_ci				phy-handle = <&switch0phy4>;
3778c2ecf20Sopenharmony_ci			};
3788c2ecf20Sopenharmony_ci
3798c2ecf20Sopenharmony_ci			port@5 {
3808c2ecf20Sopenharmony_ci				reg = <0x5>;
3818c2ecf20Sopenharmony_ci				label = "lan5";
3828c2ecf20Sopenharmony_ci				phy-handle = <&switch0phy5>;
3838c2ecf20Sopenharmony_ci			};
3848c2ecf20Sopenharmony_ci
3858c2ecf20Sopenharmony_ci			port@6 {
3868c2ecf20Sopenharmony_ci				reg = <0x6>;
3878c2ecf20Sopenharmony_ci				label = "lan6";
3888c2ecf20Sopenharmony_ci				phy-handle = <&switch0phy6>;
3898c2ecf20Sopenharmony_ci			};
3908c2ecf20Sopenharmony_ci
3918c2ecf20Sopenharmony_ci			port@7 {
3928c2ecf20Sopenharmony_ci				reg = <0x7>;
3938c2ecf20Sopenharmony_ci				label = "lan7";
3948c2ecf20Sopenharmony_ci				phy-handle = <&switch0phy7>;
3958c2ecf20Sopenharmony_ci			};
3968c2ecf20Sopenharmony_ci
3978c2ecf20Sopenharmony_ci			port@8 {
3988c2ecf20Sopenharmony_ci				reg = <0x8>;
3998c2ecf20Sopenharmony_ci				label = "lan8";
4008c2ecf20Sopenharmony_ci				phy-handle = <&switch0phy8>;
4018c2ecf20Sopenharmony_ci			};
4028c2ecf20Sopenharmony_ci
4038c2ecf20Sopenharmony_ci			port@9 {
4048c2ecf20Sopenharmony_ci				reg = <0x9>;
4058c2ecf20Sopenharmony_ci				label = "cpu";
4068c2ecf20Sopenharmony_ci				ethernet = <&eth1>;
4078c2ecf20Sopenharmony_ci				phy-mode = "2500base-x";
4088c2ecf20Sopenharmony_ci				managed = "in-band-status";
4098c2ecf20Sopenharmony_ci			};
4108c2ecf20Sopenharmony_ci
4118c2ecf20Sopenharmony_ci			switch0port10: port@a {
4128c2ecf20Sopenharmony_ci				reg = <0xa>;
4138c2ecf20Sopenharmony_ci				label = "dsa";
4148c2ecf20Sopenharmony_ci				phy-mode = "2500base-x";
4158c2ecf20Sopenharmony_ci				managed = "in-band-status";
4168c2ecf20Sopenharmony_ci				link = <&switch1port9 &switch2port9>;
4178c2ecf20Sopenharmony_ci				status = "disabled";
4188c2ecf20Sopenharmony_ci			};
4198c2ecf20Sopenharmony_ci
4208c2ecf20Sopenharmony_ci			port-sfp@a {
4218c2ecf20Sopenharmony_ci				reg = <0xa>;
4228c2ecf20Sopenharmony_ci				label = "sfp";
4238c2ecf20Sopenharmony_ci				sfp = <&sfp>;
4248c2ecf20Sopenharmony_ci				phy-mode = "sgmii";
4258c2ecf20Sopenharmony_ci				managed = "in-band-status";
4268c2ecf20Sopenharmony_ci				status = "disabled";
4278c2ecf20Sopenharmony_ci			};
4288c2ecf20Sopenharmony_ci		};
4298c2ecf20Sopenharmony_ci	};
4308c2ecf20Sopenharmony_ci
4318c2ecf20Sopenharmony_ci	switch0@2 {
4328c2ecf20Sopenharmony_ci		compatible = "marvell,mv88e6085";
4338c2ecf20Sopenharmony_ci		reg = <0x2 0>;
4348c2ecf20Sopenharmony_ci		dsa,member = <0 0>;
4358c2ecf20Sopenharmony_ci		interrupt-parent = <&moxtet>;
4368c2ecf20Sopenharmony_ci		interrupts = <MOXTET_IRQ_TOPAZ>;
4378c2ecf20Sopenharmony_ci		status = "disabled";
4388c2ecf20Sopenharmony_ci
4398c2ecf20Sopenharmony_ci		mdio {
4408c2ecf20Sopenharmony_ci			#address-cells = <1>;
4418c2ecf20Sopenharmony_ci			#size-cells = <0>;
4428c2ecf20Sopenharmony_ci
4438c2ecf20Sopenharmony_ci			switch0phy1_topaz: switch0phy1@11 {
4448c2ecf20Sopenharmony_ci				reg = <0x11>;
4458c2ecf20Sopenharmony_ci			};
4468c2ecf20Sopenharmony_ci
4478c2ecf20Sopenharmony_ci			switch0phy2_topaz: switch0phy2@12 {
4488c2ecf20Sopenharmony_ci				reg = <0x12>;
4498c2ecf20Sopenharmony_ci			};
4508c2ecf20Sopenharmony_ci
4518c2ecf20Sopenharmony_ci			switch0phy3_topaz: switch0phy3@13 {
4528c2ecf20Sopenharmony_ci				reg = <0x13>;
4538c2ecf20Sopenharmony_ci			};
4548c2ecf20Sopenharmony_ci
4558c2ecf20Sopenharmony_ci			switch0phy4_topaz: switch0phy4@14 {
4568c2ecf20Sopenharmony_ci				reg = <0x14>;
4578c2ecf20Sopenharmony_ci			};
4588c2ecf20Sopenharmony_ci		};
4598c2ecf20Sopenharmony_ci
4608c2ecf20Sopenharmony_ci		ports {
4618c2ecf20Sopenharmony_ci			#address-cells = <1>;
4628c2ecf20Sopenharmony_ci			#size-cells = <0>;
4638c2ecf20Sopenharmony_ci
4648c2ecf20Sopenharmony_ci			port@1 {
4658c2ecf20Sopenharmony_ci				reg = <0x1>;
4668c2ecf20Sopenharmony_ci				label = "lan1";
4678c2ecf20Sopenharmony_ci				phy-handle = <&switch0phy1_topaz>;
4688c2ecf20Sopenharmony_ci			};
4698c2ecf20Sopenharmony_ci
4708c2ecf20Sopenharmony_ci			port@2 {
4718c2ecf20Sopenharmony_ci				reg = <0x2>;
4728c2ecf20Sopenharmony_ci				label = "lan2";
4738c2ecf20Sopenharmony_ci				phy-handle = <&switch0phy2_topaz>;
4748c2ecf20Sopenharmony_ci			};
4758c2ecf20Sopenharmony_ci
4768c2ecf20Sopenharmony_ci			port@3 {
4778c2ecf20Sopenharmony_ci				reg = <0x3>;
4788c2ecf20Sopenharmony_ci				label = "lan3";
4798c2ecf20Sopenharmony_ci				phy-handle = <&switch0phy3_topaz>;
4808c2ecf20Sopenharmony_ci			};
4818c2ecf20Sopenharmony_ci
4828c2ecf20Sopenharmony_ci			port@4 {
4838c2ecf20Sopenharmony_ci				reg = <0x4>;
4848c2ecf20Sopenharmony_ci				label = "lan4";
4858c2ecf20Sopenharmony_ci				phy-handle = <&switch0phy4_topaz>;
4868c2ecf20Sopenharmony_ci			};
4878c2ecf20Sopenharmony_ci
4888c2ecf20Sopenharmony_ci			port@5 {
4898c2ecf20Sopenharmony_ci				reg = <0x5>;
4908c2ecf20Sopenharmony_ci				label = "cpu";
4918c2ecf20Sopenharmony_ci				phy-mode = "2500base-x";
4928c2ecf20Sopenharmony_ci				managed = "in-band-status";
4938c2ecf20Sopenharmony_ci				ethernet = <&eth1>;
4948c2ecf20Sopenharmony_ci			};
4958c2ecf20Sopenharmony_ci		};
4968c2ecf20Sopenharmony_ci	};
4978c2ecf20Sopenharmony_ci
4988c2ecf20Sopenharmony_ci	switch1@11 {
4998c2ecf20Sopenharmony_ci		compatible = "marvell,mv88e6190";
5008c2ecf20Sopenharmony_ci		reg = <0x11 0>;
5018c2ecf20Sopenharmony_ci		dsa,member = <0 1>;
5028c2ecf20Sopenharmony_ci		interrupt-parent = <&moxtet>;
5038c2ecf20Sopenharmony_ci		interrupts = <MOXTET_IRQ_PERIDOT(1)>;
5048c2ecf20Sopenharmony_ci		status = "disabled";
5058c2ecf20Sopenharmony_ci
5068c2ecf20Sopenharmony_ci		mdio {
5078c2ecf20Sopenharmony_ci			#address-cells = <1>;
5088c2ecf20Sopenharmony_ci			#size-cells = <0>;
5098c2ecf20Sopenharmony_ci
5108c2ecf20Sopenharmony_ci			switch1phy1: switch1phy1@1 {
5118c2ecf20Sopenharmony_ci				reg = <0x1>;
5128c2ecf20Sopenharmony_ci			};
5138c2ecf20Sopenharmony_ci
5148c2ecf20Sopenharmony_ci			switch1phy2: switch1phy2@2 {
5158c2ecf20Sopenharmony_ci				reg = <0x2>;
5168c2ecf20Sopenharmony_ci			};
5178c2ecf20Sopenharmony_ci
5188c2ecf20Sopenharmony_ci			switch1phy3: switch1phy3@3 {
5198c2ecf20Sopenharmony_ci				reg = <0x3>;
5208c2ecf20Sopenharmony_ci			};
5218c2ecf20Sopenharmony_ci
5228c2ecf20Sopenharmony_ci			switch1phy4: switch1phy4@4 {
5238c2ecf20Sopenharmony_ci				reg = <0x4>;
5248c2ecf20Sopenharmony_ci			};
5258c2ecf20Sopenharmony_ci
5268c2ecf20Sopenharmony_ci			switch1phy5: switch1phy5@5 {
5278c2ecf20Sopenharmony_ci				reg = <0x5>;
5288c2ecf20Sopenharmony_ci			};
5298c2ecf20Sopenharmony_ci
5308c2ecf20Sopenharmony_ci			switch1phy6: switch1phy6@6 {
5318c2ecf20Sopenharmony_ci				reg = <0x6>;
5328c2ecf20Sopenharmony_ci			};
5338c2ecf20Sopenharmony_ci
5348c2ecf20Sopenharmony_ci			switch1phy7: switch1phy7@7 {
5358c2ecf20Sopenharmony_ci				reg = <0x7>;
5368c2ecf20Sopenharmony_ci			};
5378c2ecf20Sopenharmony_ci
5388c2ecf20Sopenharmony_ci			switch1phy8: switch1phy8@8 {
5398c2ecf20Sopenharmony_ci				reg = <0x8>;
5408c2ecf20Sopenharmony_ci			};
5418c2ecf20Sopenharmony_ci		};
5428c2ecf20Sopenharmony_ci
5438c2ecf20Sopenharmony_ci		ports {
5448c2ecf20Sopenharmony_ci			#address-cells = <1>;
5458c2ecf20Sopenharmony_ci			#size-cells = <0>;
5468c2ecf20Sopenharmony_ci
5478c2ecf20Sopenharmony_ci			port@1 {
5488c2ecf20Sopenharmony_ci				reg = <0x1>;
5498c2ecf20Sopenharmony_ci				label = "lan9";
5508c2ecf20Sopenharmony_ci				phy-handle = <&switch1phy1>;
5518c2ecf20Sopenharmony_ci			};
5528c2ecf20Sopenharmony_ci
5538c2ecf20Sopenharmony_ci			port@2 {
5548c2ecf20Sopenharmony_ci				reg = <0x2>;
5558c2ecf20Sopenharmony_ci				label = "lan10";
5568c2ecf20Sopenharmony_ci				phy-handle = <&switch1phy2>;
5578c2ecf20Sopenharmony_ci			};
5588c2ecf20Sopenharmony_ci
5598c2ecf20Sopenharmony_ci			port@3 {
5608c2ecf20Sopenharmony_ci				reg = <0x3>;
5618c2ecf20Sopenharmony_ci				label = "lan11";
5628c2ecf20Sopenharmony_ci				phy-handle = <&switch1phy3>;
5638c2ecf20Sopenharmony_ci			};
5648c2ecf20Sopenharmony_ci
5658c2ecf20Sopenharmony_ci			port@4 {
5668c2ecf20Sopenharmony_ci				reg = <0x4>;
5678c2ecf20Sopenharmony_ci				label = "lan12";
5688c2ecf20Sopenharmony_ci				phy-handle = <&switch1phy4>;
5698c2ecf20Sopenharmony_ci			};
5708c2ecf20Sopenharmony_ci
5718c2ecf20Sopenharmony_ci			port@5 {
5728c2ecf20Sopenharmony_ci				reg = <0x5>;
5738c2ecf20Sopenharmony_ci				label = "lan13";
5748c2ecf20Sopenharmony_ci				phy-handle = <&switch1phy5>;
5758c2ecf20Sopenharmony_ci			};
5768c2ecf20Sopenharmony_ci
5778c2ecf20Sopenharmony_ci			port@6 {
5788c2ecf20Sopenharmony_ci				reg = <0x6>;
5798c2ecf20Sopenharmony_ci				label = "lan14";
5808c2ecf20Sopenharmony_ci				phy-handle = <&switch1phy6>;
5818c2ecf20Sopenharmony_ci			};
5828c2ecf20Sopenharmony_ci
5838c2ecf20Sopenharmony_ci			port@7 {
5848c2ecf20Sopenharmony_ci				reg = <0x7>;
5858c2ecf20Sopenharmony_ci				label = "lan15";
5868c2ecf20Sopenharmony_ci				phy-handle = <&switch1phy7>;
5878c2ecf20Sopenharmony_ci			};
5888c2ecf20Sopenharmony_ci
5898c2ecf20Sopenharmony_ci			port@8 {
5908c2ecf20Sopenharmony_ci				reg = <0x8>;
5918c2ecf20Sopenharmony_ci				label = "lan16";
5928c2ecf20Sopenharmony_ci				phy-handle = <&switch1phy8>;
5938c2ecf20Sopenharmony_ci			};
5948c2ecf20Sopenharmony_ci
5958c2ecf20Sopenharmony_ci			switch1port9: port@9 {
5968c2ecf20Sopenharmony_ci				reg = <0x9>;
5978c2ecf20Sopenharmony_ci				label = "dsa";
5988c2ecf20Sopenharmony_ci				phy-mode = "2500base-x";
5998c2ecf20Sopenharmony_ci				managed = "in-band-status";
6008c2ecf20Sopenharmony_ci				link = <&switch0port10>;
6018c2ecf20Sopenharmony_ci			};
6028c2ecf20Sopenharmony_ci
6038c2ecf20Sopenharmony_ci			switch1port10: port@a {
6048c2ecf20Sopenharmony_ci				reg = <0xa>;
6058c2ecf20Sopenharmony_ci				label = "dsa";
6068c2ecf20Sopenharmony_ci				phy-mode = "2500base-x";
6078c2ecf20Sopenharmony_ci				managed = "in-band-status";
6088c2ecf20Sopenharmony_ci				link = <&switch2port9>;
6098c2ecf20Sopenharmony_ci				status = "disabled";
6108c2ecf20Sopenharmony_ci			};
6118c2ecf20Sopenharmony_ci
6128c2ecf20Sopenharmony_ci			port-sfp@a {
6138c2ecf20Sopenharmony_ci				reg = <0xa>;
6148c2ecf20Sopenharmony_ci				label = "sfp";
6158c2ecf20Sopenharmony_ci				sfp = <&sfp>;
6168c2ecf20Sopenharmony_ci				phy-mode = "sgmii";
6178c2ecf20Sopenharmony_ci				managed = "in-band-status";
6188c2ecf20Sopenharmony_ci				status = "disabled";
6198c2ecf20Sopenharmony_ci			};
6208c2ecf20Sopenharmony_ci		};
6218c2ecf20Sopenharmony_ci	};
6228c2ecf20Sopenharmony_ci
6238c2ecf20Sopenharmony_ci	switch1@2 {
6248c2ecf20Sopenharmony_ci		compatible = "marvell,mv88e6085";
6258c2ecf20Sopenharmony_ci		reg = <0x2 0>;
6268c2ecf20Sopenharmony_ci		dsa,member = <0 1>;
6278c2ecf20Sopenharmony_ci		interrupt-parent = <&moxtet>;
6288c2ecf20Sopenharmony_ci		interrupts = <MOXTET_IRQ_TOPAZ>;
6298c2ecf20Sopenharmony_ci		status = "disabled";
6308c2ecf20Sopenharmony_ci
6318c2ecf20Sopenharmony_ci		mdio {
6328c2ecf20Sopenharmony_ci			#address-cells = <1>;
6338c2ecf20Sopenharmony_ci			#size-cells = <0>;
6348c2ecf20Sopenharmony_ci
6358c2ecf20Sopenharmony_ci			switch1phy1_topaz: switch1phy1@11 {
6368c2ecf20Sopenharmony_ci				reg = <0x11>;
6378c2ecf20Sopenharmony_ci			};
6388c2ecf20Sopenharmony_ci
6398c2ecf20Sopenharmony_ci			switch1phy2_topaz: switch1phy2@12 {
6408c2ecf20Sopenharmony_ci				reg = <0x12>;
6418c2ecf20Sopenharmony_ci			};
6428c2ecf20Sopenharmony_ci
6438c2ecf20Sopenharmony_ci			switch1phy3_topaz: switch1phy3@13 {
6448c2ecf20Sopenharmony_ci				reg = <0x13>;
6458c2ecf20Sopenharmony_ci			};
6468c2ecf20Sopenharmony_ci
6478c2ecf20Sopenharmony_ci			switch1phy4_topaz: switch1phy4@14 {
6488c2ecf20Sopenharmony_ci				reg = <0x14>;
6498c2ecf20Sopenharmony_ci			};
6508c2ecf20Sopenharmony_ci		};
6518c2ecf20Sopenharmony_ci
6528c2ecf20Sopenharmony_ci		ports {
6538c2ecf20Sopenharmony_ci			#address-cells = <1>;
6548c2ecf20Sopenharmony_ci			#size-cells = <0>;
6558c2ecf20Sopenharmony_ci
6568c2ecf20Sopenharmony_ci			port@1 {
6578c2ecf20Sopenharmony_ci				reg = <0x1>;
6588c2ecf20Sopenharmony_ci				label = "lan9";
6598c2ecf20Sopenharmony_ci				phy-handle = <&switch1phy1_topaz>;
6608c2ecf20Sopenharmony_ci			};
6618c2ecf20Sopenharmony_ci
6628c2ecf20Sopenharmony_ci			port@2 {
6638c2ecf20Sopenharmony_ci				reg = <0x2>;
6648c2ecf20Sopenharmony_ci				label = "lan10";
6658c2ecf20Sopenharmony_ci				phy-handle = <&switch1phy2_topaz>;
6668c2ecf20Sopenharmony_ci			};
6678c2ecf20Sopenharmony_ci
6688c2ecf20Sopenharmony_ci			port@3 {
6698c2ecf20Sopenharmony_ci				reg = <0x3>;
6708c2ecf20Sopenharmony_ci				label = "lan11";
6718c2ecf20Sopenharmony_ci				phy-handle = <&switch1phy3_topaz>;
6728c2ecf20Sopenharmony_ci			};
6738c2ecf20Sopenharmony_ci
6748c2ecf20Sopenharmony_ci			port@4 {
6758c2ecf20Sopenharmony_ci				reg = <0x4>;
6768c2ecf20Sopenharmony_ci				label = "lan12";
6778c2ecf20Sopenharmony_ci				phy-handle = <&switch1phy4_topaz>;
6788c2ecf20Sopenharmony_ci			};
6798c2ecf20Sopenharmony_ci
6808c2ecf20Sopenharmony_ci			port@5 {
6818c2ecf20Sopenharmony_ci				reg = <0x5>;
6828c2ecf20Sopenharmony_ci				label = "dsa";
6838c2ecf20Sopenharmony_ci				phy-mode = "2500base-x";
6848c2ecf20Sopenharmony_ci				managed = "in-band-status";
6858c2ecf20Sopenharmony_ci				link = <&switch0port10>;
6868c2ecf20Sopenharmony_ci			};
6878c2ecf20Sopenharmony_ci		};
6888c2ecf20Sopenharmony_ci	};
6898c2ecf20Sopenharmony_ci
6908c2ecf20Sopenharmony_ci	switch2@12 {
6918c2ecf20Sopenharmony_ci		compatible = "marvell,mv88e6190";
6928c2ecf20Sopenharmony_ci		reg = <0x12 0>;
6938c2ecf20Sopenharmony_ci		dsa,member = <0 2>;
6948c2ecf20Sopenharmony_ci		interrupt-parent = <&moxtet>;
6958c2ecf20Sopenharmony_ci		interrupts = <MOXTET_IRQ_PERIDOT(2)>;
6968c2ecf20Sopenharmony_ci		status = "disabled";
6978c2ecf20Sopenharmony_ci
6988c2ecf20Sopenharmony_ci		mdio {
6998c2ecf20Sopenharmony_ci			#address-cells = <1>;
7008c2ecf20Sopenharmony_ci			#size-cells = <0>;
7018c2ecf20Sopenharmony_ci
7028c2ecf20Sopenharmony_ci			switch2phy1: switch2phy1@1 {
7038c2ecf20Sopenharmony_ci				reg = <0x1>;
7048c2ecf20Sopenharmony_ci			};
7058c2ecf20Sopenharmony_ci
7068c2ecf20Sopenharmony_ci			switch2phy2: switch2phy2@2 {
7078c2ecf20Sopenharmony_ci				reg = <0x2>;
7088c2ecf20Sopenharmony_ci			};
7098c2ecf20Sopenharmony_ci
7108c2ecf20Sopenharmony_ci			switch2phy3: switch2phy3@3 {
7118c2ecf20Sopenharmony_ci				reg = <0x3>;
7128c2ecf20Sopenharmony_ci			};
7138c2ecf20Sopenharmony_ci
7148c2ecf20Sopenharmony_ci			switch2phy4: switch2phy4@4 {
7158c2ecf20Sopenharmony_ci				reg = <0x4>;
7168c2ecf20Sopenharmony_ci			};
7178c2ecf20Sopenharmony_ci
7188c2ecf20Sopenharmony_ci			switch2phy5: switch2phy5@5 {
7198c2ecf20Sopenharmony_ci				reg = <0x5>;
7208c2ecf20Sopenharmony_ci			};
7218c2ecf20Sopenharmony_ci
7228c2ecf20Sopenharmony_ci			switch2phy6: switch2phy6@6 {
7238c2ecf20Sopenharmony_ci				reg = <0x6>;
7248c2ecf20Sopenharmony_ci			};
7258c2ecf20Sopenharmony_ci
7268c2ecf20Sopenharmony_ci			switch2phy7: switch2phy7@7 {
7278c2ecf20Sopenharmony_ci				reg = <0x7>;
7288c2ecf20Sopenharmony_ci			};
7298c2ecf20Sopenharmony_ci
7308c2ecf20Sopenharmony_ci			switch2phy8: switch2phy8@8 {
7318c2ecf20Sopenharmony_ci				reg = <0x8>;
7328c2ecf20Sopenharmony_ci			};
7338c2ecf20Sopenharmony_ci		};
7348c2ecf20Sopenharmony_ci
7358c2ecf20Sopenharmony_ci		ports {
7368c2ecf20Sopenharmony_ci			#address-cells = <1>;
7378c2ecf20Sopenharmony_ci			#size-cells = <0>;
7388c2ecf20Sopenharmony_ci
7398c2ecf20Sopenharmony_ci			port@1 {
7408c2ecf20Sopenharmony_ci				reg = <0x1>;
7418c2ecf20Sopenharmony_ci				label = "lan17";
7428c2ecf20Sopenharmony_ci				phy-handle = <&switch2phy1>;
7438c2ecf20Sopenharmony_ci			};
7448c2ecf20Sopenharmony_ci
7458c2ecf20Sopenharmony_ci			port@2 {
7468c2ecf20Sopenharmony_ci				reg = <0x2>;
7478c2ecf20Sopenharmony_ci				label = "lan18";
7488c2ecf20Sopenharmony_ci				phy-handle = <&switch2phy2>;
7498c2ecf20Sopenharmony_ci			};
7508c2ecf20Sopenharmony_ci
7518c2ecf20Sopenharmony_ci			port@3 {
7528c2ecf20Sopenharmony_ci				reg = <0x3>;
7538c2ecf20Sopenharmony_ci				label = "lan19";
7548c2ecf20Sopenharmony_ci				phy-handle = <&switch2phy3>;
7558c2ecf20Sopenharmony_ci			};
7568c2ecf20Sopenharmony_ci
7578c2ecf20Sopenharmony_ci			port@4 {
7588c2ecf20Sopenharmony_ci				reg = <0x4>;
7598c2ecf20Sopenharmony_ci				label = "lan20";
7608c2ecf20Sopenharmony_ci				phy-handle = <&switch2phy4>;
7618c2ecf20Sopenharmony_ci			};
7628c2ecf20Sopenharmony_ci
7638c2ecf20Sopenharmony_ci			port@5 {
7648c2ecf20Sopenharmony_ci				reg = <0x5>;
7658c2ecf20Sopenharmony_ci				label = "lan21";
7668c2ecf20Sopenharmony_ci				phy-handle = <&switch2phy5>;
7678c2ecf20Sopenharmony_ci			};
7688c2ecf20Sopenharmony_ci
7698c2ecf20Sopenharmony_ci			port@6 {
7708c2ecf20Sopenharmony_ci				reg = <0x6>;
7718c2ecf20Sopenharmony_ci				label = "lan22";
7728c2ecf20Sopenharmony_ci				phy-handle = <&switch2phy6>;
7738c2ecf20Sopenharmony_ci			};
7748c2ecf20Sopenharmony_ci
7758c2ecf20Sopenharmony_ci			port@7 {
7768c2ecf20Sopenharmony_ci				reg = <0x7>;
7778c2ecf20Sopenharmony_ci				label = "lan23";
7788c2ecf20Sopenharmony_ci				phy-handle = <&switch2phy7>;
7798c2ecf20Sopenharmony_ci			};
7808c2ecf20Sopenharmony_ci
7818c2ecf20Sopenharmony_ci			port@8 {
7828c2ecf20Sopenharmony_ci				reg = <0x8>;
7838c2ecf20Sopenharmony_ci				label = "lan24";
7848c2ecf20Sopenharmony_ci				phy-handle = <&switch2phy8>;
7858c2ecf20Sopenharmony_ci			};
7868c2ecf20Sopenharmony_ci
7878c2ecf20Sopenharmony_ci			switch2port9: port@9 {
7888c2ecf20Sopenharmony_ci				reg = <0x9>;
7898c2ecf20Sopenharmony_ci				label = "dsa";
7908c2ecf20Sopenharmony_ci				phy-mode = "2500base-x";
7918c2ecf20Sopenharmony_ci				managed = "in-band-status";
7928c2ecf20Sopenharmony_ci				link = <&switch1port10 &switch0port10>;
7938c2ecf20Sopenharmony_ci			};
7948c2ecf20Sopenharmony_ci
7958c2ecf20Sopenharmony_ci			port-sfp@a {
7968c2ecf20Sopenharmony_ci				reg = <0xa>;
7978c2ecf20Sopenharmony_ci				label = "sfp";
7988c2ecf20Sopenharmony_ci				sfp = <&sfp>;
7998c2ecf20Sopenharmony_ci				phy-mode = "sgmii";
8008c2ecf20Sopenharmony_ci				managed = "in-band-status";
8018c2ecf20Sopenharmony_ci				status = "disabled";
8028c2ecf20Sopenharmony_ci			};
8038c2ecf20Sopenharmony_ci		};
8048c2ecf20Sopenharmony_ci	};
8058c2ecf20Sopenharmony_ci
8068c2ecf20Sopenharmony_ci	switch2@2 {
8078c2ecf20Sopenharmony_ci		compatible = "marvell,mv88e6085";
8088c2ecf20Sopenharmony_ci		reg = <0x2 0>;
8098c2ecf20Sopenharmony_ci		dsa,member = <0 2>;
8108c2ecf20Sopenharmony_ci		interrupt-parent = <&moxtet>;
8118c2ecf20Sopenharmony_ci		interrupts = <MOXTET_IRQ_TOPAZ>;
8128c2ecf20Sopenharmony_ci		status = "disabled";
8138c2ecf20Sopenharmony_ci
8148c2ecf20Sopenharmony_ci		mdio {
8158c2ecf20Sopenharmony_ci			#address-cells = <1>;
8168c2ecf20Sopenharmony_ci			#size-cells = <0>;
8178c2ecf20Sopenharmony_ci
8188c2ecf20Sopenharmony_ci			switch2phy1_topaz: switch2phy1@11 {
8198c2ecf20Sopenharmony_ci				reg = <0x11>;
8208c2ecf20Sopenharmony_ci			};
8218c2ecf20Sopenharmony_ci
8228c2ecf20Sopenharmony_ci			switch2phy2_topaz: switch2phy2@12 {
8238c2ecf20Sopenharmony_ci				reg = <0x12>;
8248c2ecf20Sopenharmony_ci			};
8258c2ecf20Sopenharmony_ci
8268c2ecf20Sopenharmony_ci			switch2phy3_topaz: switch2phy3@13 {
8278c2ecf20Sopenharmony_ci				reg = <0x13>;
8288c2ecf20Sopenharmony_ci			};
8298c2ecf20Sopenharmony_ci
8308c2ecf20Sopenharmony_ci			switch2phy4_topaz: switch2phy4@14 {
8318c2ecf20Sopenharmony_ci				reg = <0x14>;
8328c2ecf20Sopenharmony_ci			};
8338c2ecf20Sopenharmony_ci		};
8348c2ecf20Sopenharmony_ci
8358c2ecf20Sopenharmony_ci		ports {
8368c2ecf20Sopenharmony_ci			#address-cells = <1>;
8378c2ecf20Sopenharmony_ci			#size-cells = <0>;
8388c2ecf20Sopenharmony_ci
8398c2ecf20Sopenharmony_ci			port@1 {
8408c2ecf20Sopenharmony_ci				reg = <0x1>;
8418c2ecf20Sopenharmony_ci				label = "lan17";
8428c2ecf20Sopenharmony_ci				phy-handle = <&switch2phy1_topaz>;
8438c2ecf20Sopenharmony_ci			};
8448c2ecf20Sopenharmony_ci
8458c2ecf20Sopenharmony_ci			port@2 {
8468c2ecf20Sopenharmony_ci				reg = <0x2>;
8478c2ecf20Sopenharmony_ci				label = "lan18";
8488c2ecf20Sopenharmony_ci				phy-handle = <&switch2phy2_topaz>;
8498c2ecf20Sopenharmony_ci			};
8508c2ecf20Sopenharmony_ci
8518c2ecf20Sopenharmony_ci			port@3 {
8528c2ecf20Sopenharmony_ci				reg = <0x3>;
8538c2ecf20Sopenharmony_ci				label = "lan19";
8548c2ecf20Sopenharmony_ci				phy-handle = <&switch2phy3_topaz>;
8558c2ecf20Sopenharmony_ci			};
8568c2ecf20Sopenharmony_ci
8578c2ecf20Sopenharmony_ci			port@4 {
8588c2ecf20Sopenharmony_ci				reg = <0x4>;
8598c2ecf20Sopenharmony_ci				label = "lan20";
8608c2ecf20Sopenharmony_ci				phy-handle = <&switch2phy4_topaz>;
8618c2ecf20Sopenharmony_ci			};
8628c2ecf20Sopenharmony_ci
8638c2ecf20Sopenharmony_ci			port@5 {
8648c2ecf20Sopenharmony_ci				reg = <0x5>;
8658c2ecf20Sopenharmony_ci				label = "dsa";
8668c2ecf20Sopenharmony_ci				phy-mode = "2500base-x";
8678c2ecf20Sopenharmony_ci				managed = "in-band-status";
8688c2ecf20Sopenharmony_ci				link = <&switch1port10 &switch0port10>;
8698c2ecf20Sopenharmony_ci			};
8708c2ecf20Sopenharmony_ci		};
8718c2ecf20Sopenharmony_ci	};
8728c2ecf20Sopenharmony_ci};
873