blob: 5e5baf6beea462a6c3d9ebeb91f5ba88d04a2164 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * Copyright (C) 2016 Marvell Technology Group Ltd.
4 *
5 * Device Tree file for Marvell Armada 7040 Development board platform
6 */
7
8#include <dt-bindings/gpio/gpio.h>
9#include "armada-7040.dtsi"
10
11/ {
12 model = "Marvell Armada 7040 DB board";
13 compatible = "marvell,armada7040-db", "marvell,armada7040",
14 "marvell,armada-ap806-quad", "marvell,armada-ap806";
15
16 chosen {
17 stdout-path = "serial0:115200n8";
18 };
19
20 memory@0 {
21 device_type = "memory";
22 reg = <0x0 0x0 0x0 0x80000000>;
23 };
24
25 aliases {
26 ethernet0 = &cp0_eth0;
27 ethernet1 = &cp0_eth1;
28 ethernet2 = &cp0_eth2;
29 };
30
31 cp0_exp_usb3_0_current_regulator: gpio-regulator {
32 compatible = "regulator-gpio";
33 regulator-name = "cp0-usb3-0-current-regulator";
34 regulator-type = "current";
35 regulator-min-microamp = <500000>;
36 regulator-max-microamp = <900000>;
37 gpios = <&expander0 4 GPIO_ACTIVE_HIGH>;
38 states = <500000 0x0
39 900000 0x1>;
40 enable-active-high;
41 gpios-states = <0>;
42 };
43
44 cp0_exp_usb3_1_current_regulator: gpio-regulator {
45 compatible = "regulator-gpio";
46 regulator-name = "cp0-usb3-1-current-regulator";
47 regulator-type = "current";
48 regulator-min-microamp = <500000>;
49 regulator-max-microamp = <900000>;
50 gpios = <&expander0 5 GPIO_ACTIVE_HIGH>;
51 states = <500000 0x0
52 900000 0x1>;
53 enable-active-high;
54 gpios-states = <0>;
55 };
56
57 cp0_reg_usb3_0_vbus: cp0-usb3-0-vbus {
58 compatible = "regulator-fixed";
59 regulator-name = "usb3h0-vbus";
60 regulator-min-microvolt = <5000000>;
61 regulator-max-microvolt = <5000000>;
62 enable-active-high;
63 gpio = <&expander0 0 GPIO_ACTIVE_HIGH>;
64 vin-supply = <&cp0_exp_usb3_0_current_regulator>;
65 };
66
67 cp0_reg_usb3_1_vbus: cp0-usb3-1-vbus {
68 compatible = "regulator-fixed";
69 regulator-name = "usb3h1-vbus";
70 regulator-min-microvolt = <5000000>;
71 regulator-max-microvolt = <5000000>;
72 enable-active-high;
73 gpio = <&expander0 1 GPIO_ACTIVE_HIGH>;
74 vin-supply = <&cp0_exp_usb3_1_current_regulator>;
75 };
76};
77
78&i2c0 {
79 status = "okay";
80 clock-frequency = <100000>;
81};
82
83&spi0 {
84 status = "okay";
85
86 flash@0 {
87 compatible = "jedec,spi-nor";
88 reg = <0>;
89 spi-max-frequency = <10000000>;
90
91 partitions {
92 compatible = "fixed-partitions";
93 #address-cells = <1>;
94 #size-cells = <1>;
95
96 partition@0 {
97 label = "U-Boot";
98 reg = <0 0x200000>;
99 };
100 partition@400000 {
101 label = "Filesystem";
102 reg = <0x200000 0xce0000>;
103 };
104 };
105 };
106};
107
108&uart0 {
109 status = "okay";
110 pinctrl-0 = <&uart0_pins>;
111 pinctrl-names = "default";
112};
113
114
115&cp0_pcie2 {
116 status = "okay";
117 phys = <&cp0_comphy5 2>;
118 phy-names = "cp0-pcie2-x1-phy";
119};
120
121&cp0_i2c0 {
122 status = "okay";
123 clock-frequency = <100000>;
124
125 expander0: pca9555@21 {
126 compatible = "nxp,pca9555";
127 pinctrl-names = "default";
128 gpio-controller;
129 #gpio-cells = <2>;
130 reg = <0x21>;
131 /*
132 * IO0_0: USB3_PWR_EN0 IO1_0: USB_3_1_Dev_Detect
133 * IO0_1: USB3_PWR_EN1 IO1_1: USB2_1_current_limit
134 * IO0_2: DDR3_4_Detect IO1_2: Hcon_IO_RstN
135 * IO0_3: USB2_DEVICE_DETECT
136 * IO0_4: GPIO_0 IO1_4: SD_Status
137 * IO0_5: GPIO_1 IO1_5: LDO_5V_Enable
138 * IO0_6: IHB_5V_Enable IO1_6: PWR_EN_eMMC
139 * IO0_7: IO1_7: SDIO_Vcntrl
140 */
141 };
142};
143
144&cp0_nand_controller {
145 /*
146 * SPI on CPM and NAND have common pins on this board. We can
147 * use only one at a time. To enable the NAND (which will
148 * disable the SPI), the "status = "okay";" line have to be
149 * added here.
150 */
151 pinctrl-0 = <&nand_pins>, <&nand_rb>;
152 pinctrl-names = "default";
153
154 nand@0 {
155 reg = <0>;
156 label = "pxa3xx_nand-0";
157 nand-rb = <0>;
158 nand-on-flash-bbt;
159 nand-ecc-strength = <4>;
160 nand-ecc-step-size = <512>;
161
162 partitions {
163 compatible = "fixed-partitions";
164 #address-cells = <1>;
165 #size-cells = <1>;
166
167 partition@0 {
168 label = "U-Boot";
169 reg = <0 0x200000>;
170 };
171
172 partition@200000 {
173 label = "Linux";
174 reg = <0x200000 0xe00000>;
175 };
176
177 partition@1000000 {
178 label = "Filesystem";
179 reg = <0x1000000 0x3f000000>;
180 };
181
182 };
183 };
184};
185
186&cp0_spi1 {
187 status = "okay";
188
189 flash@0 {
190 compatible = "jedec,spi-nor";
191 reg = <0x0>;
192 spi-max-frequency = <20000000>;
193
194 partitions {
195 compatible = "fixed-partitions";
196 #address-cells = <1>;
197 #size-cells = <1>;
198
199 partition@0 {
200 label = "U-Boot";
201 reg = <0x0 0x200000>;
202 };
203
204 partition@400000 {
205 label = "Filesystem";
206 reg = <0x200000 0xe00000>;
207 };
208 };
209 };
210};
211
212&cp0_sata0 {
213 status = "okay";
214
215 sata-port@1 {
216 phys = <&cp0_comphy3 1>;
217 phy-names = "cp0-sata0-1-phy";
218 };
219};
220
221&cp0_utmi {
222 status = "okay";
223};
224
225&cp0_comphy1 {
226 cp0_usbh0_con: connector {
227 compatible = "usb-a-connector";
228 phy-supply = <&cp0_reg_usb3_0_vbus>;
229 };
230};
231
232&cp0_usb3_0 {
233 phys = <&cp0_comphy1 0>, <&cp0_utmi0>;
234 phy-names = "cp0-usb3h0-comphy", "utmi";
235 dr_mode = "host";
236 status = "okay";
237};
238
239&cp0_comphy4 {
240 cp0_usbh1_con: connector {
241 compatible = "usb-a-connector";
242 phy-supply = <&cp0_reg_usb3_1_vbus>;
243 };
244};
245
246&cp0_usb3_1 {
247 phys = <&cp0_comphy4 1>, <&cp0_utmi1>;
248 phy-names = "cp0-usb3h1-comphy", "utmi";
249 dr_mode = "host";
250 status = "okay";
251};
252
253&ap_sdhci0 {
254 status = "okay";
255 bus-width = <4>;
256 no-1-8-v;
257 non-removable;
258};
259
260&cp0_sdhci0 {
261 status = "okay";
262 bus-width = <4>;
263 no-1-8-v;
264 cd-gpios = <&expander0 12 GPIO_ACTIVE_LOW>;
265};
266
267&cp0_mdio {
268 status = "okay";
269
270 phy0: ethernet-phy@0 {
271 reg = <0>;
272 };
273 phy1: ethernet-phy@1 {
274 reg = <1>;
275 };
276};
277
278&cp0_ethernet {
279 status = "okay";
280};
281
282&cp0_eth0 {
283 status = "okay";
284 /* Network PHY */
285 phy-mode = "10gbase-r";
286 /* Generic PHY, providing serdes lanes */
287 phys = <&cp0_comphy2 0>;
288
289 fixed-link {
290 speed = <10000>;
291 full-duplex;
292 };
293};
294
295&cp0_eth1 {
296 status = "okay";
297 /* Network PHY */
298 phy = <&phy0>;
299 phy-mode = "sgmii";
300 /* Generic PHY, providing serdes lanes */
301 phys = <&cp0_comphy0 1>;
302};
303
304&cp0_eth2 {
305 status = "okay";
306 phy = <&phy1>;
307 phy-mode = "rgmii-id";
308};