0001 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
0002 /*
0003 * Device tree for the uDPU board.
0004 * Based on Marvell Armada 3720 development board (DB-88F3720-DDR3)
0005 * Copyright (C) 2016 Marvell
0006 * Copyright (C) 2019 Methode Electronics
0007 * Copyright (C) 2019 Telus
0008 *
0009 * Vladimir Vid <vladimir.vid@sartura.hr>
0010 */
0011
0012 /dts-v1/;
0013
0014 #include <dt-bindings/gpio/gpio.h>
0015 #include "armada-372x.dtsi"
0016
0017 / {
0018 model = "Methode uDPU Board";
0019 compatible = "methode,udpu", "marvell,armada3720";
0020
0021 chosen {
0022 stdout-path = "serial0:115200n8";
0023 };
0024
0025 memory@0 {
0026 device_type = "memory";
0027 reg = <0x00000000 0x00000000 0x00000000 0x20000000>;
0028 };
0029
0030 leds {
0031 pinctrl-names = "default";
0032 compatible = "gpio-leds";
0033
0034 power1 {
0035 label = "udpu:green:power";
0036 gpios = <&gpionb 11 GPIO_ACTIVE_LOW>;
0037 };
0038
0039 power2 {
0040 label = "udpu:red:power";
0041 gpios = <&gpionb 12 GPIO_ACTIVE_LOW>;
0042 };
0043
0044 network1 {
0045 label = "udpu:green:network";
0046 gpios = <&gpionb 13 GPIO_ACTIVE_LOW>;
0047 };
0048
0049 network2 {
0050 label = "udpu:red:network";
0051 gpios = <&gpionb 14 GPIO_ACTIVE_LOW>;
0052 };
0053
0054 alarm1 {
0055 label = "udpu:green:alarm";
0056 gpios = <&gpionb 15 GPIO_ACTIVE_LOW>;
0057 };
0058
0059 alarm2 {
0060 label = "udpu:red:alarm";
0061 gpios = <&gpionb 16 GPIO_ACTIVE_LOW>;
0062 };
0063 };
0064
0065 sfp_eth0: sfp-eth0 {
0066 compatible = "sff,sfp";
0067 i2c-bus = <&i2c0>;
0068 los-gpios = <&gpiosb 2 GPIO_ACTIVE_HIGH>;
0069 mod-def0-gpios = <&gpiosb 3 GPIO_ACTIVE_LOW>;
0070 tx-disable-gpios = <&gpiosb 4 GPIO_ACTIVE_HIGH>;
0071 tx-fault-gpios = <&gpiosb 5 GPIO_ACTIVE_HIGH>;
0072 maximum-power-milliwatt = <3000>;
0073 };
0074
0075 sfp_eth1: sfp-eth1 {
0076 compatible = "sff,sfp";
0077 i2c-bus = <&i2c1>;
0078 los-gpios = <&gpiosb 7 GPIO_ACTIVE_HIGH>;
0079 mod-def0-gpios = <&gpiosb 8 GPIO_ACTIVE_LOW>;
0080 tx-disable-gpios = <&gpiosb 9 GPIO_ACTIVE_HIGH>;
0081 tx-fault-gpios = <&gpiosb 10 GPIO_ACTIVE_HIGH>;
0082 maximum-power-milliwatt = <3000>;
0083 };
0084 };
0085
0086 &sdhci0 {
0087 status = "okay";
0088 bus-width = <8>;
0089 mmc-ddr-1_8v;
0090 mmc-hs400-1_8v;
0091 marvell,pad-type = "fixed-1-8v";
0092 non-removable;
0093 no-sd;
0094 no-sdio;
0095 };
0096
0097 &spi0 {
0098 status = "okay";
0099 pinctrl-names = "default";
0100 pinctrl-0 = <&spi_quad_pins>;
0101
0102 flash@0 {
0103 compatible = "jedec,spi-nor";
0104 reg = <0>;
0105 spi-max-frequency = <54000000>;
0106
0107 partitions {
0108 compatible = "fixed-partitions";
0109 #address-cells = <1>;
0110 #size-cells = <1>;
0111
0112 partition@0 {
0113 label = "firmware";
0114 reg = <0x0 0x180000>;
0115 };
0116
0117 partition@180000 {
0118 label = "u-boot-env";
0119 reg = <0x180000 0x10000>;
0120 };
0121 };
0122 };
0123 };
0124
0125 &pinctrl_nb {
0126 i2c1_recovery_pins: i2c1-recovery-pins {
0127 groups = "i2c1";
0128 function = "gpio";
0129 };
0130
0131 i2c2_recovery_pins: i2c2-recovery-pins {
0132 groups = "i2c2";
0133 function = "gpio";
0134 };
0135 };
0136
0137 &i2c0 {
0138 status = "okay";
0139 pinctrl-names = "default", "recovery";
0140 pinctrl-0 = <&i2c1_pins>;
0141 pinctrl-1 = <&i2c1_recovery_pins>;
0142 /delete-property/mrvl,i2c-fast-mode;
0143 scl-gpios = <&gpionb 0 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
0144 sda-gpios = <&gpionb 1 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
0145 };
0146
0147 &i2c1 {
0148 status = "okay";
0149 pinctrl-names = "default", "recovery";
0150 pinctrl-0 = <&i2c2_pins>;
0151 pinctrl-1 = <&i2c2_recovery_pins>;
0152 /delete-property/mrvl,i2c-fast-mode;
0153 scl-gpios = <&gpionb 2 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
0154 sda-gpios = <&gpionb 3 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
0155
0156 nct375@48 {
0157 status = "okay";
0158 compatible = "ti,tmp75c";
0159 reg = <0x48>;
0160 };
0161
0162 nct375@49 {
0163 status = "okay";
0164 compatible = "ti,tmp75c";
0165 reg = <0x49>;
0166 };
0167 };
0168
0169 ð0 {
0170 phy-mode = "sgmii";
0171 status = "okay";
0172 managed = "in-band-status";
0173 phys = <&comphy1 0>;
0174 sfp = <&sfp_eth0>;
0175 };
0176
0177 ð1 {
0178 phy-mode = "sgmii";
0179 status = "okay";
0180 managed = "in-band-status";
0181 phys = <&comphy0 1>;
0182 sfp = <&sfp_eth1>;
0183 };
0184
0185 &usb3 {
0186 status = "okay";
0187 phys = <&usb2_utmi_otg_phy>;
0188 phy-names = "usb2-utmi-otg-phy";
0189 };
0190
0191 &uart0 {
0192 status = "okay";
0193 };