mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-08-27 20:38:52 +09:00
![Vladimir Vid](/assets/img/avatar_default.png)
This adds initial support for micro-DPU (uDPU) board which is based on Armada-3720 SoC. micro-DPU is the single-port FTTdp "distribution point unit" made by Methode Electronics which offers complete modularity with replaceable SFP modules both for uplink and downlink (G.hn over twisted-pair, G.hn over coax, 1G and 2.5G Ethernet over Cat-5e cable). On-board features: - 512 MiB DDR3 - 2 x 2.5G SFP via HSGMII SERDES interface to the A3720 SoC - USB 2.0 Type-C connector - 4GB eMMC - ETSI TS 101548 reverse powering via twisted pair (RJ45) or coax (F Type) Cc: Luka Perkov <luka.perkov@sartura.hr> Cc: Luis Torres <luis.torres@methode.com> Cc: Scott Roberts <scott.roberts@telus.com> Cc: Paul Arola <paul.arola@telus.com> Signed-off-by: Vladimir Vid <vladimir.vid@sartura.hr> Reviewed-by: Stefan Roese <sr@denx.de> Signed-off-by: Stefan Roese <sr@denx.de>
201 lines
3.8 KiB
Plaintext
201 lines
3.8 KiB
Plaintext
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
|
/*
|
|
* Device tree for the uDPU board.
|
|
* Based on Marvell Armada 3720 development board (DB-88F3720-DDR3)
|
|
* Copyright (C) 2016 Marvell
|
|
* Copyright (C) 2018 Methode
|
|
* Copyright (C) 2018 Telus
|
|
*
|
|
* Vladimir Vid <vladimir.vid@sartura.hr>
|
|
*/
|
|
|
|
/dts-v1/;
|
|
|
|
#include "armada-37xx.dtsi"
|
|
#include "armada-3720-uDPU-u-boot.dtsi"
|
|
|
|
/ {
|
|
model = "Methode uDPU Board";
|
|
compatible = "methode,udpu";
|
|
|
|
chosen {
|
|
stdout-path = "serial0:115200n8";
|
|
bootargs = "console=ttyMV0,115200 earlycon=ar3700_uart,0xd0012000";
|
|
};
|
|
|
|
aliases {
|
|
i2c0 = &i2c0;
|
|
i2c1 = &i2c1;
|
|
spi0 = &spi0;
|
|
};
|
|
|
|
memory@0 {
|
|
device_type = "memory";
|
|
reg = <0x00000000 0x00000000 0x00000000 0x20000000>;
|
|
};
|
|
|
|
mdio: mdio@32004 {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
ethphy0: ethernet-phy@0 {
|
|
reg = <0>;
|
|
};
|
|
ethphy1: ethernet-phy@1 {
|
|
reg = <1>;
|
|
};
|
|
};
|
|
|
|
scsi: scsi {
|
|
compatible = "marvell,mvebu-scsi";
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
max-id = <1>;
|
|
max-lun = <1>;
|
|
status = "okay";
|
|
};
|
|
|
|
i2c1: i2c@11080 {
|
|
compatible = "marvell,armada-3700-i2c", "simple-bus";
|
|
reg = <0x0 0x11080 0x0 0x80>;
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&i2c2_pins>;
|
|
#address-cells = <2>;
|
|
#size-cells = <2>;
|
|
status = "okay";
|
|
};
|
|
|
|
uart1: serial@12200 {
|
|
compatible = "marvell,armada-3700-uart-ext";
|
|
reg = <0x0 0x12200 0x0 0x30>;
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&uart2_pins>;
|
|
interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
|
|
status = "okay";
|
|
#address-cells = <2>;
|
|
#size-cells = <2>;
|
|
};
|
|
|
|
vcc_sd_reg0: regulator@0 {
|
|
compatible = "regulator-gpio";
|
|
regulator-name = "vcc_sd0";
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
regulator-type = "voltage";
|
|
states = <1800000 0x1
|
|
3300000 0x0>;
|
|
gpios = <&gpiosb 23 GPIO_ACTIVE_HIGH>;
|
|
};
|
|
|
|
sfp_eth0: sfp-eth0 {
|
|
compatible = "sff,sfp";
|
|
i2c-bus = <&i2c0>;
|
|
los-gpio = <&gpiosb 2 GPIO_ACTIVE_HIGH>;
|
|
mod-def0-gpio = <&gpiosb 3 GPIO_ACTIVE_LOW>;
|
|
tx-disable-gpio = <&gpiosb 4 GPIO_ACTIVE_HIGH>;
|
|
tx-fault-gpio = <&gpiosb 5 GPIO_ACTIVE_HIGH>;
|
|
};
|
|
|
|
sfp_eth1: sfp-eth1 {
|
|
compatible = "sff,sfp";
|
|
i2c-bus = <&i2c1>;
|
|
sfp,ethernet = <ð1>;
|
|
los-gpio = <&gpiosb 7 GPIO_ACTIVE_HIGH>;
|
|
mod-def0-gpio = <&gpiosb 8 GPIO_ACTIVE_LOW>;
|
|
tx-disable-gpio = <&gpiosb 9 GPIO_ACTIVE_HIGH>;
|
|
tx-fault-gpio = <&gpiosb 10 GPIO_ACTIVE_HIGH>;
|
|
};
|
|
};
|
|
|
|
&comphy {
|
|
phy0 {
|
|
phy-type = <PHY_TYPE_SGMII1>;
|
|
phy-speed = <PHY_SPEED_1_25G>;
|
|
};
|
|
phy1 {
|
|
phy-type = <PHY_TYPE_SGMII0>;
|
|
phy-speed = <PHY_SPEED_1_25G>;
|
|
};
|
|
|
|
phy2 {
|
|
phy-type = <PHY_TYPE_USB3_HOST1>;
|
|
phy-speed = <PHY_SPEED_5G>;
|
|
};
|
|
};
|
|
|
|
ð0 {
|
|
pinctrl-0 = <&pcie_pins>;
|
|
status = "okay";
|
|
phy-mode = "sgmii";
|
|
phy = <ðphy0>;
|
|
fixed-link {
|
|
speed = <1000>;
|
|
full-duplex;
|
|
};
|
|
};
|
|
|
|
ð1 {
|
|
status = "okay";
|
|
phy-mode = "sgmii";
|
|
phy = <ðphy1>;
|
|
fixed-link {
|
|
speed = <1000>;
|
|
full-duplex;
|
|
};
|
|
};
|
|
|
|
&i2c0 {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&i2c1_pins>;
|
|
status = "okay";
|
|
};
|
|
|
|
&spi0 {
|
|
status = "okay";
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&spi_quad_pins>;
|
|
|
|
spi-flash@0 {
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
compatible = "n25q1024a","n25q512a";
|
|
reg = <0>;
|
|
spi-max-frequency = <50000000>;
|
|
spi-rx-bus-width = <4>;
|
|
spi-tx-bus-width = <4>;
|
|
m25p,fast-read;
|
|
|
|
partition@0 {
|
|
label = "uboot";
|
|
reg = <0 0x400000>;
|
|
};
|
|
};
|
|
};
|
|
|
|
&sdhci1 {
|
|
non-removable;
|
|
mmc-ddr-1_8v;
|
|
mmc-hs200-1_8v;
|
|
bus-width = <4>;
|
|
vqmmc-supply = <&vcc_sd_reg0>;
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&sdio_pins>;
|
|
status = "okay";
|
|
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
mmccard: mmccard@0 {
|
|
compatible = "mmc-card";
|
|
reg = <0>;
|
|
};
|
|
};
|
|
|
|
&uart0 {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&uart1_pins>;
|
|
status = "okay";
|
|
};
|
|
|
|
&usb3 {
|
|
status = "okay";
|
|
};
|