1c66ec88fSEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2c66ec88fSEmmanuel Vadot/*
3c66ec88fSEmmanuel Vadot * Device Tree file for Globalscale Marvell ESPRESSOBin Board
4c66ec88fSEmmanuel Vadot * Copyright (C) 2016 Marvell
5c66ec88fSEmmanuel Vadot *
6c66ec88fSEmmanuel Vadot * Romain Perier <romain.perier@free-electrons.com>
7c66ec88fSEmmanuel Vadot *
8c66ec88fSEmmanuel Vadot */
9c66ec88fSEmmanuel Vadot
10c66ec88fSEmmanuel Vadot#include <dt-bindings/gpio/gpio.h>
11c66ec88fSEmmanuel Vadot#include "armada-372x.dtsi"
12c66ec88fSEmmanuel Vadot
13c66ec88fSEmmanuel Vadot/ {
14c66ec88fSEmmanuel Vadot	aliases {
15c66ec88fSEmmanuel Vadot		ethernet0 = &eth0;
1684943d6fSEmmanuel Vadot		/* for DSA user port device */
176be33864SEmmanuel Vadot		ethernet1 = &switch0port1;
186be33864SEmmanuel Vadot		ethernet2 = &switch0port2;
196be33864SEmmanuel Vadot		ethernet3 = &switch0port3;
20c66ec88fSEmmanuel Vadot	};
21c66ec88fSEmmanuel Vadot
22c66ec88fSEmmanuel Vadot	chosen {
23c66ec88fSEmmanuel Vadot		stdout-path = "serial0:115200n8";
24c66ec88fSEmmanuel Vadot	};
25c66ec88fSEmmanuel Vadot
26c66ec88fSEmmanuel Vadot	memory@0 {
27c66ec88fSEmmanuel Vadot		device_type = "memory";
28c66ec88fSEmmanuel Vadot		reg = <0x00000000 0x00000000 0x00000000 0x20000000>;
29c66ec88fSEmmanuel Vadot	};
30c66ec88fSEmmanuel Vadot
31c66ec88fSEmmanuel Vadot	vcc_sd_reg1: regulator {
32c66ec88fSEmmanuel Vadot		compatible = "regulator-gpio";
33c66ec88fSEmmanuel Vadot		regulator-name = "vcc_sd1";
34c66ec88fSEmmanuel Vadot		regulator-min-microvolt = <1800000>;
35c66ec88fSEmmanuel Vadot		regulator-max-microvolt = <3300000>;
36c66ec88fSEmmanuel Vadot		regulator-boot-on;
37c66ec88fSEmmanuel Vadot
38c66ec88fSEmmanuel Vadot		gpios = <&gpionb 4 GPIO_ACTIVE_HIGH>;
39c66ec88fSEmmanuel Vadot		gpios-states = <0>;
40c66ec88fSEmmanuel Vadot		states = <1800000 0x1
41c66ec88fSEmmanuel Vadot			  3300000 0x0>;
42c66ec88fSEmmanuel Vadot		enable-active-high;
43c66ec88fSEmmanuel Vadot	};
445def4c47SEmmanuel Vadot
455def4c47SEmmanuel Vadot	led2: gpio-led2 {
465def4c47SEmmanuel Vadot		/* led2 is working only on v7 board */
475def4c47SEmmanuel Vadot		status = "disabled";
485def4c47SEmmanuel Vadot
495def4c47SEmmanuel Vadot		compatible = "gpio-leds";
505def4c47SEmmanuel Vadot
515def4c47SEmmanuel Vadot		led2 {
525def4c47SEmmanuel Vadot			label = "led2";
535def4c47SEmmanuel Vadot			gpios = <&gpionb 2 GPIO_ACTIVE_LOW>;
545def4c47SEmmanuel Vadot			default-state = "off";
555def4c47SEmmanuel Vadot		};
565def4c47SEmmanuel Vadot	};
57c66ec88fSEmmanuel Vadot};
58c66ec88fSEmmanuel Vadot
59c66ec88fSEmmanuel Vadot/* J9 */
60c66ec88fSEmmanuel Vadot&pcie0 {
61c66ec88fSEmmanuel Vadot	status = "okay";
62c66ec88fSEmmanuel Vadot	pinctrl-names = "default";
63c66ec88fSEmmanuel Vadot	pinctrl-0 = <&pcie_reset_pins &pcie_clkreq_pins>;
64c66ec88fSEmmanuel Vadot	reset-gpios = <&gpiosb 3 GPIO_ACTIVE_LOW>;
65c66ec88fSEmmanuel Vadot};
66c66ec88fSEmmanuel Vadot
67c66ec88fSEmmanuel Vadot/* J6 */
68c66ec88fSEmmanuel Vadot&sata {
69c66ec88fSEmmanuel Vadot	status = "okay";
705def4c47SEmmanuel Vadot};
715def4c47SEmmanuel Vadot
725def4c47SEmmanuel Vadot/* U11 */
735def4c47SEmmanuel Vadot&sdhci0 {
745def4c47SEmmanuel Vadot	/* Main DTS file for Espressobin is without eMMC */
755def4c47SEmmanuel Vadot	status = "disabled";
765def4c47SEmmanuel Vadot
775def4c47SEmmanuel Vadot	non-removable;
785def4c47SEmmanuel Vadot	bus-width = <8>;
795def4c47SEmmanuel Vadot	mmc-ddr-1_8v;
805def4c47SEmmanuel Vadot	mmc-hs400-1_8v;
815def4c47SEmmanuel Vadot	marvell,xenon-emmc;
825def4c47SEmmanuel Vadot	marvell,xenon-tun-count = <9>;
835def4c47SEmmanuel Vadot	marvell,pad-type = "fixed-1-8v";
845def4c47SEmmanuel Vadot
855def4c47SEmmanuel Vadot	pinctrl-names = "default";
865def4c47SEmmanuel Vadot	pinctrl-0 = <&mmc_pins>;
875def4c47SEmmanuel Vadot
885def4c47SEmmanuel Vadot	#address-cells = <1>;
895def4c47SEmmanuel Vadot	#size-cells = <0>;
905def4c47SEmmanuel Vadot	mmccard: mmccard@0 {
915def4c47SEmmanuel Vadot		compatible = "mmc-card";
925def4c47SEmmanuel Vadot		reg = <0>;
935def4c47SEmmanuel Vadot	};
94c66ec88fSEmmanuel Vadot};
95c66ec88fSEmmanuel Vadot
96c66ec88fSEmmanuel Vadot/* J1 */
97c66ec88fSEmmanuel Vadot&sdhci1 {
98c66ec88fSEmmanuel Vadot	wp-inverted;
99c66ec88fSEmmanuel Vadot	bus-width = <4>;
100c66ec88fSEmmanuel Vadot	cd-gpios = <&gpionb 3 GPIO_ACTIVE_LOW>;
101c66ec88fSEmmanuel Vadot	marvell,pad-type = "sd";
102c66ec88fSEmmanuel Vadot	vqmmc-supply = <&vcc_sd_reg1>;
103c66ec88fSEmmanuel Vadot
104c66ec88fSEmmanuel Vadot	pinctrl-names = "default";
105c66ec88fSEmmanuel Vadot	pinctrl-0 = <&sdio_pins>;
106c66ec88fSEmmanuel Vadot	status = "okay";
107c66ec88fSEmmanuel Vadot};
108c66ec88fSEmmanuel Vadot
109c66ec88fSEmmanuel Vadot&spi0 {
110c66ec88fSEmmanuel Vadot	status = "okay";
111c66ec88fSEmmanuel Vadot
112c66ec88fSEmmanuel Vadot	flash@0 {
113c66ec88fSEmmanuel Vadot		reg = <0>;
114c66ec88fSEmmanuel Vadot		compatible = "jedec,spi-nor";
115c66ec88fSEmmanuel Vadot		spi-max-frequency = <104000000>;
116c66ec88fSEmmanuel Vadot		m25p,fast-read;
117c66ec88fSEmmanuel Vadot	};
118c66ec88fSEmmanuel Vadot};
119c66ec88fSEmmanuel Vadot
120c66ec88fSEmmanuel Vadot/* Exported on the micro USB connector J5 through an FTDI */
121c66ec88fSEmmanuel Vadot&uart0 {
122c66ec88fSEmmanuel Vadot	pinctrl-names = "default";
123c66ec88fSEmmanuel Vadot	pinctrl-0 = <&uart1_pins>;
124c66ec88fSEmmanuel Vadot	status = "okay";
125c66ec88fSEmmanuel Vadot};
126c66ec88fSEmmanuel Vadot
127c66ec88fSEmmanuel Vadot/*
128c66ec88fSEmmanuel Vadot * Connector J17 and J18 expose a number of different features. Some pins are
129c66ec88fSEmmanuel Vadot * multiplexed. This is the case for instance for the following features:
130c66ec88fSEmmanuel Vadot * - UART1 (pin 24 = RX, pin 26 = TX). See armada-3720-db.dts for an example of
131c66ec88fSEmmanuel Vadot *   how to enable it. Beware that the signals are 1.8V TTL.
132c66ec88fSEmmanuel Vadot * - I2C
133c66ec88fSEmmanuel Vadot * - SPI
134c66ec88fSEmmanuel Vadot * - MMC
135c66ec88fSEmmanuel Vadot */
136c66ec88fSEmmanuel Vadot
137c66ec88fSEmmanuel Vadot/* J7 */
138c66ec88fSEmmanuel Vadot&usb3 {
139c66ec88fSEmmanuel Vadot	status = "okay";
140c66ec88fSEmmanuel Vadot};
141c66ec88fSEmmanuel Vadot
142c66ec88fSEmmanuel Vadot/* J8 */
143c66ec88fSEmmanuel Vadot&usb2 {
144c66ec88fSEmmanuel Vadot	status = "okay";
145c66ec88fSEmmanuel Vadot};
146c66ec88fSEmmanuel Vadot
147c66ec88fSEmmanuel Vadot&mdio {
148*8d13bc63SEmmanuel Vadot	switch0: ethernet-switch@1 {
149c66ec88fSEmmanuel Vadot		compatible = "marvell,mv88e6085";
150c66ec88fSEmmanuel Vadot		reg = <1>;
151c66ec88fSEmmanuel Vadot
152c66ec88fSEmmanuel Vadot		dsa,member = <0 0>;
153c66ec88fSEmmanuel Vadot
154*8d13bc63SEmmanuel Vadot		ethernet-ports {
155c66ec88fSEmmanuel Vadot			#address-cells = <1>;
156c66ec88fSEmmanuel Vadot			#size-cells = <0>;
157c66ec88fSEmmanuel Vadot
158*8d13bc63SEmmanuel Vadot			switch0port0: ethernet-port@0 {
159c66ec88fSEmmanuel Vadot				reg = <0>;
160c66ec88fSEmmanuel Vadot				label = "cpu";
161c66ec88fSEmmanuel Vadot				ethernet = <&eth0>;
162c66ec88fSEmmanuel Vadot				phy-mode = "rgmii-id";
163c66ec88fSEmmanuel Vadot				fixed-link {
164c66ec88fSEmmanuel Vadot					speed = <1000>;
165c66ec88fSEmmanuel Vadot					full-duplex;
166c66ec88fSEmmanuel Vadot				};
167c66ec88fSEmmanuel Vadot			};
168c66ec88fSEmmanuel Vadot
169*8d13bc63SEmmanuel Vadot			switch0port1: ethernet-port@1 {
170c66ec88fSEmmanuel Vadot				reg = <1>;
171c66ec88fSEmmanuel Vadot				label = "wan";
172c66ec88fSEmmanuel Vadot				phy-handle = <&switch0phy0>;
173c66ec88fSEmmanuel Vadot			};
174c66ec88fSEmmanuel Vadot
175*8d13bc63SEmmanuel Vadot			switch0port2: ethernet-port@2 {
176c66ec88fSEmmanuel Vadot				reg = <2>;
177c66ec88fSEmmanuel Vadot				label = "lan0";
178c66ec88fSEmmanuel Vadot				phy-handle = <&switch0phy1>;
179c66ec88fSEmmanuel Vadot			};
180c66ec88fSEmmanuel Vadot
181*8d13bc63SEmmanuel Vadot			switch0port3: ethernet-port@3 {
182c66ec88fSEmmanuel Vadot				reg = <3>;
183c66ec88fSEmmanuel Vadot				label = "lan1";
184c66ec88fSEmmanuel Vadot				phy-handle = <&switch0phy2>;
185c66ec88fSEmmanuel Vadot			};
186c66ec88fSEmmanuel Vadot
187c66ec88fSEmmanuel Vadot		};
188c66ec88fSEmmanuel Vadot
189c66ec88fSEmmanuel Vadot		mdio {
190c66ec88fSEmmanuel Vadot			#address-cells = <1>;
191c66ec88fSEmmanuel Vadot			#size-cells = <0>;
192c66ec88fSEmmanuel Vadot
193*8d13bc63SEmmanuel Vadot			switch0phy0: ethernet-phy@11 {
194c66ec88fSEmmanuel Vadot				reg = <0x11>;
195c66ec88fSEmmanuel Vadot			};
196*8d13bc63SEmmanuel Vadot			switch0phy1: ethernet-phy@12 {
197c66ec88fSEmmanuel Vadot				reg = <0x12>;
198c66ec88fSEmmanuel Vadot			};
199*8d13bc63SEmmanuel Vadot			switch0phy2: ethernet-phy@13 {
200c66ec88fSEmmanuel Vadot				reg = <0x13>;
201c66ec88fSEmmanuel Vadot			};
202c66ec88fSEmmanuel Vadot		};
203c66ec88fSEmmanuel Vadot	};
204c66ec88fSEmmanuel Vadot};
205c66ec88fSEmmanuel Vadot
206c66ec88fSEmmanuel Vadot&eth0 {
207c66ec88fSEmmanuel Vadot	pinctrl-names = "default";
208c66ec88fSEmmanuel Vadot	pinctrl-0 = <&rgmii_pins>, <&smi_pins>;
209c66ec88fSEmmanuel Vadot	phy-mode = "rgmii-id";
210c66ec88fSEmmanuel Vadot	status = "okay";
211c66ec88fSEmmanuel Vadot
212c66ec88fSEmmanuel Vadot	fixed-link {
213c66ec88fSEmmanuel Vadot		speed = <1000>;
214c66ec88fSEmmanuel Vadot		full-duplex;
215c66ec88fSEmmanuel Vadot	};
216c66ec88fSEmmanuel Vadot};
217