1447b8789STomasz Maciej Nowak// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2447b8789STomasz Maciej Nowak/*
3447b8789STomasz Maciej Nowak * Device Tree file for Globalscale Marvell ESPRESSOBin Board
4447b8789STomasz Maciej Nowak * Copyright (C) 2016 Marvell
5447b8789STomasz Maciej Nowak *
6447b8789STomasz Maciej Nowak * Romain Perier <romain.perier@free-electrons.com>
7447b8789STomasz Maciej Nowak *
8447b8789STomasz Maciej Nowak */
9447b8789STomasz Maciej Nowak
10447b8789STomasz Maciej Nowak#include <dt-bindings/gpio/gpio.h>
11447b8789STomasz Maciej Nowak#include "armada-372x.dtsi"
12447b8789STomasz Maciej Nowak
13447b8789STomasz Maciej Nowak/ {
145253cb8cSTomasz Maciej Nowak	aliases {
155253cb8cSTomasz Maciej Nowak		ethernet0 = &eth0;
16b64d8142SPali Rohár		/* for dsa slave device */
17b64d8142SPali Rohár		ethernet1 = &switch0port1;
18b64d8142SPali Rohár		ethernet2 = &switch0port2;
19b64d8142SPali Rohár		ethernet3 = &switch0port3;
205253cb8cSTomasz Maciej Nowak	};
215253cb8cSTomasz Maciej Nowak
22447b8789STomasz Maciej Nowak	chosen {
23447b8789STomasz Maciej Nowak		stdout-path = "serial0:115200n8";
24447b8789STomasz Maciej Nowak	};
25447b8789STomasz Maciej Nowak
26447b8789STomasz Maciej Nowak	memory@0 {
27447b8789STomasz Maciej Nowak		device_type = "memory";
28447b8789STomasz Maciej Nowak		reg = <0x00000000 0x00000000 0x00000000 0x20000000>;
29447b8789STomasz Maciej Nowak	};
30447b8789STomasz Maciej Nowak
31447b8789STomasz Maciej Nowak	vcc_sd_reg1: regulator {
32447b8789STomasz Maciej Nowak		compatible = "regulator-gpio";
33447b8789STomasz Maciej Nowak		regulator-name = "vcc_sd1";
34447b8789STomasz Maciej Nowak		regulator-min-microvolt = <1800000>;
35447b8789STomasz Maciej Nowak		regulator-max-microvolt = <3300000>;
36447b8789STomasz Maciej Nowak		regulator-boot-on;
37447b8789STomasz Maciej Nowak
38447b8789STomasz Maciej Nowak		gpios = <&gpionb 4 GPIO_ACTIVE_HIGH>;
39447b8789STomasz Maciej Nowak		gpios-states = <0>;
40447b8789STomasz Maciej Nowak		states = <1800000 0x1
41447b8789STomasz Maciej Nowak			  3300000 0x0>;
42447b8789STomasz Maciej Nowak		enable-active-high;
43447b8789STomasz Maciej Nowak	};
44447b8789STomasz Maciej Nowak};
45447b8789STomasz Maciej Nowak
46447b8789STomasz Maciej Nowak/* J9 */
47447b8789STomasz Maciej Nowak&pcie0 {
48447b8789STomasz Maciej Nowak	status = "okay";
49447b8789STomasz Maciej Nowak	pinctrl-names = "default";
50447b8789STomasz Maciej Nowak	pinctrl-0 = <&pcie_reset_pins &pcie_clkreq_pins>;
5171587801SMarek Behún	reset-gpios = <&gpiosb 3 GPIO_ACTIVE_LOW>;
52447b8789STomasz Maciej Nowak};
53447b8789STomasz Maciej Nowak
54447b8789STomasz Maciej Nowak/* J6 */
55447b8789STomasz Maciej Nowak&sata {
56447b8789STomasz Maciej Nowak	status = "okay";
57447b8789STomasz Maciej Nowak	phys = <&comphy2 0>;
58447b8789STomasz Maciej Nowak	phy-names = "sata-phy";
59447b8789STomasz Maciej Nowak};
60447b8789STomasz Maciej Nowak
61*f9559f02SPali Rohár/* U11 */
62*f9559f02SPali Rohár&sdhci0 {
63*f9559f02SPali Rohár	/* Main DTS file for Espressobin is without eMMC */
64*f9559f02SPali Rohár	status = "disabled";
65*f9559f02SPali Rohár
66*f9559f02SPali Rohár	non-removable;
67*f9559f02SPali Rohár	bus-width = <8>;
68*f9559f02SPali Rohár	mmc-ddr-1_8v;
69*f9559f02SPali Rohár	mmc-hs400-1_8v;
70*f9559f02SPali Rohár	marvell,xenon-emmc;
71*f9559f02SPali Rohár	marvell,xenon-tun-count = <9>;
72*f9559f02SPali Rohár	marvell,pad-type = "fixed-1-8v";
73*f9559f02SPali Rohár
74*f9559f02SPali Rohár	pinctrl-names = "default";
75*f9559f02SPali Rohár	pinctrl-0 = <&mmc_pins>;
76*f9559f02SPali Rohár
77*f9559f02SPali Rohár	#address-cells = <1>;
78*f9559f02SPali Rohár	#size-cells = <0>;
79*f9559f02SPali Rohár	mmccard: mmccard@0 {
80*f9559f02SPali Rohár		compatible = "mmc-card";
81*f9559f02SPali Rohár		reg = <0>;
82*f9559f02SPali Rohár	};
83*f9559f02SPali Rohár};
84*f9559f02SPali Rohár
85447b8789STomasz Maciej Nowak/* J1 */
86447b8789STomasz Maciej Nowak&sdhci1 {
87447b8789STomasz Maciej Nowak	wp-inverted;
88447b8789STomasz Maciej Nowak	bus-width = <4>;
89447b8789STomasz Maciej Nowak	cd-gpios = <&gpionb 3 GPIO_ACTIVE_LOW>;
90447b8789STomasz Maciej Nowak	marvell,pad-type = "sd";
91447b8789STomasz Maciej Nowak	vqmmc-supply = <&vcc_sd_reg1>;
92447b8789STomasz Maciej Nowak
93447b8789STomasz Maciej Nowak	pinctrl-names = "default";
94447b8789STomasz Maciej Nowak	pinctrl-0 = <&sdio_pins>;
95447b8789STomasz Maciej Nowak	status = "okay";
96447b8789STomasz Maciej Nowak};
97447b8789STomasz Maciej Nowak
98447b8789STomasz Maciej Nowak&spi0 {
99447b8789STomasz Maciej Nowak	status = "okay";
100447b8789STomasz Maciej Nowak
101447b8789STomasz Maciej Nowak	flash@0 {
102447b8789STomasz Maciej Nowak		reg = <0>;
103447b8789STomasz Maciej Nowak		compatible = "jedec,spi-nor";
104447b8789STomasz Maciej Nowak		spi-max-frequency = <104000000>;
105447b8789STomasz Maciej Nowak		m25p,fast-read;
106447b8789STomasz Maciej Nowak	};
107447b8789STomasz Maciej Nowak};
108447b8789STomasz Maciej Nowak
109447b8789STomasz Maciej Nowak/* Exported on the micro USB connector J5 through an FTDI */
110447b8789STomasz Maciej Nowak&uart0 {
111447b8789STomasz Maciej Nowak	pinctrl-names = "default";
112447b8789STomasz Maciej Nowak	pinctrl-0 = <&uart1_pins>;
113447b8789STomasz Maciej Nowak	status = "okay";
114447b8789STomasz Maciej Nowak};
115447b8789STomasz Maciej Nowak
116447b8789STomasz Maciej Nowak/*
117447b8789STomasz Maciej Nowak * Connector J17 and J18 expose a number of different features. Some pins are
118447b8789STomasz Maciej Nowak * multiplexed. This is the case for instance for the following features:
119447b8789STomasz Maciej Nowak * - UART1 (pin 24 = RX, pin 26 = TX). See armada-3720-db.dts for an example of
120447b8789STomasz Maciej Nowak *   how to enable it. Beware that the signals are 1.8V TTL.
121447b8789STomasz Maciej Nowak * - I2C
122447b8789STomasz Maciej Nowak * - SPI
123447b8789STomasz Maciej Nowak * - MMC
124447b8789STomasz Maciej Nowak */
125447b8789STomasz Maciej Nowak
126447b8789STomasz Maciej Nowak/* J7 */
127447b8789STomasz Maciej Nowak&usb3 {
128447b8789STomasz Maciej Nowak	status = "okay";
129447b8789STomasz Maciej Nowak};
130447b8789STomasz Maciej Nowak
131447b8789STomasz Maciej Nowak/* J8 */
132447b8789STomasz Maciej Nowak&usb2 {
133447b8789STomasz Maciej Nowak	status = "okay";
134447b8789STomasz Maciej Nowak};
135447b8789STomasz Maciej Nowak
136447b8789STomasz Maciej Nowak&mdio {
137447b8789STomasz Maciej Nowak	switch0: switch0@1 {
138447b8789STomasz Maciej Nowak		compatible = "marvell,mv88e6085";
139447b8789STomasz Maciej Nowak		#address-cells = <1>;
140447b8789STomasz Maciej Nowak		#size-cells = <0>;
141447b8789STomasz Maciej Nowak		reg = <1>;
142447b8789STomasz Maciej Nowak
143447b8789STomasz Maciej Nowak		dsa,member = <0 0>;
144447b8789STomasz Maciej Nowak
145447b8789STomasz Maciej Nowak		ports {
146447b8789STomasz Maciej Nowak			#address-cells = <1>;
147447b8789STomasz Maciej Nowak			#size-cells = <0>;
148447b8789STomasz Maciej Nowak
149b64d8142SPali Rohár			switch0port0: port@0 {
150447b8789STomasz Maciej Nowak				reg = <0>;
151447b8789STomasz Maciej Nowak				label = "cpu";
152447b8789STomasz Maciej Nowak				ethernet = <&eth0>;
153447b8789STomasz Maciej Nowak				phy-mode = "rgmii-id";
154447b8789STomasz Maciej Nowak				fixed-link {
155447b8789STomasz Maciej Nowak					speed = <1000>;
156447b8789STomasz Maciej Nowak					full-duplex;
157447b8789STomasz Maciej Nowak				};
158447b8789STomasz Maciej Nowak			};
159447b8789STomasz Maciej Nowak
160b64d8142SPali Rohár			switch0port1: port@1 {
161447b8789STomasz Maciej Nowak				reg = <1>;
162447b8789STomasz Maciej Nowak				label = "wan";
163447b8789STomasz Maciej Nowak				phy-handle = <&switch0phy0>;
164447b8789STomasz Maciej Nowak			};
165447b8789STomasz Maciej Nowak
166b64d8142SPali Rohár			switch0port2: port@2 {
167447b8789STomasz Maciej Nowak				reg = <2>;
168447b8789STomasz Maciej Nowak				label = "lan0";
169447b8789STomasz Maciej Nowak				phy-handle = <&switch0phy1>;
170447b8789STomasz Maciej Nowak			};
171447b8789STomasz Maciej Nowak
172b64d8142SPali Rohár			switch0port3: port@3 {
173447b8789STomasz Maciej Nowak				reg = <3>;
174447b8789STomasz Maciej Nowak				label = "lan1";
175447b8789STomasz Maciej Nowak				phy-handle = <&switch0phy2>;
176447b8789STomasz Maciej Nowak			};
177447b8789STomasz Maciej Nowak
178447b8789STomasz Maciej Nowak		};
179447b8789STomasz Maciej Nowak
180447b8789STomasz Maciej Nowak		mdio {
181447b8789STomasz Maciej Nowak			#address-cells = <1>;
182447b8789STomasz Maciej Nowak			#size-cells = <0>;
183447b8789STomasz Maciej Nowak
184447b8789STomasz Maciej Nowak			switch0phy0: switch0phy0@11 {
185447b8789STomasz Maciej Nowak				reg = <0x11>;
186447b8789STomasz Maciej Nowak			};
187447b8789STomasz Maciej Nowak			switch0phy1: switch0phy1@12 {
188447b8789STomasz Maciej Nowak				reg = <0x12>;
189447b8789STomasz Maciej Nowak			};
190447b8789STomasz Maciej Nowak			switch0phy2: switch0phy2@13 {
191447b8789STomasz Maciej Nowak				reg = <0x13>;
192447b8789STomasz Maciej Nowak			};
193447b8789STomasz Maciej Nowak		};
194447b8789STomasz Maciej Nowak	};
195447b8789STomasz Maciej Nowak};
196447b8789STomasz Maciej Nowak
197447b8789STomasz Maciej Nowak&eth0 {
198447b8789STomasz Maciej Nowak	pinctrl-names = "default";
199447b8789STomasz Maciej Nowak	pinctrl-0 = <&rgmii_pins>, <&smi_pins>;
200447b8789STomasz Maciej Nowak	phy-mode = "rgmii-id";
201447b8789STomasz Maciej Nowak	status = "okay";
202447b8789STomasz Maciej Nowak
203447b8789STomasz Maciej Nowak	fixed-link {
204447b8789STomasz Maciej Nowak		speed = <1000>;
205447b8789STomasz Maciej Nowak		full-duplex;
206447b8789STomasz Maciej Nowak	};
207447b8789STomasz Maciej Nowak};
208