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