xref: /linux/arch/arm64/boot/dts/marvell/armada-3720-espressobin.dtsi (revision a23e1966932464e1c5226cb9ac4ce1d5fc10ba22)
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;
166ca80638SFlorian Fainelli		/* for DSA user port 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	};
44c1e9911fSPali Rohár
45c1e9911fSPali Rohár	led2: gpio-led2 {
46c1e9911fSPali Rohár		/* led2 is working only on v7 board */
47c1e9911fSPali Rohár		status = "disabled";
48c1e9911fSPali Rohár
49c1e9911fSPali Rohár		compatible = "gpio-leds";
50c1e9911fSPali Rohár
51c1e9911fSPali Rohár		led2 {
52c1e9911fSPali Rohár			label = "led2";
53c1e9911fSPali Rohár			gpios = <&gpionb 2 GPIO_ACTIVE_LOW>;
54c1e9911fSPali Rohár			default-state = "off";
55c1e9911fSPali Rohár		};
56c1e9911fSPali 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 {
148fedb923aSLinus Walleij	switch0: ethernet-switch@1 {
149447b8789STomasz Maciej Nowak		compatible = "marvell,mv88e6085";
150447b8789STomasz Maciej Nowak		reg = <1>;
151447b8789STomasz Maciej Nowak
152447b8789STomasz Maciej Nowak		dsa,member = <0 0>;
153447b8789STomasz Maciej Nowak
154fedb923aSLinus Walleij		ethernet-ports {
155447b8789STomasz Maciej Nowak			#address-cells = <1>;
156447b8789STomasz Maciej Nowak			#size-cells = <0>;
157447b8789STomasz Maciej Nowak
158fedb923aSLinus Walleij			switch0port0: ethernet-port@0 {
159447b8789STomasz Maciej Nowak				reg = <0>;
160447b8789STomasz Maciej Nowak				label = "cpu";
161447b8789STomasz Maciej Nowak				ethernet = <&eth0>;
162447b8789STomasz Maciej Nowak				phy-mode = "rgmii-id";
163447b8789STomasz Maciej Nowak				fixed-link {
164447b8789STomasz Maciej Nowak					speed = <1000>;
165447b8789STomasz Maciej Nowak					full-duplex;
166447b8789STomasz Maciej Nowak				};
167447b8789STomasz Maciej Nowak			};
168447b8789STomasz Maciej Nowak
169fedb923aSLinus Walleij			switch0port1: ethernet-port@1 {
170447b8789STomasz Maciej Nowak				reg = <1>;
171447b8789STomasz Maciej Nowak				label = "wan";
172447b8789STomasz Maciej Nowak				phy-handle = <&switch0phy0>;
173447b8789STomasz Maciej Nowak			};
174447b8789STomasz Maciej Nowak
175fedb923aSLinus Walleij			switch0port2: ethernet-port@2 {
176447b8789STomasz Maciej Nowak				reg = <2>;
177447b8789STomasz Maciej Nowak				label = "lan0";
178447b8789STomasz Maciej Nowak				phy-handle = <&switch0phy1>;
179447b8789STomasz Maciej Nowak			};
180447b8789STomasz Maciej Nowak
181fedb923aSLinus Walleij			switch0port3: ethernet-port@3 {
182447b8789STomasz Maciej Nowak				reg = <3>;
183447b8789STomasz Maciej Nowak				label = "lan1";
184447b8789STomasz Maciej Nowak				phy-handle = <&switch0phy2>;
185447b8789STomasz Maciej Nowak			};
186447b8789STomasz Maciej Nowak
187447b8789STomasz Maciej Nowak		};
188447b8789STomasz Maciej Nowak
189447b8789STomasz Maciej Nowak		mdio {
190447b8789STomasz Maciej Nowak			#address-cells = <1>;
191447b8789STomasz Maciej Nowak			#size-cells = <0>;
192447b8789STomasz Maciej Nowak
193fedb923aSLinus Walleij			switch0phy0: ethernet-phy@11 {
194447b8789STomasz Maciej Nowak				reg = <0x11>;
195447b8789STomasz Maciej Nowak			};
196fedb923aSLinus Walleij			switch0phy1: ethernet-phy@12 {
197447b8789STomasz Maciej Nowak				reg = <0x12>;
198447b8789STomasz Maciej Nowak			};
199fedb923aSLinus Walleij			switch0phy2: ethernet-phy@13 {
200447b8789STomasz Maciej Nowak				reg = <0x13>;
201447b8789STomasz Maciej Nowak			};
202447b8789STomasz Maciej Nowak		};
203447b8789STomasz Maciej Nowak	};
204447b8789STomasz Maciej Nowak};
205447b8789STomasz Maciej Nowak
206447b8789STomasz Maciej Nowak&eth0 {
207447b8789STomasz Maciej Nowak	pinctrl-names = "default";
208447b8789STomasz Maciej Nowak	pinctrl-0 = <&rgmii_pins>, <&smi_pins>;
209447b8789STomasz Maciej Nowak	phy-mode = "rgmii-id";
210447b8789STomasz Maciej Nowak	status = "okay";
211447b8789STomasz Maciej Nowak
212447b8789STomasz Maciej Nowak	fixed-link {
213447b8789STomasz Maciej Nowak		speed = <1000>;
214447b8789STomasz Maciej Nowak		full-duplex;
215447b8789STomasz Maciej Nowak	};
216447b8789STomasz Maciej Nowak};
217