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	chosen {
19		stdout-path = "serial0:115200n8";
20	};
21
22	memory@0 {
23		device_type = "memory";
24		reg = <0x00000000 0x00000000 0x00000000 0x20000000>;
25	};
26
27	leds {
28		compatible = "gpio-leds";
29
30		led-power1 {
31			label = "udpu:green:power";
32			gpios = <&gpionb 11 GPIO_ACTIVE_LOW>;
33		};
34
35		led-power2 {
36			label = "udpu:red:power";
37			gpios = <&gpionb 12 GPIO_ACTIVE_LOW>;
38		};
39
40		led-network1 {
41			label = "udpu:green:network";
42			gpios = <&gpionb 13 GPIO_ACTIVE_LOW>;
43		};
44
45		led-network2 {
46			label = "udpu:red:network";
47			gpios = <&gpionb 14 GPIO_ACTIVE_LOW>;
48		};
49
50		led-alarm1 {
51			label = "udpu:green:alarm";
52			gpios = <&gpionb 15 GPIO_ACTIVE_LOW>;
53		};
54
55		led-alarm2 {
56			label = "udpu:red:alarm";
57			gpios = <&gpionb 16 GPIO_ACTIVE_LOW>;
58		};
59	};
60
61	sfp_eth1: sfp-eth1 {
62		compatible = "sff,sfp";
63		i2c-bus = <&i2c1>;
64		los-gpio = <&gpiosb 7 GPIO_ACTIVE_HIGH>;
65		mod-def0-gpio = <&gpiosb 8 GPIO_ACTIVE_LOW>;
66		tx-disable-gpio = <&gpiosb 9 GPIO_ACTIVE_HIGH>;
67		tx-fault-gpio = <&gpiosb 10 GPIO_ACTIVE_HIGH>;
68		maximum-power-milliwatt = <3000>;
69	};
70};
71
72&sdhci0 {
73	status = "okay";
74	bus-width = <8>;
75	mmc-ddr-1_8v;
76	mmc-hs400-1_8v;
77	marvell,pad-type = "fixed-1-8v";
78	non-removable;
79	no-sd;
80	no-sdio;
81};
82
83&spi0 {
84	status = "okay";
85	pinctrl-names = "default";
86	pinctrl-0 = <&spi_quad_pins>;
87
88	flash@0 {
89		compatible = "jedec,spi-nor";
90		reg = <0>;
91		spi-max-frequency = <54000000>;
92
93		partitions {
94			compatible = "fixed-partitions";
95			#address-cells = <1>;
96			#size-cells = <1>;
97
98			partition@0 {
99				label = "firmware";
100				reg = <0x0 0x180000>;
101			};
102
103			partition@180000 {
104				label = "u-boot-env";
105				reg = <0x180000 0x10000>;
106			};
107		};
108	};
109};
110
111&pinctrl_nb {
112	i2c2_recovery_pins: i2c2-recovery-pins {
113		groups = "i2c2";
114		function = "gpio";
115	};
116};
117
118&i2c1 {
119	status = "okay";
120	pinctrl-names = "default", "recovery";
121	pinctrl-0 = <&i2c2_pins>;
122	pinctrl-1 = <&i2c2_recovery_pins>;
123	/delete-property/mrvl,i2c-fast-mode;
124	scl-gpios = <&gpionb 2 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
125	sda-gpios = <&gpionb 3 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
126
127	temp-sensor@48 {
128		compatible = "ti,tmp75c";
129		reg = <0x48>;
130	};
131
132	temp-sensor@49 {
133		compatible = "ti,tmp75c";
134		reg = <0x49>;
135	};
136};
137
138&eth0 {
139	status = "okay";
140	managed = "in-band-status";
141	phys = <&comphy1 0>;
142};
143
144&eth1 {
145	phy-mode = "sgmii";
146	status = "okay";
147	managed = "in-band-status";
148	phys = <&comphy0 1>;
149	sfp = <&sfp_eth1>;
150};
151
152&usb3 {
153	status = "okay";
154	phys = <&usb2_utmi_otg_phy>;
155	phy-names = "usb2-utmi-otg-phy";
156};
157
158&uart0 {
159	status = "okay";
160};
161