18cc087a1SEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
28cc087a1SEmmanuel Vadot/*
38cc087a1SEmmanuel Vadot * Device Tree file for Globalscale MOCHAbin
48cc087a1SEmmanuel Vadot * Copyright (C) 2019 Globalscale technologies, Inc.
58cc087a1SEmmanuel Vadot * Copyright (C) 2021 Sartura Ltd.
68cc087a1SEmmanuel Vadot *
78cc087a1SEmmanuel Vadot */
88cc087a1SEmmanuel Vadot
98cc087a1SEmmanuel Vadot/dts-v1/;
108cc087a1SEmmanuel Vadot
118cc087a1SEmmanuel Vadot#include <dt-bindings/gpio/gpio.h>
128cc087a1SEmmanuel Vadot#include "armada-7040.dtsi"
138cc087a1SEmmanuel Vadot
148cc087a1SEmmanuel Vadot/ {
158cc087a1SEmmanuel Vadot	model = "Globalscale MOCHAbin";
168cc087a1SEmmanuel Vadot	compatible = "globalscale,mochabin", "marvell,armada7040",
178cc087a1SEmmanuel Vadot		     "marvell,armada-ap806-quad", "marvell,armada-ap806";
188cc087a1SEmmanuel Vadot
198cc087a1SEmmanuel Vadot	chosen {
208cc087a1SEmmanuel Vadot		stdout-path = "serial0:115200n8";
218cc087a1SEmmanuel Vadot	};
228cc087a1SEmmanuel Vadot
238cc087a1SEmmanuel Vadot	aliases {
248cc087a1SEmmanuel Vadot		ethernet0 = &cp0_eth0;
258cc087a1SEmmanuel Vadot		ethernet1 = &cp0_eth1;
268cc087a1SEmmanuel Vadot		ethernet2 = &cp0_eth2;
278cc087a1SEmmanuel Vadot		ethernet3 = &swport1;
288cc087a1SEmmanuel Vadot		ethernet4 = &swport2;
298cc087a1SEmmanuel Vadot		ethernet5 = &swport3;
308cc087a1SEmmanuel Vadot		ethernet6 = &swport4;
318cc087a1SEmmanuel Vadot	};
328cc087a1SEmmanuel Vadot
338cc087a1SEmmanuel Vadot	/* SFP+ 10G */
348cc087a1SEmmanuel Vadot	sfp_eth0: sfp-eth0 {
358cc087a1SEmmanuel Vadot		compatible = "sff,sfp";
368cc087a1SEmmanuel Vadot		i2c-bus = <&cp0_i2c1>;
37b97ee269SEmmanuel Vadot		los-gpios = <&sfp_gpio 3 GPIO_ACTIVE_HIGH>;
38b97ee269SEmmanuel Vadot		mod-def0-gpios = <&sfp_gpio 2 GPIO_ACTIVE_LOW>;
39b97ee269SEmmanuel Vadot		tx-disable-gpios = <&sfp_gpio 1 GPIO_ACTIVE_HIGH>;
40b97ee269SEmmanuel Vadot		tx-fault-gpios = <&sfp_gpio 0 GPIO_ACTIVE_HIGH>;
418cc087a1SEmmanuel Vadot	};
428cc087a1SEmmanuel Vadot
438cc087a1SEmmanuel Vadot	/* SFP 1G */
448cc087a1SEmmanuel Vadot	sfp_eth2: sfp-eth2 {
458cc087a1SEmmanuel Vadot		compatible = "sff,sfp";
468cc087a1SEmmanuel Vadot		i2c-bus = <&cp0_i2c0>;
47b97ee269SEmmanuel Vadot		los-gpios = <&sfp_gpio 7 GPIO_ACTIVE_HIGH>;
48b97ee269SEmmanuel Vadot		mod-def0-gpios = <&sfp_gpio 6 GPIO_ACTIVE_LOW>;
49b97ee269SEmmanuel Vadot		tx-disable-gpios = <&sfp_gpio 5 GPIO_ACTIVE_HIGH>;
50b97ee269SEmmanuel Vadot		tx-fault-gpios = <&sfp_gpio 4 GPIO_ACTIVE_HIGH>;
518cc087a1SEmmanuel Vadot	};
528cc087a1SEmmanuel Vadot};
538cc087a1SEmmanuel Vadot
548cc087a1SEmmanuel Vadot/* microUSB UART console */
558cc087a1SEmmanuel Vadot&uart0 {
568cc087a1SEmmanuel Vadot	status = "okay";
578cc087a1SEmmanuel Vadot
588cc087a1SEmmanuel Vadot	pinctrl-0 = <&uart0_pins>;
598cc087a1SEmmanuel Vadot	pinctrl-names = "default";
608cc087a1SEmmanuel Vadot};
618cc087a1SEmmanuel Vadot
628cc087a1SEmmanuel Vadot/* eMMC */
638cc087a1SEmmanuel Vadot&ap_sdhci0 {
648cc087a1SEmmanuel Vadot	status = "okay";
658cc087a1SEmmanuel Vadot
668cc087a1SEmmanuel Vadot	bus-width = <4>;
678cc087a1SEmmanuel Vadot	non-removable;
688cc087a1SEmmanuel Vadot	/delete-property/ marvell,xenon-phy-slow-mode;
698cc087a1SEmmanuel Vadot	no-1-8-v;
708cc087a1SEmmanuel Vadot};
718cc087a1SEmmanuel Vadot
728cc087a1SEmmanuel Vadot&cp0_pinctrl {
738cc087a1SEmmanuel Vadot	cp0_uart0_pins: cp0-uart0-pins {
748cc087a1SEmmanuel Vadot		marvell,pins = "mpp6", "mpp7";
758cc087a1SEmmanuel Vadot		marvell,function = "uart0";
768cc087a1SEmmanuel Vadot	};
778cc087a1SEmmanuel Vadot
788cc087a1SEmmanuel Vadot	cp0_spi0_pins: cp0-spi0-pins {
798cc087a1SEmmanuel Vadot		marvell,pins = "mpp56", "mpp57", "mpp58", "mpp59";
808cc087a1SEmmanuel Vadot		marvell,function = "spi0";
818cc087a1SEmmanuel Vadot	};
828cc087a1SEmmanuel Vadot
838cc087a1SEmmanuel Vadot	cp0_spi1_pins: cp0-spi1-pins {
848cc087a1SEmmanuel Vadot		marvell,pins = "mpp13", "mpp14", "mpp15", "mpp16";
858cc087a1SEmmanuel Vadot		marvell,function = "spi1";
868cc087a1SEmmanuel Vadot	};
878cc087a1SEmmanuel Vadot
888cc087a1SEmmanuel Vadot	cp0_i2c0_pins: cp0-i2c0-pins {
898cc087a1SEmmanuel Vadot		marvell,pins = "mpp37", "mpp38";
908cc087a1SEmmanuel Vadot		marvell,function = "i2c0";
918cc087a1SEmmanuel Vadot	};
928cc087a1SEmmanuel Vadot
938cc087a1SEmmanuel Vadot	cp0_i2c1_pins: cp0-i2c1-pins {
948cc087a1SEmmanuel Vadot		marvell,pins = "mpp2", "mpp3";
958cc087a1SEmmanuel Vadot		marvell,function = "i2c1";
968cc087a1SEmmanuel Vadot	};
978cc087a1SEmmanuel Vadot
988cc087a1SEmmanuel Vadot	pca9554_int_pins: pca9554-int-pins {
998cc087a1SEmmanuel Vadot		marvell,pins = "mpp27";
1008cc087a1SEmmanuel Vadot		marvell,function = "gpio";
1018cc087a1SEmmanuel Vadot	};
1028cc087a1SEmmanuel Vadot
1038cc087a1SEmmanuel Vadot	cp0_rgmii1_pins: cp0-rgmii1-pins {
1048cc087a1SEmmanuel Vadot		marvell,pins = "mpp44", "mpp45", "mpp46", "mpp47", "mpp48", "mpp49",
1058cc087a1SEmmanuel Vadot			       "mpp50", "mpp51", "mpp52", "mpp53", "mpp54", "mpp55";
1068cc087a1SEmmanuel Vadot		marvell,function = "ge1";
1078cc087a1SEmmanuel Vadot	};
1088cc087a1SEmmanuel Vadot
1098cc087a1SEmmanuel Vadot	is31_sdb_pins: is31-sdb-pins {
1108cc087a1SEmmanuel Vadot		marvell,pins = "mpp30";
1118cc087a1SEmmanuel Vadot		marvell,function = "gpio";
1128cc087a1SEmmanuel Vadot	};
1138cc087a1SEmmanuel Vadot
1148cc087a1SEmmanuel Vadot	cp0_pcie_reset_pins: cp0-pcie-reset-pins {
1158cc087a1SEmmanuel Vadot		marvell,pins = "mpp9";
1168cc087a1SEmmanuel Vadot		marvell,function = "gpio";
1178cc087a1SEmmanuel Vadot	};
1188cc087a1SEmmanuel Vadot
1198cc087a1SEmmanuel Vadot	cp0_pcie_clkreq_pins: cp0-pcie-clkreq-pins {
1208cc087a1SEmmanuel Vadot		marvell,pins = "mpp5";
1218cc087a1SEmmanuel Vadot		marvell,function = "pcie1";
1228cc087a1SEmmanuel Vadot	};
1238cc087a1SEmmanuel Vadot
1248cc087a1SEmmanuel Vadot	cp0_switch_pins: cp0-switch-pins {
1258cc087a1SEmmanuel Vadot		marvell,pins = "mpp0", "mpp1";
1268cc087a1SEmmanuel Vadot		marvell,function = "gpio";
1278cc087a1SEmmanuel Vadot	};
1288cc087a1SEmmanuel Vadot
1298cc087a1SEmmanuel Vadot	cp0_phy_pins: cp0-phy-pins {
1308cc087a1SEmmanuel Vadot		marvell,pins = "mpp12";
1318cc087a1SEmmanuel Vadot		marvell,function = "gpio";
1328cc087a1SEmmanuel Vadot	};
1338cc087a1SEmmanuel Vadot};
1348cc087a1SEmmanuel Vadot
1358cc087a1SEmmanuel Vadot/* mikroBUS UART */
1368cc087a1SEmmanuel Vadot&cp0_uart0 {
1378cc087a1SEmmanuel Vadot	status = "okay";
1388cc087a1SEmmanuel Vadot
1398cc087a1SEmmanuel Vadot	pinctrl-names = "default";
1408cc087a1SEmmanuel Vadot	pinctrl-0 = <&cp0_uart0_pins>;
1418cc087a1SEmmanuel Vadot};
1428cc087a1SEmmanuel Vadot
1438cc087a1SEmmanuel Vadot/* mikroBUS SPI */
1448cc087a1SEmmanuel Vadot&cp0_spi0 {
1458cc087a1SEmmanuel Vadot	status = "okay";
1468cc087a1SEmmanuel Vadot
1478cc087a1SEmmanuel Vadot	pinctrl-names = "default";
1488cc087a1SEmmanuel Vadot	pinctrl-0 = <&cp0_spi0_pins>;
1498cc087a1SEmmanuel Vadot};
1508cc087a1SEmmanuel Vadot
1518cc087a1SEmmanuel Vadot/* SPI-NOR */
1528cc087a1SEmmanuel Vadot&cp0_spi1 {
1538cc087a1SEmmanuel Vadot	status = "okay";
1548cc087a1SEmmanuel Vadot
1558cc087a1SEmmanuel Vadot	pinctrl-names = "default";
1568cc087a1SEmmanuel Vadot	pinctrl-0 = <&cp0_spi1_pins>;
1578cc087a1SEmmanuel Vadot
158d5b0e70fSEmmanuel Vadot	flash@0 {
1598cc087a1SEmmanuel Vadot		#address-cells = <1>;
1608cc087a1SEmmanuel Vadot		#size-cells = <1>;
1618cc087a1SEmmanuel Vadot		compatible = "jedec,spi-nor";
1628cc087a1SEmmanuel Vadot		reg = <0>;
1638cc087a1SEmmanuel Vadot		spi-max-frequency = <20000000>;
1648cc087a1SEmmanuel Vadot
1658cc087a1SEmmanuel Vadot		partitions {
1668cc087a1SEmmanuel Vadot			compatible = "fixed-partitions";
1678cc087a1SEmmanuel Vadot			#address-cells = <1>;
1688cc087a1SEmmanuel Vadot			#size-cells = <1>;
1698cc087a1SEmmanuel Vadot
1708cc087a1SEmmanuel Vadot			partition@0 {
1718cc087a1SEmmanuel Vadot				label = "firmware";
1728cc087a1SEmmanuel Vadot				reg = <0x0 0x3e0000>;
1738cc087a1SEmmanuel Vadot				read-only;
1748cc087a1SEmmanuel Vadot			};
1758cc087a1SEmmanuel Vadot
1768cc087a1SEmmanuel Vadot			partition@3e0000 {
1778cc087a1SEmmanuel Vadot				label = "hw-info";
1788cc087a1SEmmanuel Vadot				reg = <0x3e0000 0x10000>;
1798cc087a1SEmmanuel Vadot				read-only;
1808cc087a1SEmmanuel Vadot			};
1818cc087a1SEmmanuel Vadot
1828cc087a1SEmmanuel Vadot			partition@3f0000 {
1838cc087a1SEmmanuel Vadot				label = "u-boot-env";
1848cc087a1SEmmanuel Vadot				reg = <0x3f0000 0x10000>;
1858cc087a1SEmmanuel Vadot			};
1868cc087a1SEmmanuel Vadot		};
1878cc087a1SEmmanuel Vadot	};
1888cc087a1SEmmanuel Vadot};
1898cc087a1SEmmanuel Vadot
1908cc087a1SEmmanuel Vadot/* mikroBUS, 1G SFP and GPIO expander */
1918cc087a1SEmmanuel Vadot&cp0_i2c0 {
1928cc087a1SEmmanuel Vadot	status = "okay";
1938cc087a1SEmmanuel Vadot
1948cc087a1SEmmanuel Vadot	pinctrl-names = "default";
1958cc087a1SEmmanuel Vadot	pinctrl-0 = <&cp0_i2c0_pins>;
1968cc087a1SEmmanuel Vadot	clock-frequency = <100000>;
1978cc087a1SEmmanuel Vadot
1988cc087a1SEmmanuel Vadot	sfp_gpio: pca9554@39 {
1998cc087a1SEmmanuel Vadot		compatible = "nxp,pca9554";
2008cc087a1SEmmanuel Vadot		pinctrl-names = "default";
2018cc087a1SEmmanuel Vadot		pinctrl-0 = <&pca9554_int_pins>;
2028cc087a1SEmmanuel Vadot		reg = <0x39>;
2038cc087a1SEmmanuel Vadot
2048cc087a1SEmmanuel Vadot		interrupt-parent = <&cp0_gpio1>;
2058cc087a1SEmmanuel Vadot		interrupts = <27 IRQ_TYPE_LEVEL_LOW>;
2068cc087a1SEmmanuel Vadot		interrupt-controller;
2078cc087a1SEmmanuel Vadot		#interrupt-cells = <2>;
2088cc087a1SEmmanuel Vadot
2098cc087a1SEmmanuel Vadot		gpio-controller;
2108cc087a1SEmmanuel Vadot		#gpio-cells = <2>;
2118cc087a1SEmmanuel Vadot
2128cc087a1SEmmanuel Vadot		/*
2138cc087a1SEmmanuel Vadot		 * IO0_0: SFP+_TX_FAULT
2148cc087a1SEmmanuel Vadot		 * IO0_1: SFP+_TX_DISABLE
2158cc087a1SEmmanuel Vadot		 * IO0_2: SFP+_PRSNT
2168cc087a1SEmmanuel Vadot		 * IO0_3: SFP+_LOSS
2178cc087a1SEmmanuel Vadot		 * IO0_4: SFP_TX_FAULT
2188cc087a1SEmmanuel Vadot		 * IO0_5: SFP_TX_DISABLE
2198cc087a1SEmmanuel Vadot		 * IO0_6: SFP_PRSNT
2208cc087a1SEmmanuel Vadot		 * IO0_7: SFP_LOSS
2218cc087a1SEmmanuel Vadot		 */
2228cc087a1SEmmanuel Vadot	};
2238cc087a1SEmmanuel Vadot};
2248cc087a1SEmmanuel Vadot
2258cc087a1SEmmanuel Vadot/* IS31FL3199, mini-PCIe and 10G SFP+ */
2268cc087a1SEmmanuel Vadot&cp0_i2c1 {
2278cc087a1SEmmanuel Vadot	status = "okay";
2288cc087a1SEmmanuel Vadot
2298cc087a1SEmmanuel Vadot	pinctrl-names = "default";
2308cc087a1SEmmanuel Vadot	pinctrl-0 = <&cp0_i2c1_pins>;
2318cc087a1SEmmanuel Vadot	clock-frequency = <100000>;
2328cc087a1SEmmanuel Vadot
2338cc087a1SEmmanuel Vadot	leds@64 {
2348cc087a1SEmmanuel Vadot		compatible = "issi,is31fl3199";
2358cc087a1SEmmanuel Vadot		#address-cells = <1>;
2368cc087a1SEmmanuel Vadot		#size-cells = <0>;
2378cc087a1SEmmanuel Vadot		pinctrl-names = "default";
2388cc087a1SEmmanuel Vadot		pinctrl-0 = <&is31_sdb_pins>;
2398cc087a1SEmmanuel Vadot		shutdown-gpios = <&cp0_gpio1 30 GPIO_ACTIVE_HIGH>;
2408cc087a1SEmmanuel Vadot		reg = <0x64>;
2418cc087a1SEmmanuel Vadot
2428cc087a1SEmmanuel Vadot		led1_red: led@1 {
2438cc087a1SEmmanuel Vadot			label = "red:led1";
2448cc087a1SEmmanuel Vadot			reg = <1>;
2458cc087a1SEmmanuel Vadot			led-max-microamp = <20000>;
2468cc087a1SEmmanuel Vadot		};
2478cc087a1SEmmanuel Vadot
2488cc087a1SEmmanuel Vadot		led1_green: led@2 {
2498cc087a1SEmmanuel Vadot			label = "green:led1";
2508cc087a1SEmmanuel Vadot			reg = <2>;
2518cc087a1SEmmanuel Vadot		};
2528cc087a1SEmmanuel Vadot
2538cc087a1SEmmanuel Vadot		led1_blue: led@3 {
2548cc087a1SEmmanuel Vadot			label = "blue:led1";
2558cc087a1SEmmanuel Vadot			reg = <3>;
2568cc087a1SEmmanuel Vadot		};
2578cc087a1SEmmanuel Vadot
2588cc087a1SEmmanuel Vadot		led2_red: led@4 {
2598cc087a1SEmmanuel Vadot			label = "red:led2";
2608cc087a1SEmmanuel Vadot			reg = <4>;
2618cc087a1SEmmanuel Vadot		};
2628cc087a1SEmmanuel Vadot
2638cc087a1SEmmanuel Vadot		led2_green: led@5 {
2648cc087a1SEmmanuel Vadot			label = "green:led2";
2658cc087a1SEmmanuel Vadot			reg = <5>;
2668cc087a1SEmmanuel Vadot		};
2678cc087a1SEmmanuel Vadot
2688cc087a1SEmmanuel Vadot		led2_blue: led@6 {
2698cc087a1SEmmanuel Vadot			label = "blue:led2";
2708cc087a1SEmmanuel Vadot			reg = <6>;
2718cc087a1SEmmanuel Vadot		};
2728cc087a1SEmmanuel Vadot
2738cc087a1SEmmanuel Vadot		led3_red: led@7 {
2748cc087a1SEmmanuel Vadot			label = "red:led3";
2758cc087a1SEmmanuel Vadot			reg = <7>;
2768cc087a1SEmmanuel Vadot		};
2778cc087a1SEmmanuel Vadot
2788cc087a1SEmmanuel Vadot		led3_green: led@8 {
2798cc087a1SEmmanuel Vadot			label = "green:led3";
2808cc087a1SEmmanuel Vadot			reg = <8>;
2818cc087a1SEmmanuel Vadot		};
2828cc087a1SEmmanuel Vadot
2838cc087a1SEmmanuel Vadot		led3_blue: led@9 {
2848cc087a1SEmmanuel Vadot			label = "blue:led3";
2858cc087a1SEmmanuel Vadot			reg = <9>;
2868cc087a1SEmmanuel Vadot		};
2878cc087a1SEmmanuel Vadot	};
2888cc087a1SEmmanuel Vadot};
2898cc087a1SEmmanuel Vadot
2908cc087a1SEmmanuel Vadot&cp0_mdio {
2918cc087a1SEmmanuel Vadot	status = "okay";
2928cc087a1SEmmanuel Vadot
2938cc087a1SEmmanuel Vadot	/* 88E1512 PHY */
2948cc087a1SEmmanuel Vadot	eth2phy: ethernet-phy@1 {
2958cc087a1SEmmanuel Vadot		reg = <1>;
2968cc087a1SEmmanuel Vadot		sfp = <&sfp_eth2>;
2978cc087a1SEmmanuel Vadot
2988cc087a1SEmmanuel Vadot		pinctrl-names = "default";
2998cc087a1SEmmanuel Vadot		pinctrl-0 = <&cp0_phy_pins>;
3008cc087a1SEmmanuel Vadot		reset-gpios = <&cp0_gpio1 12 GPIO_ACTIVE_LOW>;
3018cc087a1SEmmanuel Vadot	};
3028cc087a1SEmmanuel Vadot
3038cc087a1SEmmanuel Vadot	/* 88E6141 Topaz switch */
304*8d13bc63SEmmanuel Vadot	switch: ethernet-switch@3 {
3058cc087a1SEmmanuel Vadot		compatible = "marvell,mv88e6085";
3068cc087a1SEmmanuel Vadot		reg = <3>;
3078cc087a1SEmmanuel Vadot
3088cc087a1SEmmanuel Vadot		pinctrl-names = "default";
3098cc087a1SEmmanuel Vadot		pinctrl-0 = <&cp0_switch_pins>;
3108cc087a1SEmmanuel Vadot		reset-gpios = <&cp0_gpio1 0 GPIO_ACTIVE_LOW>;
3118cc087a1SEmmanuel Vadot
3128cc087a1SEmmanuel Vadot		interrupt-parent = <&cp0_gpio1>;
3138cc087a1SEmmanuel Vadot		interrupts = <1 IRQ_TYPE_LEVEL_LOW>;
3148cc087a1SEmmanuel Vadot
315*8d13bc63SEmmanuel Vadot		ethernet-ports {
3168cc087a1SEmmanuel Vadot			#address-cells = <1>;
3178cc087a1SEmmanuel Vadot			#size-cells = <0>;
3188cc087a1SEmmanuel Vadot
319*8d13bc63SEmmanuel Vadot			swport1: ethernet-port@1 {
3208cc087a1SEmmanuel Vadot				reg = <1>;
3218cc087a1SEmmanuel Vadot				label = "lan0";
3228cc087a1SEmmanuel Vadot				phy-handle = <&swphy1>;
3238cc087a1SEmmanuel Vadot			};
3248cc087a1SEmmanuel Vadot
325*8d13bc63SEmmanuel Vadot			swport2: ethernet-port@2 {
3268cc087a1SEmmanuel Vadot				reg = <2>;
3278cc087a1SEmmanuel Vadot				label = "lan1";
3288cc087a1SEmmanuel Vadot				phy-handle = <&swphy2>;
3298cc087a1SEmmanuel Vadot			};
3308cc087a1SEmmanuel Vadot
331*8d13bc63SEmmanuel Vadot			swport3: ethernet-port@3 {
3328cc087a1SEmmanuel Vadot				reg = <3>;
3338cc087a1SEmmanuel Vadot				label = "lan2";
3348cc087a1SEmmanuel Vadot				phy-handle = <&swphy3>;
3358cc087a1SEmmanuel Vadot			};
3368cc087a1SEmmanuel Vadot
337*8d13bc63SEmmanuel Vadot			swport4: ethernet-port@4 {
3388cc087a1SEmmanuel Vadot				reg = <4>;
3398cc087a1SEmmanuel Vadot				label = "lan3";
3408cc087a1SEmmanuel Vadot				phy-handle = <&swphy4>;
3418cc087a1SEmmanuel Vadot			};
3428cc087a1SEmmanuel Vadot
343*8d13bc63SEmmanuel Vadot			ethernet-port@5 {
3448cc087a1SEmmanuel Vadot				reg = <5>;
3458cc087a1SEmmanuel Vadot				label = "cpu";
3468cc087a1SEmmanuel Vadot				ethernet = <&cp0_eth1>;
3478cc087a1SEmmanuel Vadot				phy-mode = "2500base-x";
3488cc087a1SEmmanuel Vadot				managed = "in-band-status";
3498cc087a1SEmmanuel Vadot			};
3508cc087a1SEmmanuel Vadot		};
3518cc087a1SEmmanuel Vadot
3528cc087a1SEmmanuel Vadot		mdio {
3538cc087a1SEmmanuel Vadot			#address-cells = <1>;
3548cc087a1SEmmanuel Vadot			#size-cells = <0>;
3558cc087a1SEmmanuel Vadot
356*8d13bc63SEmmanuel Vadot			swphy1: ethernet-phy@17 {
3578cc087a1SEmmanuel Vadot				reg = <17>;
3588cc087a1SEmmanuel Vadot			};
3598cc087a1SEmmanuel Vadot
360*8d13bc63SEmmanuel Vadot			swphy2: ethernet-phy@18 {
3618cc087a1SEmmanuel Vadot				reg = <18>;
3628cc087a1SEmmanuel Vadot			};
3638cc087a1SEmmanuel Vadot
364*8d13bc63SEmmanuel Vadot			swphy3: ethernet-phy@19 {
3658cc087a1SEmmanuel Vadot				reg = <19>;
3668cc087a1SEmmanuel Vadot			};
3678cc087a1SEmmanuel Vadot
368*8d13bc63SEmmanuel Vadot			swphy4: ethernet-phy@20 {
3698cc087a1SEmmanuel Vadot				reg = <20>;
3708cc087a1SEmmanuel Vadot			};
3718cc087a1SEmmanuel Vadot		};
3728cc087a1SEmmanuel Vadot	};
3738cc087a1SEmmanuel Vadot};
3748cc087a1SEmmanuel Vadot
3758cc087a1SEmmanuel Vadot&cp0_ethernet {
3768cc087a1SEmmanuel Vadot	status = "okay";
3778cc087a1SEmmanuel Vadot};
3788cc087a1SEmmanuel Vadot
3798cc087a1SEmmanuel Vadot/* 10G SFP+ */
3808cc087a1SEmmanuel Vadot&cp0_eth0 {
3818cc087a1SEmmanuel Vadot	status = "okay";
3828cc087a1SEmmanuel Vadot
3838cc087a1SEmmanuel Vadot	phy-mode = "10gbase-r";
3848cc087a1SEmmanuel Vadot	phys = <&cp0_comphy4 0>;
3858cc087a1SEmmanuel Vadot	managed = "in-band-status";
3868cc087a1SEmmanuel Vadot	sfp = <&sfp_eth0>;
3878cc087a1SEmmanuel Vadot};
3888cc087a1SEmmanuel Vadot
3898cc087a1SEmmanuel Vadot/* Topaz switch uplink */
3908cc087a1SEmmanuel Vadot&cp0_eth1 {
3918cc087a1SEmmanuel Vadot	status = "okay";
3928cc087a1SEmmanuel Vadot
3938cc087a1SEmmanuel Vadot	phy-mode = "2500base-x";
3948cc087a1SEmmanuel Vadot	phys = <&cp0_comphy0 1>;
3958cc087a1SEmmanuel Vadot
3968cc087a1SEmmanuel Vadot	fixed-link {
3978cc087a1SEmmanuel Vadot		speed = <2500>;
3988cc087a1SEmmanuel Vadot		full-duplex;
3998cc087a1SEmmanuel Vadot	};
4008cc087a1SEmmanuel Vadot};
4018cc087a1SEmmanuel Vadot
4028cc087a1SEmmanuel Vadot/* 1G SFP or 1G RJ45 */
4038cc087a1SEmmanuel Vadot&cp0_eth2 {
4048cc087a1SEmmanuel Vadot	status = "okay";
4058cc087a1SEmmanuel Vadot
4068cc087a1SEmmanuel Vadot	pinctrl-names = "default";
4078cc087a1SEmmanuel Vadot	pinctrl-0 = <&cp0_rgmii1_pins>;
4088cc087a1SEmmanuel Vadot
4098cc087a1SEmmanuel Vadot	phy = <&eth2phy>;
4108cc087a1SEmmanuel Vadot	phy-mode = "rgmii-id";
4118cc087a1SEmmanuel Vadot};
4128cc087a1SEmmanuel Vadot
4138cc087a1SEmmanuel Vadot&cp0_utmi {
4148cc087a1SEmmanuel Vadot	status = "okay";
4158cc087a1SEmmanuel Vadot};
4168cc087a1SEmmanuel Vadot
4178cc087a1SEmmanuel Vadot/* SMSC USB5434B hub */
4188cc087a1SEmmanuel Vadot&cp0_usb3_0 {
4198cc087a1SEmmanuel Vadot	status = "okay";
4208cc087a1SEmmanuel Vadot
4218cc087a1SEmmanuel Vadot	phys = <&cp0_comphy1 0>, <&cp0_utmi0>;
4228cc087a1SEmmanuel Vadot	phy-names = "cp0-usb3h0-comphy", "utmi";
4238cc087a1SEmmanuel Vadot};
4248cc087a1SEmmanuel Vadot
4258cc087a1SEmmanuel Vadot/* miniPCI-E USB */
4268cc087a1SEmmanuel Vadot&cp0_usb3_1 {
4278cc087a1SEmmanuel Vadot	status = "okay";
4288cc087a1SEmmanuel Vadot};
4298cc087a1SEmmanuel Vadot
4308cc087a1SEmmanuel Vadot&cp0_sata0 {
4318cc087a1SEmmanuel Vadot	status = "okay";
4328cc087a1SEmmanuel Vadot
4338cc087a1SEmmanuel Vadot	/* 7 + 12 SATA connector (J24) */
4348cc087a1SEmmanuel Vadot	sata-port@0 {
4358cc087a1SEmmanuel Vadot		phys = <&cp0_comphy2 0>;
4368cc087a1SEmmanuel Vadot		phy-names = "cp0-sata0-0-phy";
4378cc087a1SEmmanuel Vadot	};
4388cc087a1SEmmanuel Vadot
4398cc087a1SEmmanuel Vadot	/* M.2-2250 B-key (J39) */
4408cc087a1SEmmanuel Vadot	sata-port@1 {
4418cc087a1SEmmanuel Vadot		phys = <&cp0_comphy3 1>;
4428cc087a1SEmmanuel Vadot		phy-names = "cp0-sata0-1-phy";
4438cc087a1SEmmanuel Vadot	};
4448cc087a1SEmmanuel Vadot};
4458cc087a1SEmmanuel Vadot
4468cc087a1SEmmanuel Vadot/* miniPCI-E (J5) */
4478cc087a1SEmmanuel Vadot&cp0_pcie2 {
4488cc087a1SEmmanuel Vadot	status = "okay";
4498cc087a1SEmmanuel Vadot
4508cc087a1SEmmanuel Vadot	pinctrl-names = "default", "clkreq";
4518cc087a1SEmmanuel Vadot	pinctrl-0 = <&cp0_pcie_reset_pins>;
4528cc087a1SEmmanuel Vadot	pinctrl-1 = <&cp0_pcie_clkreq_pins>;
4538cc087a1SEmmanuel Vadot	phys = <&cp0_comphy5 2>;
4548cc087a1SEmmanuel Vadot	phy-names = "cp0-pcie2-x1-phy";
4558cc087a1SEmmanuel Vadot	reset-gpios = <&cp0_gpio1 9 GPIO_ACTIVE_LOW>;
456fac71e4eSEmmanuel Vadot	ranges = <0x82000000 0x0 0xc0000000 0x0 0xc0000000 0x0 0x8000000>;
4578cc087a1SEmmanuel Vadot};
458