17ef62cebSEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
27ef62cebSEmmanuel Vadot/*
37ef62cebSEmmanuel Vadot * Device tree for the uDPU board.
47ef62cebSEmmanuel Vadot * Based on Marvell Armada 3720 development board (DB-88F3720-DDR3)
57ef62cebSEmmanuel Vadot * Copyright (C) 2016 Marvell
67ef62cebSEmmanuel Vadot * Copyright (C) 2019 Methode Electronics
77ef62cebSEmmanuel Vadot * Copyright (C) 2019 Telus
87ef62cebSEmmanuel Vadot *
97ef62cebSEmmanuel Vadot * Vladimir Vid <vladimir.vid@sartura.hr>
107ef62cebSEmmanuel Vadot */
117ef62cebSEmmanuel Vadot
127ef62cebSEmmanuel Vadot/dts-v1/;
137ef62cebSEmmanuel Vadot
147ef62cebSEmmanuel Vadot#include <dt-bindings/gpio/gpio.h>
157ef62cebSEmmanuel Vadot#include "armada-372x.dtsi"
167ef62cebSEmmanuel Vadot
177ef62cebSEmmanuel Vadot/ {
187ef62cebSEmmanuel Vadot	chosen {
197ef62cebSEmmanuel Vadot		stdout-path = "serial0:115200n8";
207ef62cebSEmmanuel Vadot	};
217ef62cebSEmmanuel Vadot
227ef62cebSEmmanuel Vadot	memory@0 {
237ef62cebSEmmanuel Vadot		device_type = "memory";
247ef62cebSEmmanuel Vadot		reg = <0x00000000 0x00000000 0x00000000 0x20000000>;
257ef62cebSEmmanuel Vadot	};
267ef62cebSEmmanuel Vadot
277ef62cebSEmmanuel Vadot	leds {
287ef62cebSEmmanuel Vadot		compatible = "gpio-leds";
297ef62cebSEmmanuel Vadot
307ef62cebSEmmanuel Vadot		led-power1 {
317ef62cebSEmmanuel Vadot			label = "udpu:green:power";
327ef62cebSEmmanuel Vadot			gpios = <&gpionb 11 GPIO_ACTIVE_LOW>;
337ef62cebSEmmanuel Vadot		};
347ef62cebSEmmanuel Vadot
357ef62cebSEmmanuel Vadot		led-power2 {
367ef62cebSEmmanuel Vadot			label = "udpu:red:power";
377ef62cebSEmmanuel Vadot			gpios = <&gpionb 12 GPIO_ACTIVE_LOW>;
387ef62cebSEmmanuel Vadot		};
397ef62cebSEmmanuel Vadot
407ef62cebSEmmanuel Vadot		led-network1 {
417ef62cebSEmmanuel Vadot			label = "udpu:green:network";
427ef62cebSEmmanuel Vadot			gpios = <&gpionb 13 GPIO_ACTIVE_LOW>;
437ef62cebSEmmanuel Vadot		};
447ef62cebSEmmanuel Vadot
457ef62cebSEmmanuel Vadot		led-network2 {
467ef62cebSEmmanuel Vadot			label = "udpu:red:network";
477ef62cebSEmmanuel Vadot			gpios = <&gpionb 14 GPIO_ACTIVE_LOW>;
487ef62cebSEmmanuel Vadot		};
497ef62cebSEmmanuel Vadot
507ef62cebSEmmanuel Vadot		led-alarm1 {
517ef62cebSEmmanuel Vadot			label = "udpu:green:alarm";
527ef62cebSEmmanuel Vadot			gpios = <&gpionb 15 GPIO_ACTIVE_LOW>;
537ef62cebSEmmanuel Vadot		};
547ef62cebSEmmanuel Vadot
557ef62cebSEmmanuel Vadot		led-alarm2 {
567ef62cebSEmmanuel Vadot			label = "udpu:red:alarm";
577ef62cebSEmmanuel Vadot			gpios = <&gpionb 16 GPIO_ACTIVE_LOW>;
587ef62cebSEmmanuel Vadot		};
597ef62cebSEmmanuel Vadot	};
607ef62cebSEmmanuel Vadot
617ef62cebSEmmanuel Vadot	sfp_eth1: sfp-eth1 {
627ef62cebSEmmanuel Vadot		compatible = "sff,sfp";
637ef62cebSEmmanuel Vadot		i2c-bus = <&i2c1>;
64*84943d6fSEmmanuel Vadot		los-gpios = <&gpiosb 7 GPIO_ACTIVE_HIGH>;
65*84943d6fSEmmanuel Vadot		mod-def0-gpios = <&gpiosb 8 GPIO_ACTIVE_LOW>;
66*84943d6fSEmmanuel Vadot		tx-disable-gpios = <&gpiosb 9 GPIO_ACTIVE_HIGH>;
67*84943d6fSEmmanuel Vadot		tx-fault-gpios = <&gpiosb 10 GPIO_ACTIVE_HIGH>;
687ef62cebSEmmanuel Vadot		maximum-power-milliwatt = <3000>;
697ef62cebSEmmanuel Vadot	};
707ef62cebSEmmanuel Vadot};
717ef62cebSEmmanuel Vadot
727ef62cebSEmmanuel Vadot&sdhci0 {
737ef62cebSEmmanuel Vadot	status = "okay";
747ef62cebSEmmanuel Vadot	bus-width = <8>;
757ef62cebSEmmanuel Vadot	mmc-ddr-1_8v;
767ef62cebSEmmanuel Vadot	mmc-hs400-1_8v;
777ef62cebSEmmanuel Vadot	marvell,pad-type = "fixed-1-8v";
787ef62cebSEmmanuel Vadot	non-removable;
797ef62cebSEmmanuel Vadot	no-sd;
807ef62cebSEmmanuel Vadot	no-sdio;
817ef62cebSEmmanuel Vadot};
827ef62cebSEmmanuel Vadot
837ef62cebSEmmanuel Vadot&spi0 {
847ef62cebSEmmanuel Vadot	status = "okay";
857ef62cebSEmmanuel Vadot	pinctrl-names = "default";
867ef62cebSEmmanuel Vadot	pinctrl-0 = <&spi_quad_pins>;
877ef62cebSEmmanuel Vadot
887ef62cebSEmmanuel Vadot	flash@0 {
897ef62cebSEmmanuel Vadot		compatible = "jedec,spi-nor";
907ef62cebSEmmanuel Vadot		reg = <0>;
917ef62cebSEmmanuel Vadot		spi-max-frequency = <54000000>;
927ef62cebSEmmanuel Vadot
937ef62cebSEmmanuel Vadot		partitions {
947ef62cebSEmmanuel Vadot			compatible = "fixed-partitions";
957ef62cebSEmmanuel Vadot			#address-cells = <1>;
967ef62cebSEmmanuel Vadot			#size-cells = <1>;
977ef62cebSEmmanuel Vadot
987ef62cebSEmmanuel Vadot			partition@0 {
997ef62cebSEmmanuel Vadot				label = "firmware";
1007ef62cebSEmmanuel Vadot				reg = <0x0 0x180000>;
1017ef62cebSEmmanuel Vadot			};
1027ef62cebSEmmanuel Vadot
1037ef62cebSEmmanuel Vadot			partition@180000 {
1047ef62cebSEmmanuel Vadot				label = "u-boot-env";
1057ef62cebSEmmanuel Vadot				reg = <0x180000 0x10000>;
1067ef62cebSEmmanuel Vadot			};
1077ef62cebSEmmanuel Vadot		};
1087ef62cebSEmmanuel Vadot	};
1097ef62cebSEmmanuel Vadot};
1107ef62cebSEmmanuel Vadot
1117ef62cebSEmmanuel Vadot&pinctrl_nb {
1127ef62cebSEmmanuel Vadot	i2c2_recovery_pins: i2c2-recovery-pins {
1137ef62cebSEmmanuel Vadot		groups = "i2c2";
1147ef62cebSEmmanuel Vadot		function = "gpio";
1157ef62cebSEmmanuel Vadot	};
1167ef62cebSEmmanuel Vadot};
1177ef62cebSEmmanuel Vadot
1187ef62cebSEmmanuel Vadot&i2c1 {
1197ef62cebSEmmanuel Vadot	status = "okay";
1207ef62cebSEmmanuel Vadot	pinctrl-names = "default", "recovery";
1217ef62cebSEmmanuel Vadot	pinctrl-0 = <&i2c2_pins>;
1227ef62cebSEmmanuel Vadot	pinctrl-1 = <&i2c2_recovery_pins>;
1237ef62cebSEmmanuel Vadot	/delete-property/mrvl,i2c-fast-mode;
1247ef62cebSEmmanuel Vadot	scl-gpios = <&gpionb 2 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
1257ef62cebSEmmanuel Vadot	sda-gpios = <&gpionb 3 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
1267ef62cebSEmmanuel Vadot
1277ef62cebSEmmanuel Vadot	temp-sensor@48 {
1287ef62cebSEmmanuel Vadot		compatible = "ti,tmp75c";
1297ef62cebSEmmanuel Vadot		reg = <0x48>;
1307ef62cebSEmmanuel Vadot	};
1317ef62cebSEmmanuel Vadot
1327ef62cebSEmmanuel Vadot	temp-sensor@49 {
1337ef62cebSEmmanuel Vadot		compatible = "ti,tmp75c";
1347ef62cebSEmmanuel Vadot		reg = <0x49>;
1357ef62cebSEmmanuel Vadot	};
1367ef62cebSEmmanuel Vadot};
1377ef62cebSEmmanuel Vadot
1387ef62cebSEmmanuel Vadot&eth0 {
1397ef62cebSEmmanuel Vadot	status = "okay";
1407ef62cebSEmmanuel Vadot	managed = "in-band-status";
1417ef62cebSEmmanuel Vadot	phys = <&comphy1 0>;
1427ef62cebSEmmanuel Vadot};
1437ef62cebSEmmanuel Vadot
1447ef62cebSEmmanuel Vadot&eth1 {
1457ef62cebSEmmanuel Vadot	phy-mode = "sgmii";
1467ef62cebSEmmanuel Vadot	status = "okay";
1477ef62cebSEmmanuel Vadot	managed = "in-band-status";
1487ef62cebSEmmanuel Vadot	phys = <&comphy0 1>;
1497ef62cebSEmmanuel Vadot	sfp = <&sfp_eth1>;
1507ef62cebSEmmanuel Vadot};
1517ef62cebSEmmanuel Vadot
1527ef62cebSEmmanuel Vadot&usb3 {
1537ef62cebSEmmanuel Vadot	status = "okay";
1547ef62cebSEmmanuel Vadot	phys = <&usb2_utmi_otg_phy>;
1557ef62cebSEmmanuel Vadot	phy-names = "usb2-utmi-otg-phy";
1567ef62cebSEmmanuel Vadot};
1577ef62cebSEmmanuel Vadot
1587ef62cebSEmmanuel Vadot&uart0 {
1597ef62cebSEmmanuel Vadot	status = "okay";
1607ef62cebSEmmanuel Vadot};
161