1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * Device tree for the uDPU board.
4 * Based on Marvell Armada 3720 development board (DB-88F3720-DDR3)
5 * Copyright (C) 2016 Marvell
6 * Copyright (C) 2019 Methode Electronics
7 * Copyright (C) 2019 Telus
8 *
9 * Vladimir Vid <vladimir.vid@sartura.hr>
10 */
11
12/dts-v1/;
13
14#include <dt-bindings/gpio/gpio.h>
15#include "armada-372x.dtsi"
16
17/ {
18	model = "Methode uDPU Board";
19	compatible = "methode,udpu", "marvell,armada3720";
20
21	chosen {
22		stdout-path = "serial0:115200n8";
23	};
24
25	memory@0 {
26		device_type = "memory";
27		reg = <0x00000000 0x00000000 0x00000000 0x20000000>;
28	};
29
30	leds {
31		pinctrl-names = "default";
32		compatible = "gpio-leds";
33
34		power1 {
35			label = "udpu:green:power";
36			gpios = <&gpionb 11 GPIO_ACTIVE_LOW>;
37		};
38
39		power2 {
40			label = "udpu:red:power";
41			gpios = <&gpionb 12 GPIO_ACTIVE_LOW>;
42		};
43
44		network1 {
45			label = "udpu:green:network";
46			gpios = <&gpionb 13 GPIO_ACTIVE_LOW>;
47		};
48
49		network2 {
50			label = "udpu:red:network";
51			gpios = <&gpionb 14 GPIO_ACTIVE_LOW>;
52		};
53
54		alarm1 {
55			label = "udpu:green:alarm";
56			gpios = <&gpionb 15 GPIO_ACTIVE_LOW>;
57		};
58
59		alarm2 {
60			label = "udpu:red:alarm";
61			gpios = <&gpionb 16 GPIO_ACTIVE_LOW>;
62		};
63	};
64
65	sfp_eth0: sfp-eth0 {
66		compatible = "sff,sfp";
67		i2c-bus = <&i2c0>;
68		los-gpio = <&gpiosb 2 GPIO_ACTIVE_HIGH>;
69		mod-def0-gpio = <&gpiosb 3 GPIO_ACTIVE_LOW>;
70		tx-disable-gpio = <&gpiosb 4 GPIO_ACTIVE_HIGH>;
71		tx-fault-gpio = <&gpiosb 5 GPIO_ACTIVE_HIGH>;
72	};
73
74	sfp_eth1: sfp-eth1 {
75		compatible = "sff,sfp";
76		i2c-bus = <&i2c1>;
77		los-gpio = <&gpiosb 7 GPIO_ACTIVE_HIGH>;
78		mod-def0-gpio = <&gpiosb 8 GPIO_ACTIVE_LOW>;
79		tx-disable-gpio = <&gpiosb 9 GPIO_ACTIVE_HIGH>;
80		tx-fault-gpio = <&gpiosb 10 GPIO_ACTIVE_HIGH>;
81	};
82};
83
84&sdhci0 {
85	status = "okay";
86	bus-width = <8>;
87	mmc-ddr-1_8v;
88	mmc-hs400-1_8v;
89	marvell,pad-type = "fixed-1-8v";
90	non-removable;
91	no-sd;
92	no-sdio;
93};
94
95&spi0 {
96	status = "okay";
97	pinctrl-names = "default";
98	pinctrl-0 = <&spi_quad_pins>;
99
100	m25p80@0 {
101		compatible = "jedec,spi-nor";
102		reg = <0>;
103		spi-max-frequency = <54000000>;
104
105		partitions {
106			compatible = "fixed-partitions";
107			#address-cells = <1>;
108			#size-cells = <1>;
109			/* only bootloader is located on the SPI */
110			partition@0 {
111				label = "uboot";
112				reg = <0 0x400000>;
113			};
114		};
115	};
116};
117
118&i2c0 {
119	status = "okay";
120	pinctrl-names = "default";
121	pinctrl-0 = <&i2c1_pins>;
122	/delete-property/mrvl,i2c-fast-mode;
123};
124
125&i2c1 {
126	status = "okay";
127	pinctrl-names = "default";
128	pinctrl-0 = <&i2c2_pins>;
129	/delete-property/mrvl,i2c-fast-mode;
130
131	lm75@48 {
132		status = "okay";
133		compatible = "lm75";
134		reg = <0x48>;
135	};
136
137	lm75@49 {
138		status = "okay";
139		compatible = "lm75";
140		reg = <0x49>;
141	};
142};
143
144&eth0 {
145	phy-mode = "sgmii";
146	status = "okay";
147	managed = "in-band-status";
148	phys = <&comphy1 0>;
149	sfp = <&sfp_eth0>;
150};
151
152&eth1 {
153	phy-mode = "sgmii";
154	status = "okay";
155	managed = "in-band-status";
156	phys = <&comphy0 1>;
157	sfp = <&sfp_eth1>;
158};
159
160&usb3 {
161	status = "okay";
162	phys = <&usb2_utmi_otg_phy>;
163	phy-names = "usb2-utmi-otg-phy";
164};
165
166&uart0 {
167	status = "okay";
168};
169