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	};
44*c1e9911fSPali Rohár
45*c1e9911fSPali Rohár	led2: gpio-led2 {
46*c1e9911fSPali Rohár		/* led2 is working only on v7 board */
47*c1e9911fSPali Rohár		status = "disabled";
48*c1e9911fSPali Rohár
49*c1e9911fSPali Rohár		compatible = "gpio-leds";
50*c1e9911fSPali Rohár
51*c1e9911fSPali Rohár		led2 {
52*c1e9911fSPali Rohár			label = "led2";
53*c1e9911fSPali Rohár			gpios = <&gpionb 2 GPIO_ACTIVE_LOW>;
54*c1e9911fSPali Rohár			default-state = "off";
55*c1e9911fSPali Rohár		};
56*c1e9911fSPali Rohár	};
57447b8789STomasz Maciej Nowak};
58447b8789STomasz Maciej Nowak
59447b8789STomasz Maciej Nowak/* J9 */
60447b8789STomasz Maciej Nowak&pcie0 {
61447b8789STomasz Maciej Nowak	status = "okay";
62447b8789STomasz Maciej Nowak	pinctrl-names = "default";
63447b8789STomasz Maciej Nowak	pinctrl-0 = <&pcie_reset_pins &pcie_clkreq_pins>;
6471587801SMarek Behún	reset-gpios = <&gpiosb 3 GPIO_ACTIVE_LOW>;
65447b8789STomasz Maciej Nowak};
66447b8789STomasz Maciej Nowak
67447b8789STomasz Maciej Nowak/* J6 */
68447b8789STomasz Maciej Nowak&sata {
69447b8789STomasz Maciej Nowak	status = "okay";
70447b8789STomasz Maciej Nowak	phys = <&comphy2 0>;
71447b8789STomasz Maciej Nowak	phy-names = "sata-phy";
72447b8789STomasz Maciej Nowak};
73447b8789STomasz Maciej Nowak
74f9559f02SPali Rohár/* U11 */
75f9559f02SPali Rohár&sdhci0 {
76f9559f02SPali Rohár	/* Main DTS file for Espressobin is without eMMC */
77f9559f02SPali Rohár	status = "disabled";
78f9559f02SPali Rohár
79f9559f02SPali Rohár	non-removable;
80f9559f02SPali Rohár	bus-width = <8>;
81f9559f02SPali Rohár	mmc-ddr-1_8v;
82f9559f02SPali Rohár	mmc-hs400-1_8v;
83f9559f02SPali Rohár	marvell,xenon-emmc;
84f9559f02SPali Rohár	marvell,xenon-tun-count = <9>;
85f9559f02SPali Rohár	marvell,pad-type = "fixed-1-8v";
86f9559f02SPali Rohár
87f9559f02SPali Rohár	pinctrl-names = "default";
88f9559f02SPali Rohár	pinctrl-0 = <&mmc_pins>;
89f9559f02SPali Rohár
90f9559f02SPali Rohár	#address-cells = <1>;
91f9559f02SPali Rohár	#size-cells = <0>;
92f9559f02SPali Rohár	mmccard: mmccard@0 {
93f9559f02SPali Rohár		compatible = "mmc-card";
94f9559f02SPali Rohár		reg = <0>;
95f9559f02SPali Rohár	};
96f9559f02SPali Rohár};
97f9559f02SPali Rohár
98447b8789STomasz Maciej Nowak/* J1 */
99447b8789STomasz Maciej Nowak&sdhci1 {
100447b8789STomasz Maciej Nowak	wp-inverted;
101447b8789STomasz Maciej Nowak	bus-width = <4>;
102447b8789STomasz Maciej Nowak	cd-gpios = <&gpionb 3 GPIO_ACTIVE_LOW>;
103447b8789STomasz Maciej Nowak	marvell,pad-type = "sd";
104447b8789STomasz Maciej Nowak	vqmmc-supply = <&vcc_sd_reg1>;
105447b8789STomasz Maciej Nowak
106447b8789STomasz Maciej Nowak	pinctrl-names = "default";
107447b8789STomasz Maciej Nowak	pinctrl-0 = <&sdio_pins>;
108447b8789STomasz Maciej Nowak	status = "okay";
109447b8789STomasz Maciej Nowak};
110447b8789STomasz Maciej Nowak
111447b8789STomasz Maciej Nowak&spi0 {
112447b8789STomasz Maciej Nowak	status = "okay";
113447b8789STomasz Maciej Nowak
114447b8789STomasz Maciej Nowak	flash@0 {
115447b8789STomasz Maciej Nowak		reg = <0>;
116447b8789STomasz Maciej Nowak		compatible = "jedec,spi-nor";
117447b8789STomasz Maciej Nowak		spi-max-frequency = <104000000>;
118447b8789STomasz Maciej Nowak		m25p,fast-read;
119447b8789STomasz Maciej Nowak	};
120447b8789STomasz Maciej Nowak};
121447b8789STomasz Maciej Nowak
122447b8789STomasz Maciej Nowak/* Exported on the micro USB connector J5 through an FTDI */
123447b8789STomasz Maciej Nowak&uart0 {
124447b8789STomasz Maciej Nowak	pinctrl-names = "default";
125447b8789STomasz Maciej Nowak	pinctrl-0 = <&uart1_pins>;
126447b8789STomasz Maciej Nowak	status = "okay";
127447b8789STomasz Maciej Nowak};
128447b8789STomasz Maciej Nowak
129447b8789STomasz Maciej Nowak/*
130447b8789STomasz Maciej Nowak * Connector J17 and J18 expose a number of different features. Some pins are
131447b8789STomasz Maciej Nowak * multiplexed. This is the case for instance for the following features:
132447b8789STomasz Maciej Nowak * - UART1 (pin 24 = RX, pin 26 = TX). See armada-3720-db.dts for an example of
133447b8789STomasz Maciej Nowak *   how to enable it. Beware that the signals are 1.8V TTL.
134447b8789STomasz Maciej Nowak * - I2C
135447b8789STomasz Maciej Nowak * - SPI
136447b8789STomasz Maciej Nowak * - MMC
137447b8789STomasz Maciej Nowak */
138447b8789STomasz Maciej Nowak
139447b8789STomasz Maciej Nowak/* J7 */
140447b8789STomasz Maciej Nowak&usb3 {
141447b8789STomasz Maciej Nowak	status = "okay";
142447b8789STomasz Maciej Nowak};
143447b8789STomasz Maciej Nowak
144447b8789STomasz Maciej Nowak/* J8 */
145447b8789STomasz Maciej Nowak&usb2 {
146447b8789STomasz Maciej Nowak	status = "okay";
147447b8789STomasz Maciej Nowak};
148447b8789STomasz Maciej Nowak
149447b8789STomasz Maciej Nowak&mdio {
150447b8789STomasz Maciej Nowak	switch0: switch0@1 {
151447b8789STomasz Maciej Nowak		compatible = "marvell,mv88e6085";
152447b8789STomasz Maciej Nowak		#address-cells = <1>;
153447b8789STomasz Maciej Nowak		#size-cells = <0>;
154447b8789STomasz Maciej Nowak		reg = <1>;
155447b8789STomasz Maciej Nowak
156447b8789STomasz Maciej Nowak		dsa,member = <0 0>;
157447b8789STomasz Maciej Nowak
158447b8789STomasz Maciej Nowak		ports {
159447b8789STomasz Maciej Nowak			#address-cells = <1>;
160447b8789STomasz Maciej Nowak			#size-cells = <0>;
161447b8789STomasz Maciej Nowak
162b64d8142SPali Rohár			switch0port0: port@0 {
163447b8789STomasz Maciej Nowak				reg = <0>;
164447b8789STomasz Maciej Nowak				label = "cpu";
165447b8789STomasz Maciej Nowak				ethernet = <&eth0>;
166447b8789STomasz Maciej Nowak				phy-mode = "rgmii-id";
167447b8789STomasz Maciej Nowak				fixed-link {
168447b8789STomasz Maciej Nowak					speed = <1000>;
169447b8789STomasz Maciej Nowak					full-duplex;
170447b8789STomasz Maciej Nowak				};
171447b8789STomasz Maciej Nowak			};
172447b8789STomasz Maciej Nowak
173b64d8142SPali Rohár			switch0port1: port@1 {
174447b8789STomasz Maciej Nowak				reg = <1>;
175447b8789STomasz Maciej Nowak				label = "wan";
176447b8789STomasz Maciej Nowak				phy-handle = <&switch0phy0>;
177447b8789STomasz Maciej Nowak			};
178447b8789STomasz Maciej Nowak
179b64d8142SPali Rohár			switch0port2: port@2 {
180447b8789STomasz Maciej Nowak				reg = <2>;
181447b8789STomasz Maciej Nowak				label = "lan0";
182447b8789STomasz Maciej Nowak				phy-handle = <&switch0phy1>;
183447b8789STomasz Maciej Nowak			};
184447b8789STomasz Maciej Nowak
185b64d8142SPali Rohár			switch0port3: port@3 {
186447b8789STomasz Maciej Nowak				reg = <3>;
187447b8789STomasz Maciej Nowak				label = "lan1";
188447b8789STomasz Maciej Nowak				phy-handle = <&switch0phy2>;
189447b8789STomasz Maciej Nowak			};
190447b8789STomasz Maciej Nowak
191447b8789STomasz Maciej Nowak		};
192447b8789STomasz Maciej Nowak
193447b8789STomasz Maciej Nowak		mdio {
194447b8789STomasz Maciej Nowak			#address-cells = <1>;
195447b8789STomasz Maciej Nowak			#size-cells = <0>;
196447b8789STomasz Maciej Nowak
197447b8789STomasz Maciej Nowak			switch0phy0: switch0phy0@11 {
198447b8789STomasz Maciej Nowak				reg = <0x11>;
199447b8789STomasz Maciej Nowak			};
200447b8789STomasz Maciej Nowak			switch0phy1: switch0phy1@12 {
201447b8789STomasz Maciej Nowak				reg = <0x12>;
202447b8789STomasz Maciej Nowak			};
203447b8789STomasz Maciej Nowak			switch0phy2: switch0phy2@13 {
204447b8789STomasz Maciej Nowak				reg = <0x13>;
205447b8789STomasz Maciej Nowak			};
206447b8789STomasz Maciej Nowak		};
207447b8789STomasz Maciej Nowak	};
208447b8789STomasz Maciej Nowak};
209447b8789STomasz Maciej Nowak
210447b8789STomasz Maciej Nowak&eth0 {
211447b8789STomasz Maciej Nowak	pinctrl-names = "default";
212447b8789STomasz Maciej Nowak	pinctrl-0 = <&rgmii_pins>, <&smi_pins>;
213447b8789STomasz Maciej Nowak	phy-mode = "rgmii-id";
214447b8789STomasz Maciej Nowak	status = "okay";
215447b8789STomasz Maciej Nowak
216447b8789STomasz Maciej Nowak	fixed-link {
217447b8789STomasz Maciej Nowak		speed = <1000>;
218447b8789STomasz Maciej Nowak		full-duplex;
219447b8789STomasz Maciej Nowak	};
220447b8789STomasz Maciej Nowak};
221