blob: de83c0eb1d6ed9e39f95d43c795c738f29258bb5 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001// SPDX-License-Identifier: GPL-2.0-or-later
2// Copyright 2019 IBM Corp.
3
4/dts-v1/;
5
6#include "aspeed-g6.dtsi"
7#include <dt-bindings/gpio/aspeed-gpio.h>
8
9/ {
10 model = "AST2600 EVB";
11 compatible = "aspeed,ast2600-evb", "aspeed,ast2600";
12
13 aliases {
14 serial4 = &uart5;
15 };
16
17 chosen {
18 bootargs = "console=ttyS4,115200n8";
19 };
20
21 memory@80000000 {
22 device_type = "memory";
23 reg = <0x80000000 0x80000000>;
24 };
25
26 reserved-memory {
27 #address-cells = <1>;
28 #size-cells = <1>;
29 ranges;
30
31 video_engine_memory: video {
32 size = <0x04000000>;
33 alignment = <0x01000000>;
34 compatible = "shared-dma-pool";
35 reusable;
36 };
37
38 gfx_memory: framebuffer {
39 size = <0x01000000>;
40 alignment = <0x01000000>;
41 compatible = "shared-dma-pool";
42 reusable;
43 };
44 };
45
46 vcc_sdhci0: regulator-vcc-sdhci0 {
47 compatible = "regulator-fixed";
48 regulator-name = "SDHCI0 Vcc";
49 regulator-min-microvolt = <3300000>;
50 regulator-max-microvolt = <3300000>;
51 gpios = <&gpio0 ASPEED_GPIO(V, 0) GPIO_ACTIVE_HIGH>;
52 enable-active-high;
53 };
54
55 vccq_sdhci0: regulator-vccq-sdhci0 {
56 compatible = "regulator-gpio";
57 regulator-name = "SDHCI0 VccQ";
58 regulator-min-microvolt = <1800000>;
59 regulator-max-microvolt = <3300000>;
60 gpios = <&gpio0 ASPEED_GPIO(V, 1) GPIO_ACTIVE_HIGH>;
61 gpios-states = <1>;
62 states = <3300000 1>,
63 <1800000 0>;
64 };
65
66 vcc_sdhci1: regulator-vcc-sdhci1 {
67 compatible = "regulator-fixed";
68 regulator-name = "SDHCI1 Vcc";
69 regulator-min-microvolt = <3300000>;
70 regulator-max-microvolt = <3300000>;
71 gpios = <&gpio0 ASPEED_GPIO(V, 2) GPIO_ACTIVE_HIGH>;
72 enable-active-high;
73 };
74
75 vccq_sdhci1: regulator-vccq-sdhci1 {
76 compatible = "regulator-gpio";
77 regulator-name = "SDHCI1 VccQ";
78 regulator-min-microvolt = <1800000>;
79 regulator-max-microvolt = <3300000>;
80 gpios = <&gpio0 ASPEED_GPIO(V, 3) GPIO_ACTIVE_HIGH>;
81 gpios-states = <1>;
82 states = <3300000 1>,
83 <1800000 0>;
84 };
85};
86
87&mdio0 {
88 status = "okay";
89
90 ethphy0: ethernet-phy@0 {
91 compatible = "ethernet-phy-ieee802.3-c22";
92 reg = <0>;
93 };
94};
95
96&mdio1 {
97 status = "okay";
98
99 ethphy1: ethernet-phy@0 {
100 compatible = "ethernet-phy-ieee802.3-c22";
101 reg = <0>;
102 };
103};
104
105&mdio2 {
106 status = "okay";
107
108 ethphy2: ethernet-phy@0 {
109 compatible = "ethernet-phy-ieee802.3-c22";
110 reg = <0>;
111 };
112};
113
114&mdio3 {
115 status = "okay";
116
117 ethphy3: ethernet-phy@0 {
118 compatible = "ethernet-phy-ieee802.3-c22";
119 reg = <0>;
120 };
121};
122
123&mac0 {
124 status = "okay";
125
126 phy-mode = "rgmii-rxid";
127 phy-handle = <&ethphy0>;
128
129 pinctrl-names = "default";
130 pinctrl-0 = <&pinctrl_rgmii1_default>;
131};
132
133
134&mac1 {
135 status = "okay";
136
137 phy-mode = "rgmii-rxid";
138 phy-handle = <&ethphy1>;
139
140 pinctrl-names = "default";
141 pinctrl-0 = <&pinctrl_rgmii2_default>;
142};
143
144&mac2 {
145 status = "okay";
146
147 phy-mode = "rgmii";
148 phy-handle = <&ethphy2>;
149
150 pinctrl-names = "default";
151 pinctrl-0 = <&pinctrl_rgmii3_default>;
152};
153
154&mac3 {
155 status = "okay";
156
157 phy-mode = "rgmii";
158 phy-handle = <&ethphy3>;
159
160 pinctrl-names = "default";
161 pinctrl-0 = <&pinctrl_rgmii4_default>;
162};
163
164&emmc_controller {
165 status = "okay";
166};
167
168&emmc {
169 non-removable;
170 bus-width = <4>;
171 max-frequency = <100000000>;
172 clk-phase-mmc-hs200 = <9>, <225>;
173};
174
175&rtc {
176 status = "okay";
177};
178
179&fmc {
180 status = "okay";
181 flash@0 {
182 status = "okay";
183 m25p,fast-read;
184 label = "bmc";
185 spi-rx-bus-width = <4>;
186 spi-max-frequency = <50000000>;
187#include "openbmc-flash-layout-64.dtsi"
188 };
189};
190
191&spi1 {
192 status = "okay";
193 pinctrl-names = "default";
194 pinctrl-0 = <&pinctrl_spi1_default>;
195
196 flash@0 {
197 status = "okay";
198 m25p,fast-read;
199 label = "pnor";
200 spi-rx-bus-width = <4>;
201 spi-max-frequency = <100000000>;
202 };
203};
204
205&uart5 {
206 // Workaround for A0
207 compatible = "snps,dw-apb-uart";
208};
209
210&i2c0 {
211 status = "okay";
212};
213
214&i2c1 {
215 status = "okay";
216};
217
218&i2c2 {
219 status = "okay";
220};
221
222&i2c3 {
223 status = "okay";
224};
225
226&i2c4 {
227 status = "okay";
228};
229
230&i2c5 {
231 status = "okay";
232};
233
234&i2c6 {
235 status = "okay";
236};
237
238&i2c7 {
239 status = "okay";
240
241 temp@2e {
242 compatible = "adi,adt7490";
243 reg = <0x2e>;
244 };
245
246 eeprom@50 {
247 compatible = "atmel,24c08";
248 reg = <0x50>;
249 pagesize = <16>;
250 };
251};
252
253&i2c8 {
254 status = "okay";
255
256 lm75@4d {
257 compatible = "national,lm75";
258 reg = <0x4d>;
259 };
260};
261
262&i2c9 {
263 status = "okay";
264};
265
266&i2c12 {
267 status = "okay";
268};
269
270&i2c13 {
271 status = "okay";
272};
273
274&i2c14 {
275 status = "okay";
276};
277
278&i2c15 {
279 status = "okay";
280};
281
282&fsim0 {
283 status = "okay";
284};
285
286&ehci1 {
287 status = "okay";
288};
289
290&uhci {
291 status = "okay";
292};
293
294&sdc {
295 status = "okay";
296};
297
298/*
299 * The signal voltage of sdhci0 and sdhci1 on AST2600-A2 EVB is able to be
300 * toggled by GPIO pins.
301 * In the reference design, GPIOV0 of AST2600-A2 EVB is connected to the
302 * power load switch that provides 3.3v to sdhci0 vdd, GPIOV1 is connected to
303 * a 1.8v and a 3.3v power load switch that provides signal voltage to
304 * sdhci0 bus.
305 * If GPIOV0 is active high, sdhci0 is enabled, otherwise, sdhci0 is disabled.
306 * If GPIOV1 is active high, 3.3v power load switch is enabled, sdhci0 signal
307 * voltage is 3.3v, otherwise, 1.8v power load switch will be enabled,
308 * sdhci0 signal voltage becomes 1.8v.
309 * AST2600-A2 EVB also supports toggling signal voltage for sdhci1.
310 * The design is the same as sdhci0, it uses GPIOV2 as power-gpio and GPIOV3
311 * as power-switch-gpio.
312 */
313&sdhci0 {
314 status = "okay";
315 bus-width = <4>;
316 max-frequency = <100000000>;
317 sdhci-drive-type = /bits/ 8 <3>;
318 sdhci-caps-mask = <0x7 0x0>;
319 sdhci,wp-inverted;
320 vmmc-supply = <&vcc_sdhci0>;
321 vqmmc-supply = <&vccq_sdhci0>;
322 clk-phase-sd-hs = <7>, <200>;
323};
324
325&sdhci1 {
326 status = "okay";
327 bus-width = <4>;
328 max-frequency = <100000000>;
329 sdhci-drive-type = /bits/ 8 <3>;
330 sdhci-caps-mask = <0x7 0x0>;
331 sdhci,wp-inverted;
332 vmmc-supply = <&vcc_sdhci1>;
333 vqmmc-supply = <&vccq_sdhci1>;
334 clk-phase-sd-hs = <7>, <200>;
335};
336
337&vhub {
338 status = "okay";
339 pinctrl-names = "default";
340};
341
342&video {
343 status = "okay";
344 memory-region = <&video_engine_memory>;
345};
346
347&gfx {
348 status = "okay";
349 memory-region = <&gfx_memory>;
350};