blob: 4bf6d2eac798b99302e057b42baa3ba951b84362 [file] [log] [blame]
Vladimir Vid32c9e1c2019-01-28 17:27:58 +01001// 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) 2018 Methode
7 * Copyright (C) 2018 Telus
8 *
9 * Vladimir Vid <vladimir.vid@sartura.hr>
10 */
11
12/dts-v1/;
13
14#include "armada-37xx.dtsi"
15#include "armada-3720-uDPU-u-boot.dtsi"
16
17/ {
18 model = "Methode uDPU Board";
19 compatible = "methode,udpu";
20
21 chosen {
22 stdout-path = "serial0:115200n8";
23 bootargs = "console=ttyMV0,115200 earlycon=ar3700_uart,0xd0012000";
24 };
25
26 aliases {
27 i2c0 = &i2c0;
28 i2c1 = &i2c1;
29 spi0 = &spi0;
30 };
31
32 memory@0 {
33 device_type = "memory";
34 reg = <0x00000000 0x00000000 0x00000000 0x20000000>;
35 };
36
37 mdio: mdio@32004 {
38 #address-cells = <1>;
39 #size-cells = <0>;
40 ethphy0: ethernet-phy@0 {
41 reg = <0>;
42 };
43 ethphy1: ethernet-phy@1 {
44 reg = <1>;
45 };
46 };
47
48 scsi: scsi {
49 compatible = "marvell,mvebu-scsi";
50 #address-cells = <1>;
51 #size-cells = <1>;
52 max-id = <1>;
53 max-lun = <1>;
54 status = "okay";
55 };
56
57 i2c1: i2c@11080 {
58 compatible = "marvell,armada-3700-i2c", "simple-bus";
59 reg = <0x0 0x11080 0x0 0x80>;
60 pinctrl-names = "default";
61 pinctrl-0 = <&i2c2_pins>;
62 #address-cells = <2>;
63 #size-cells = <2>;
64 status = "okay";
65 };
66
67 uart1: serial@12200 {
68 compatible = "marvell,armada-3700-uart-ext";
69 reg = <0x0 0x12200 0x0 0x30>;
70 pinctrl-names = "default";
71 pinctrl-0 = <&uart2_pins>;
72 interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
73 status = "okay";
74 #address-cells = <2>;
75 #size-cells = <2>;
76 };
77
78 vcc_sd_reg0: regulator@0 {
79 compatible = "regulator-gpio";
80 regulator-name = "vcc_sd0";
81 regulator-min-microvolt = <1800000>;
82 regulator-max-microvolt = <3300000>;
83 regulator-type = "voltage";
84 states = <1800000 0x1
85 3300000 0x0>;
86 gpios = <&gpiosb 23 GPIO_ACTIVE_HIGH>;
87 };
88
89 sfp_eth0: sfp-eth0 {
90 compatible = "sff,sfp";
91 i2c-bus = <&i2c0>;
92 los-gpio = <&gpiosb 2 GPIO_ACTIVE_HIGH>;
93 mod-def0-gpio = <&gpiosb 3 GPIO_ACTIVE_LOW>;
94 tx-disable-gpio = <&gpiosb 4 GPIO_ACTIVE_HIGH>;
95 tx-fault-gpio = <&gpiosb 5 GPIO_ACTIVE_HIGH>;
96 };
97
98 sfp_eth1: sfp-eth1 {
99 compatible = "sff,sfp";
100 i2c-bus = <&i2c1>;
101 sfp,ethernet = <&eth1>;
102 los-gpio = <&gpiosb 7 GPIO_ACTIVE_HIGH>;
103 mod-def0-gpio = <&gpiosb 8 GPIO_ACTIVE_LOW>;
104 tx-disable-gpio = <&gpiosb 9 GPIO_ACTIVE_HIGH>;
105 tx-fault-gpio = <&gpiosb 10 GPIO_ACTIVE_HIGH>;
106 };
107};
108
109&comphy {
110 phy0 {
Igal Liberman2dbba242017-04-26 15:40:00 +0300111 phy-type = <COMPHY_TYPE_SGMII1>;
112 phy-speed = <COMPHY_SPEED_1_25G>;
Vladimir Vid32c9e1c2019-01-28 17:27:58 +0100113 };
Vladimir Vid32c9e1c2019-01-28 17:27:58 +0100114
Igal Liberman2dbba242017-04-26 15:40:00 +0300115 phy1 {
116 phy-type = <COMPHY_TYPE_SGMII0>;
117 phy-speed = <COMPHY_SPEED_1_25G>;
118 };
119
120 phy2 {
121 phy-type = <COMPHY_TYPE_USB3_HOST1>;
122 phy-speed = <COMPHY_SPEED_5G>;
123 };
Vladimir Vid32c9e1c2019-01-28 17:27:58 +0100124};
125
126&eth0 {
127 pinctrl-0 = <&pcie_pins>;
128 status = "okay";
Stefan Roesec3506012021-04-27 11:48:28 +0200129 phy-mode = "2500base-x";
Jakov Petrinaf49ac7e2020-04-24 11:24:08 +0200130 managed = "in-band-status";
Vladimir Vid32c9e1c2019-01-28 17:27:58 +0100131 phy = <&ethphy0>;
Vladimir Vid32c9e1c2019-01-28 17:27:58 +0100132};
133
134&eth1 {
135 status = "okay";
Stefan Roesec3506012021-04-27 11:48:28 +0200136 phy-mode = "2500base-x";
Jakov Petrinaf49ac7e2020-04-24 11:24:08 +0200137 managed = "in-band-status";
Vladimir Vid32c9e1c2019-01-28 17:27:58 +0100138 phy = <&ethphy1>;
Vladimir Vid32c9e1c2019-01-28 17:27:58 +0100139};
140
141&i2c0 {
142 pinctrl-names = "default";
143 pinctrl-0 = <&i2c1_pins>;
144 status = "okay";
145};
146
147&spi0 {
148 status = "okay";
149 pinctrl-names = "default";
150 pinctrl-0 = <&spi_quad_pins>;
151
152 spi-flash@0 {
153 #address-cells = <1>;
154 #size-cells = <1>;
155 compatible = "n25q1024a","n25q512a";
156 reg = <0>;
157 spi-max-frequency = <50000000>;
158 spi-rx-bus-width = <4>;
159 spi-tx-bus-width = <4>;
160 m25p,fast-read;
161
162 partition@0 {
163 label = "uboot";
164 reg = <0 0x400000>;
165 };
166 };
167};
168
169&sdhci1 {
170 non-removable;
171 mmc-ddr-1_8v;
172 mmc-hs200-1_8v;
173 bus-width = <4>;
174 vqmmc-supply = <&vcc_sd_reg0>;
175 pinctrl-names = "default";
176 pinctrl-0 = <&sdio_pins>;
177 status = "okay";
178
179 #address-cells = <1>;
180 #size-cells = <0>;
181 mmccard: mmccard@0 {
182 compatible = "mmc-card";
183 reg = <0>;
184 };
185};
186
187&uart0 {
188 pinctrl-names = "default";
189 pinctrl-0 = <&uart1_pins>;
190 status = "okay";
191};
192
193&usb3 {
194 status = "okay";
195};