xref: /linux/arch/arm64/boot/dts/marvell/armada-8040-clearfog-gt-8k.dts (revision 01d0deba28f6dc3b31c505dccb9559ee19dfade3)
1a6120833SBaruch Siach// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2a6120833SBaruch Siach/*
3a6120833SBaruch Siach * Copyright (C) 2018 SolidRun ltd.
4a6120833SBaruch Siach * Based on Marvell MACCHIATOBin board
5a6120833SBaruch Siach *
6a6120833SBaruch Siach * Device Tree file for SolidRun's ClearFog GT 8K
7a6120833SBaruch Siach */
8a6120833SBaruch Siach
9a6120833SBaruch Siach#include "armada-8040.dtsi"
10a6120833SBaruch Siach
11a6120833SBaruch Siach#include <dt-bindings/input/input.h>
12a6120833SBaruch Siach#include <dt-bindings/gpio/gpio.h>
13a6120833SBaruch Siach
14a6120833SBaruch Siach/ {
15a6120833SBaruch Siach	model = "SolidRun ClearFog GT 8K";
16a6120833SBaruch Siach	compatible = "solidrun,clearfog-gt-8k", "marvell,armada8040",
17a6120833SBaruch Siach			"marvell,armada-ap806-quad", "marvell,armada-ap806";
18a6120833SBaruch Siach
19a6120833SBaruch Siach	chosen {
20a6120833SBaruch Siach		stdout-path = "serial0:115200n8";
21a6120833SBaruch Siach	};
22a6120833SBaruch Siach
23a6120833SBaruch Siach	memory@00000000 {
24a6120833SBaruch Siach		device_type = "memory";
25a6120833SBaruch Siach		reg = <0x0 0x0 0x0 0x80000000>;
26a6120833SBaruch Siach	};
27a6120833SBaruch Siach
28a6120833SBaruch Siach	aliases {
29a6120833SBaruch Siach		ethernet0 = &cp1_eth1;
30a6120833SBaruch Siach		ethernet1 = &cp0_eth0;
31a6120833SBaruch Siach		ethernet2 = &cp1_eth2;
32a6120833SBaruch Siach	};
33a6120833SBaruch Siach
34a6120833SBaruch Siach	v_3_3: regulator-3-3v {
35a6120833SBaruch Siach		compatible = "regulator-fixed";
36a6120833SBaruch Siach		regulator-name = "v_3_3";
37a6120833SBaruch Siach		regulator-min-microvolt = <3300000>;
38a6120833SBaruch Siach		regulator-max-microvolt = <3300000>;
39a6120833SBaruch Siach		regulator-always-on;
40a6120833SBaruch Siach		status = "okay";
41a6120833SBaruch Siach	};
42a6120833SBaruch Siach
43a6120833SBaruch Siach	v_5v0_usb3_hst_vbus: regulator-usb3-vbus0 {
44a6120833SBaruch Siach		compatible = "regulator-fixed";
45b597a6f5SBaruch Siach		gpio = <&cp0_gpio2 15 GPIO_ACTIVE_LOW>;
46a6120833SBaruch Siach		pinctrl-names = "default";
47a6120833SBaruch Siach		pinctrl-0 = <&cp0_xhci_vbus_pins>;
48a6120833SBaruch Siach		regulator-name = "v_5v0_usb3_hst_vbus";
49a6120833SBaruch Siach		regulator-min-microvolt = <5000000>;
50a6120833SBaruch Siach		regulator-max-microvolt = <5000000>;
51a6120833SBaruch Siach		status = "okay";
52a6120833SBaruch Siach	};
53a6120833SBaruch Siach
54a6120833SBaruch Siach	usb3h0_phy: usb3_phy0 {
55a6120833SBaruch Siach		compatible = "usb-nop-xceiv";
56a6120833SBaruch Siach		vcc-supply = <&v_5v0_usb3_hst_vbus>;
57a6120833SBaruch Siach	};
58a6120833SBaruch Siach
59a6120833SBaruch Siach	sfp_cp0_eth0: sfp-cp0-eth0 {
60a6120833SBaruch Siach		compatible = "sff,sfp";
61a6120833SBaruch Siach		i2c-bus = <&cp0_i2c1>;
62a6120833SBaruch Siach		mod-def0-gpio = <&cp0_gpio2 17 GPIO_ACTIVE_LOW>;
63a6120833SBaruch Siach		tx-disable-gpio = <&cp1_gpio1 29 GPIO_ACTIVE_HIGH>;
64a6120833SBaruch Siach		pinctrl-names = "default";
65a6120833SBaruch Siach		pinctrl-0 = <&cp0_sfp_present_pins &cp1_sfp_tx_disable_pins>;
66188ea2fcSBaruch Siach		maximum-power-milliwatt = <2000>;
67a6120833SBaruch Siach	};
68a6120833SBaruch Siach
69a6120833SBaruch Siach	leds {
70a6120833SBaruch Siach		compatible = "gpio-leds";
71a6120833SBaruch Siach		pinctrl-0 = <&cp0_led0_pins
72a6120833SBaruch Siach			     &cp0_led1_pins>;
73a6120833SBaruch Siach		pinctrl-names = "default";
74a6120833SBaruch Siach		/* No designated function for these LEDs at the moment */
75a6120833SBaruch Siach		led0 {
76a6120833SBaruch Siach			label = "clearfog-gt-8k:green:led0";
77a6120833SBaruch Siach			gpios = <&cp0_gpio2 8 GPIO_ACTIVE_LOW>;
78a6120833SBaruch Siach			default-state = "on";
79a6120833SBaruch Siach		};
80a6120833SBaruch Siach		led1 {
81a6120833SBaruch Siach			label = "clearfog-gt-8k:green:led1";
82a6120833SBaruch Siach			gpios = <&cp0_gpio2 9 GPIO_ACTIVE_LOW>;
83a6120833SBaruch Siach			default-state = "on";
84a6120833SBaruch Siach		};
85a6120833SBaruch Siach	};
86a6120833SBaruch Siach
87a6120833SBaruch Siach	keys {
88a6120833SBaruch Siach		compatible = "gpio-keys";
89a6120833SBaruch Siach		pinctrl-0 = <&cp0_gpio_reset_pins &cp1_wps_button_pins>;
90a6120833SBaruch Siach		pinctrl-names = "default";
91a6120833SBaruch Siach
92a6120833SBaruch Siach		button_0 {
93a6120833SBaruch Siach			/* The rear button */
94a6120833SBaruch Siach			label = "Rear Button";
95a6120833SBaruch Siach			gpios = <&cp0_gpio2 7 GPIO_ACTIVE_LOW>;
96a6120833SBaruch Siach			linux,can-disable;
97a6120833SBaruch Siach			linux,code = <BTN_0>;
98a6120833SBaruch Siach		};
99a6120833SBaruch Siach
100a6120833SBaruch Siach		button_1 {
101a6120833SBaruch Siach			/* The wps button */
102a6120833SBaruch Siach			label = "WPS Button";
103a6120833SBaruch Siach			gpios = <&cp1_gpio1 30 GPIO_ACTIVE_LOW>;
104a6120833SBaruch Siach			linux,can-disable;
105a6120833SBaruch Siach			linux,code = <KEY_WPS_BUTTON>;
106a6120833SBaruch Siach		};
107a6120833SBaruch Siach	};
108a6120833SBaruch Siach};
109a6120833SBaruch Siach
110a6120833SBaruch Siach&uart0 {
111a6120833SBaruch Siach	status = "okay";
112a6120833SBaruch Siach	pinctrl-0 = <&uart0_pins>;
113a6120833SBaruch Siach	pinctrl-names = "default";
114a6120833SBaruch Siach};
115a6120833SBaruch Siach
116a6120833SBaruch Siach&ap_sdhci0 {
117a6120833SBaruch Siach	bus-width = <8>;
118a6120833SBaruch Siach	no-1-8-v;
119a6120833SBaruch Siach	no-sd;
120a6120833SBaruch Siach	no-sdio;
121a6120833SBaruch Siach	non-removable;
122a6120833SBaruch Siach	status = "okay";
123a6120833SBaruch Siach	vqmmc-supply = <&v_3_3>;
124a6120833SBaruch Siach};
125a6120833SBaruch Siach
126a6120833SBaruch Siach&cp0_i2c0 {
127a6120833SBaruch Siach	clock-frequency = <100000>;
128a6120833SBaruch Siach	pinctrl-names = "default";
129a6120833SBaruch Siach	pinctrl-0 = <&cp0_i2c0_pins>;
130a6120833SBaruch Siach	status = "okay";
131a6120833SBaruch Siach};
132a6120833SBaruch Siach
133a6120833SBaruch Siach&cp0_i2c1 {
134a6120833SBaruch Siach	clock-frequency = <100000>;
135a6120833SBaruch Siach	pinctrl-names = "default";
136a6120833SBaruch Siach	pinctrl-0 = <&cp0_i2c1_pins>;
137a6120833SBaruch Siach	status = "okay";
138a6120833SBaruch Siach};
139a6120833SBaruch Siach
140a6120833SBaruch Siach&cp0_pinctrl {
141a6120833SBaruch Siach	/*
142a6120833SBaruch Siach	 * MPP Bus:
143a6120833SBaruch Siach	 * [0-31] = 0xff: Keep default CP0_shared_pins:
144a6120833SBaruch Siach	 * [11] CLKOUT_MPP_11 (out)
145a6120833SBaruch Siach	 * [23] LINK_RD_IN_CP2CP (in)
146a6120833SBaruch Siach	 * [25] CLKOUT_MPP_25 (out)
147a6120833SBaruch Siach	 * [29] AVS_FB_IN_CP2CP (in)
148a6120833SBaruch Siach	 * [32, 33, 34] pci0/1/2 reset
149a6120833SBaruch Siach	 * [35-38] CP0 I2C1 and I2C0
150a6120833SBaruch Siach	 * [39] GPIO reset button
151a6120833SBaruch Siach	 * [40,41] LED0 and LED1
152a6120833SBaruch Siach	 * [43] 1512 phy reset
153a6120833SBaruch Siach	 * [47] USB VBUS EN (active low)
154a6120833SBaruch Siach	 * [48] FAN PWM
155a6120833SBaruch Siach	 * [49] SFP+ present signal
156a6120833SBaruch Siach	 * [50] TPM interrupt
157a6120833SBaruch Siach	 * [51] WLAN0 disable
158a6120833SBaruch Siach	 * [52] WLAN1 disable
159a6120833SBaruch Siach	 * [53] LTE disable
160a6120833SBaruch Siach	 * [54] NFC reset
161a6120833SBaruch Siach	 * [55] Micro SD card detect
162a6120833SBaruch Siach	 * [56-61] Micro SD
163a6120833SBaruch Siach	 */
164a6120833SBaruch Siach
165a6120833SBaruch Siach	cp0_pci0_reset_pins: pci0-reset-pins {
166a6120833SBaruch Siach		marvell,pins = "mpp32";
167a6120833SBaruch Siach		marvell,function = "gpio";
168a6120833SBaruch Siach	};
169a6120833SBaruch Siach
170a6120833SBaruch Siach	cp0_pci1_reset_pins: pci1-reset-pins {
171a6120833SBaruch Siach		marvell,pins = "mpp33";
172a6120833SBaruch Siach		marvell,function = "gpio";
173a6120833SBaruch Siach	};
174a6120833SBaruch Siach
175a6120833SBaruch Siach	cp0_pci2_reset_pins: pci2-reset-pins {
176a6120833SBaruch Siach		marvell,pins = "mpp34";
177a6120833SBaruch Siach		marvell,function = "gpio";
178a6120833SBaruch Siach	};
179a6120833SBaruch Siach
180a6120833SBaruch Siach	cp0_i2c1_pins: i2c1-pins {
181a6120833SBaruch Siach		marvell,pins = "mpp35", "mpp36";
182a6120833SBaruch Siach		marvell,function = "i2c1";
183a6120833SBaruch Siach	};
184a6120833SBaruch Siach
185a6120833SBaruch Siach	cp0_i2c0_pins: i2c0-pins {
186a6120833SBaruch Siach		marvell,pins = "mpp37", "mpp38";
187a6120833SBaruch Siach		marvell,function = "i2c0";
188a6120833SBaruch Siach	};
189a6120833SBaruch Siach
190a6120833SBaruch Siach	cp0_gpio_reset_pins: gpio-reset-pins {
191a6120833SBaruch Siach		marvell,pins = "mpp39";
192a6120833SBaruch Siach		marvell,function = "gpio";
193a6120833SBaruch Siach	};
194a6120833SBaruch Siach
195a6120833SBaruch Siach	cp0_led0_pins: led0-pins {
196a6120833SBaruch Siach		marvell,pins = "mpp40";
197a6120833SBaruch Siach		marvell,function = "gpio";
198a6120833SBaruch Siach	};
199a6120833SBaruch Siach
200a6120833SBaruch Siach	cp0_led1_pins: led1-pins {
201a6120833SBaruch Siach		marvell,pins = "mpp41";
202a6120833SBaruch Siach		marvell,function = "gpio";
203a6120833SBaruch Siach	};
204a6120833SBaruch Siach
205a6120833SBaruch Siach	cp0_copper_eth_phy_reset: copper-eth-phy-reset {
206a6120833SBaruch Siach		marvell,pins = "mpp43";
207a6120833SBaruch Siach		marvell,function = "gpio";
208a6120833SBaruch Siach	};
209a6120833SBaruch Siach
210a6120833SBaruch Siach	cp0_xhci_vbus_pins: xhci0-vbus-pins {
211a6120833SBaruch Siach		marvell,pins = "mpp47";
212a6120833SBaruch Siach		marvell,function = "gpio";
213a6120833SBaruch Siach	};
214a6120833SBaruch Siach
215a6120833SBaruch Siach	cp0_fan_pwm_pins: fan-pwm-pins {
216a6120833SBaruch Siach		marvell,pins = "mpp48";
217a6120833SBaruch Siach		marvell,function = "gpio";
218a6120833SBaruch Siach	};
219a6120833SBaruch Siach
220a6120833SBaruch Siach	cp0_sfp_present_pins: sfp-present-pins {
221a6120833SBaruch Siach		marvell,pins = "mpp49";
222a6120833SBaruch Siach		marvell,function = "gpio";
223a6120833SBaruch Siach	};
224a6120833SBaruch Siach
225a6120833SBaruch Siach	cp0_tpm_irq_pins: tpm-irq-pins {
226a6120833SBaruch Siach		marvell,pins = "mpp50";
227a6120833SBaruch Siach		marvell,function = "gpio";
228a6120833SBaruch Siach	};
229a6120833SBaruch Siach
230e97bb6d4SThomas Schreiber	cp0_wlan_disable_pins: wlan-disable-pins {
231e97bb6d4SThomas Schreiber		marvell,pins = "mpp51";
232e97bb6d4SThomas Schreiber		marvell,function = "gpio";
233e97bb6d4SThomas Schreiber	};
234e97bb6d4SThomas Schreiber
235a6120833SBaruch Siach	cp0_sdhci_pins: sdhci-pins {
236a6120833SBaruch Siach		marvell,pins = "mpp55", "mpp56", "mpp57", "mpp58", "mpp59",
237a6120833SBaruch Siach			       "mpp60", "mpp61";
238a6120833SBaruch Siach		marvell,function = "sdio";
239a6120833SBaruch Siach	};
240a6120833SBaruch Siach};
241a6120833SBaruch Siach
24291f84690SBaruch Siach&cp0_pcie0 {
24391f84690SBaruch Siach	pinctrl-names = "default";
244e97bb6d4SThomas Schreiber	pinctrl-0 = <&cp0_pci0_reset_pins &cp0_wlan_disable_pins>;
24591f84690SBaruch Siach	reset-gpios = <&cp0_gpio2 0 GPIO_ACTIVE_LOW>;
24691f84690SBaruch Siach	status = "okay";
24791f84690SBaruch Siach};
24891f84690SBaruch Siach
249a6120833SBaruch Siach&cp0_gpio2 {
250a6120833SBaruch Siach	sata_reset {
251a6120833SBaruch Siach		gpio-hog;
252a6120833SBaruch Siach		gpios = <1 GPIO_ACTIVE_HIGH>;
253a6120833SBaruch Siach		output-high;
254a6120833SBaruch Siach	};
255235df2d8SBaruch Siach
256235df2d8SBaruch Siach	lte_reset {
257235df2d8SBaruch Siach		gpio-hog;
258235df2d8SBaruch Siach		gpios = <2 GPIO_ACTIVE_LOW>;
259235df2d8SBaruch Siach		output-low;
260235df2d8SBaruch Siach	};
261235df2d8SBaruch Siach
262e97bb6d4SThomas Schreiber	wlan_disable {
263e97bb6d4SThomas Schreiber		gpio-hog;
264e97bb6d4SThomas Schreiber		gpios = <19 GPIO_ACTIVE_LOW>;
265e97bb6d4SThomas Schreiber		output-low;
266e97bb6d4SThomas Schreiber	};
267e97bb6d4SThomas Schreiber
268235df2d8SBaruch Siach	lte_disable {
269235df2d8SBaruch Siach		gpio-hog;
270235df2d8SBaruch Siach		gpios = <21 GPIO_ACTIVE_LOW>;
271235df2d8SBaruch Siach		output-low;
272235df2d8SBaruch Siach	};
273a6120833SBaruch Siach};
274a6120833SBaruch Siach
275a6120833SBaruch Siach&cp0_ethernet {
276a6120833SBaruch Siach	status = "okay";
277a6120833SBaruch Siach};
278a6120833SBaruch Siach
279a6120833SBaruch Siach/* SFP */
280a6120833SBaruch Siach&cp0_eth0 {
281a6120833SBaruch Siach	status = "okay";
282a6120833SBaruch Siach	phy-mode = "10gbase-kr";
283a6120833SBaruch Siach	managed = "in-band-status";
284a6120833SBaruch Siach	phys = <&cp0_comphy2 0>;
285a6120833SBaruch Siach	sfp = <&sfp_cp0_eth0>;
286a6120833SBaruch Siach};
287a6120833SBaruch Siach
288a6120833SBaruch Siach&cp0_sdhci0 {
289a6120833SBaruch Siach	broken-cd;
290a6120833SBaruch Siach	bus-width = <4>;
291a6120833SBaruch Siach	pinctrl-names = "default";
292a6120833SBaruch Siach	pinctrl-0 = <&cp0_sdhci_pins>;
293a6120833SBaruch Siach	status = "okay";
294a6120833SBaruch Siach	vqmmc-supply = <&v_3_3>;
295a6120833SBaruch Siach};
296a6120833SBaruch Siach
297dfc1259aSBaruch Siach&cp0_usb3_1 {
298dfc1259aSBaruch Siach	status = "okay";
299dfc1259aSBaruch Siach};
300dfc1259aSBaruch Siach
301a6120833SBaruch Siach&cp1_pinctrl {
302a6120833SBaruch Siach	/*
303a6120833SBaruch Siach	 * MPP Bus:
304a6120833SBaruch Siach	 * [0-5] TDM
305a6120833SBaruch Siach	 * [6]   VHV Enable
306a6120833SBaruch Siach	 * [7]   CP1 SPI0 CSn1 (FXS)
307a6120833SBaruch Siach	 * [8]   CP1 SPI0 CSn0 (TPM)
308a6120833SBaruch Siach	 * [9.11]CP1 SPI0 MOSI/MISO/CLK
309a6120833SBaruch Siach	 * [13]  CP1 SPI1 MISO (TDM and SPI ROM shared)
310a6120833SBaruch Siach	 * [14]  CP1 SPI1 CS0n (64Mb SPI ROM)
311a6120833SBaruch Siach	 * [15]  CP1 SPI1 MOSI (TDM and SPI ROM shared)
312a6120833SBaruch Siach	 * [16]  CP1 SPI1 CLK (TDM and SPI ROM shared)
313a6120833SBaruch Siach	 * [24]  Topaz switch reset
314a6120833SBaruch Siach	 * [26]  Buzzer
315a6120833SBaruch Siach	 * [27]  CP1 SMI MDIO
316a6120833SBaruch Siach	 * [28]  CP1 SMI MDC
317a6120833SBaruch Siach	 * [29]  CP0 10G SFP TX Disable
318a6120833SBaruch Siach	 * [30]  WPS button
319a6120833SBaruch Siach	 * [31]  Front panel button
320a6120833SBaruch Siach	 */
321a6120833SBaruch Siach
322a6120833SBaruch Siach	cp1_spi1_pins: spi1-pins {
323a6120833SBaruch Siach		marvell,pins = "mpp13", "mpp14", "mpp15", "mpp16";
324a6120833SBaruch Siach		marvell,function = "spi1";
325a6120833SBaruch Siach	};
326a6120833SBaruch Siach
327a6120833SBaruch Siach	cp1_switch_reset_pins: switch-reset-pins {
328a6120833SBaruch Siach		marvell,pins = "mpp24";
329a6120833SBaruch Siach		marvell,function = "gpio";
330a6120833SBaruch Siach	};
331a6120833SBaruch Siach
332a6120833SBaruch Siach	cp1_ge_mdio_pins: ge-mdio-pins {
333a6120833SBaruch Siach		marvell,pins = "mpp27", "mpp28";
334a6120833SBaruch Siach		marvell,function = "ge";
335a6120833SBaruch Siach	};
336a6120833SBaruch Siach
337a6120833SBaruch Siach	cp1_sfp_tx_disable_pins: sfp-tx-disable-pins {
338a6120833SBaruch Siach		marvell,pins = "mpp29";
339a6120833SBaruch Siach		marvell,function = "gpio";
340a6120833SBaruch Siach	};
341a6120833SBaruch Siach
342a6120833SBaruch Siach	cp1_wps_button_pins: wps-button-pins {
343a6120833SBaruch Siach		marvell,pins = "mpp30";
344a6120833SBaruch Siach		marvell,function = "gpio";
345a6120833SBaruch Siach	};
346a6120833SBaruch Siach};
347a6120833SBaruch Siach
348a6120833SBaruch Siach&cp1_sata0 {
349a6120833SBaruch Siach	pinctrl-0 = <&cp0_pci1_reset_pins>;
350a6120833SBaruch Siach	status = "okay";
351d04abe99SMiquel Raynal
352d04abe99SMiquel Raynal	sata-port@1 {
353d04abe99SMiquel Raynal		phys = <&cp1_comphy0 1>;
354d04abe99SMiquel Raynal		phy-names = "cp1-sata0-1-phy";
355d04abe99SMiquel Raynal	};
356a6120833SBaruch Siach};
357a6120833SBaruch Siach
358a6120833SBaruch Siach&cp1_mdio {
359a6120833SBaruch Siach	pinctrl-names = "default";
360a6120833SBaruch Siach	pinctrl-0 = <&cp1_ge_mdio_pins>;
361a6120833SBaruch Siach	status = "okay";
362a6120833SBaruch Siach
363a6120833SBaruch Siach	ge_phy: ethernet-phy@0 {
364a6120833SBaruch Siach		/* LED0 - GB link
365a6120833SBaruch Siach		 * LED1 - on: link, blink: activity
366a6120833SBaruch Siach		 */
367a6120833SBaruch Siach		marvell,reg-init = <3 16 0 0x1017>;
368a6120833SBaruch Siach		reg = <0>;
369babc5544SBaruch Siach		pinctrl-names = "default";
370babc5544SBaruch Siach		pinctrl-0 = <&cp0_copper_eth_phy_reset>;
371bdd22a41SBaruch Siach		reset-gpios = <&cp0_gpio2 11 GPIO_ACTIVE_LOW>;
372babc5544SBaruch Siach		reset-assert-us = <10000>;
373a6120833SBaruch Siach	};
374a6120833SBaruch Siach
375a6120833SBaruch Siach	switch0: switch0@4 {
376a6120833SBaruch Siach		compatible = "marvell,mv88e6085";
377a6120833SBaruch Siach		reg = <4>;
378a6120833SBaruch Siach		pinctrl-names = "default";
379a6120833SBaruch Siach		pinctrl-0 = <&cp1_switch_reset_pins>;
380a6120833SBaruch Siach		reset-gpios = <&cp1_gpio1 24 GPIO_ACTIVE_LOW>;
381a6120833SBaruch Siach
382a6120833SBaruch Siach		ports {
383a6120833SBaruch Siach			#address-cells = <1>;
384a6120833SBaruch Siach			#size-cells = <0>;
385a6120833SBaruch Siach
386a6120833SBaruch Siach			port@1 {
387a6120833SBaruch Siach				reg = <1>;
388a6120833SBaruch Siach				label = "lan2";
389a6120833SBaruch Siach				phy-handle = <&switch0phy0>;
390a6120833SBaruch Siach			};
391a6120833SBaruch Siach
392a6120833SBaruch Siach			port@2 {
393a6120833SBaruch Siach				reg = <2>;
394a6120833SBaruch Siach				label = "lan1";
395a6120833SBaruch Siach				phy-handle = <&switch0phy1>;
396a6120833SBaruch Siach			};
397a6120833SBaruch Siach
398a6120833SBaruch Siach			port@3 {
399a6120833SBaruch Siach				reg = <3>;
400a6120833SBaruch Siach				label = "lan4";
401a6120833SBaruch Siach				phy-handle = <&switch0phy2>;
402a6120833SBaruch Siach			};
403a6120833SBaruch Siach
404a6120833SBaruch Siach			port@4 {
405a6120833SBaruch Siach				reg = <4>;
406a6120833SBaruch Siach				label = "lan3";
407a6120833SBaruch Siach				phy-handle = <&switch0phy3>;
408a6120833SBaruch Siach			};
409a6120833SBaruch Siach
410a6120833SBaruch Siach			port@5 {
411a6120833SBaruch Siach				reg = <5>;
412a6120833SBaruch Siach				label = "cpu";
413a6120833SBaruch Siach				ethernet = <&cp1_eth2>;
414a6120833SBaruch Siach			};
415a6120833SBaruch Siach		};
416a6120833SBaruch Siach
417a6120833SBaruch Siach		mdio {
418a6120833SBaruch Siach			#address-cells = <1>;
419a6120833SBaruch Siach			#size-cells = <0>;
420a6120833SBaruch Siach
421a6120833SBaruch Siach			switch0phy0: switch0phy0@11 {
422a6120833SBaruch Siach				reg = <0x11>;
423a6120833SBaruch Siach			};
424a6120833SBaruch Siach
425a6120833SBaruch Siach			switch0phy1: switch0phy1@12 {
426a6120833SBaruch Siach				reg = <0x12>;
427a6120833SBaruch Siach			};
428a6120833SBaruch Siach
429a6120833SBaruch Siach			switch0phy2: switch0phy2@13 {
430a6120833SBaruch Siach				reg = <0x13>;
431a6120833SBaruch Siach			};
432a6120833SBaruch Siach
433a6120833SBaruch Siach			switch0phy3: switch0phy3@14 {
434a6120833SBaruch Siach				reg = <0x14>;
435a6120833SBaruch Siach			};
436a6120833SBaruch Siach		};
437a6120833SBaruch Siach	};
438a6120833SBaruch Siach};
439a6120833SBaruch Siach
440a6120833SBaruch Siach&cp1_ethernet {
441a6120833SBaruch Siach	status = "okay";
442a6120833SBaruch Siach};
443a6120833SBaruch Siach
444a6120833SBaruch Siach/* 1G copper */
445a6120833SBaruch Siach&cp1_eth1 {
446a6120833SBaruch Siach	status = "okay";
447a6120833SBaruch Siach	phy-mode = "sgmii";
448a6120833SBaruch Siach	phy = <&ge_phy>;
449a6120833SBaruch Siach	phys = <&cp1_comphy3 1>;
450a6120833SBaruch Siach};
451a6120833SBaruch Siach
452a6120833SBaruch Siach/* Switch uplink */
453a6120833SBaruch Siach&cp1_eth2 {
454a6120833SBaruch Siach	status = "okay";
455a6120833SBaruch Siach	phy-mode = "2500base-x";
456a6120833SBaruch Siach	phys = <&cp1_comphy5 2>;
457a6120833SBaruch Siach	fixed-link {
458a6120833SBaruch Siach		speed = <2500>;
459a6120833SBaruch Siach		full-duplex;
460a6120833SBaruch Siach	};
461a6120833SBaruch Siach};
462a6120833SBaruch Siach
463a6120833SBaruch Siach&cp1_spi1 {
464a6120833SBaruch Siach	pinctrl-names = "default";
465a6120833SBaruch Siach	pinctrl-0 = <&cp1_spi1_pins>;
466a6120833SBaruch Siach	status = "okay";
467a6120833SBaruch Siach
468a6120833SBaruch Siach	spi-flash@0 {
469a6120833SBaruch Siach		compatible = "st,w25q32";
470a6120833SBaruch Siach		spi-max-frequency = <50000000>;
471a6120833SBaruch Siach		reg = <0>;
472a6120833SBaruch Siach	};
473a6120833SBaruch Siach};
474a6120833SBaruch Siach
475a6120833SBaruch Siach&cp1_usb3_0 {
476a6120833SBaruch Siach	usb-phy = <&usb3h0_phy>;
477*01d0debaSMiquel Raynal	phys = <&cp1_comphy2 0>;
478*01d0debaSMiquel Raynal	phy-names = "cp1-usb3h0-comphy";
479a6120833SBaruch Siach	status = "okay";
480a6120833SBaruch Siach};
481