1// SPDX-License-Identifier: GPL-2.0-or-later
2// Copyright 2021 Inventec Corp.
3
4/dts-v1/;
5
6#include "aspeed-g6.dtsi"
7#include "aspeed-g6-pinctrl.dtsi"
8#include <dt-bindings/i2c/i2c.h>
9#include <dt-bindings/gpio/aspeed-gpio.h>
10
11/ {
12       model = "TRANSFORMERS BMC";
13       compatible = "inventec,transformer-bmc", "aspeed,ast2600";
14
15       aliases {
16               serial4 = &uart5;
17       };
18
19       chosen {
20               stdout-path = &uart5;
21               bootargs = "console=ttyS4,115200n8";
22       };
23
24       memory@80000000 {
25               device_type = "memory";
26               reg = <0x80000000 0x80000000>;
27       };
28
29       leds {
30               compatible = "gpio-leds";
31
32               // UID led
33               uid {
34                       label = "UID_LED";
35                       gpios = <&gpio0 ASPEED_GPIO(X, 0) GPIO_ACTIVE_LOW>;
36               };
37
38               // Heart beat led
39               heartbeat {
40                       label = "HB_LED";
41                       gpios = <&gpio0 ASPEED_GPIO(P, 7) GPIO_ACTIVE_LOW>;
42               };
43       };
44};
45
46&mdio0 {
47       status = "okay";
48
49       ethphy0: ethernet-phy@0 {
50               compatible = "ethernet-phy-ieee802.3-c22";
51               reg = <1>;
52       };
53};
54
55&mac3 {
56       status = "okay";
57       phy-mode = "rgmii";
58       phy-handle = <&ethphy0>;
59       pinctrl-names = "default";
60       pinctrl-0 = <&pinctrl_rgmii4_default>;
61};
62
63&fmc {
64       status = "okay";
65
66       flash@0 {
67               status = "okay";
68               m25p,fast-read;
69               label = "bmc";
70               spi-max-frequency = <33000000>;
71               spi-tx-bus-width = <2>;
72               spi-rx-bus-width = <2>;
73#include "openbmc-flash-layout.dtsi"
74       };
75
76       flash@1 {
77               status = "okay";
78               m25p,fast-read;
79               label = "bmc2";
80               spi-max-frequency = <33000000>;
81               spi-tx-bus-width = <2>;
82               spi-rx-bus-width = <2>;
83       };
84};
85
86&spi1 {
87       status = "okay";
88       pinctrl-names = "default";
89       pinctrl-0 = <&pinctrl_spi1_default>;
90
91       flash@0 {
92               status = "okay";
93               m25p,fast-read;
94               label = "bios";
95               spi-max-frequency = <33000000>;
96               spi-tx-bus-width = <1>;
97               spi-rx-bus-width = <1>;
98       };
99};
100
101&wdt1 {
102       status = "okay";
103};
104
105&uart1 {
106       status = "okay";
107};
108
109&uart5 {
110       status = "okay";
111};
112
113&i2c0 {
114       status = "okay";
115
116       //Set bmc' slave address;
117       bmc_slave@10 {
118               compatible = "ipmb-dev";
119               reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>;
120               i2c-protocol;
121       };
122};
123
124&i2c2 {
125       status = "okay";
126};
127
128&i2c3 {
129       // FRU AT24C512C-SSHM-T
130       status = "okay";
131       eeprom@50 {
132               compatible = "atmel,24c512";
133               reg = <0x50>;
134               pagesize = <128>;
135       };
136};
137
138&i2c5 {
139       status = "okay";
140};
141
142&i2c6 {
143       status = "okay";
144
145       tmp75@49 {
146               compatible = "ti,tmp75";
147               reg = <0x49>;
148       };
149
150       tmp75@4f {
151               compatible = "ti,tmp75";
152               reg = <0x4f>;
153       };
154
155       tmp468@48 {
156               compatible = "ti,tmp468";
157               reg = <0x48>;
158       };
159};
160
161&i2c7 {
162       status = "okay";
163       adm1278@40 {
164               compatible = "adi,adm1278";
165               reg = <0x40>;
166       };
167};
168
169
170&i2c8 {
171       // FRU AT24C512C-SSHM-T
172       status = "okay";
173
174       eeprom@51 {
175               compatible = "atmel,24c512";
176               reg = <0x51>;
177               pagesize = <128>;
178       };
179
180       eeprom@53 {
181               compatible = "atmel,24c512";
182               reg = <0x53>;
183               pagesize = <128>;
184       };
185};
186
187&i2c9 {
188       // M.2
189       status = "okay";
190};
191
192&i2c10 {
193       // I2C EXPANDER
194       status = "okay";
195
196       i2c-switch@71 {
197               compatible = "nxp,pca9544";
198               #address-cells = <1>;
199               #size-cells = <0>;
200               reg = <0x71>;
201       };
202
203       i2c-switch@73 {
204               compatible = "nxp,pca9544";
205               #address-cells = <1>;
206               #size-cells = <0>;
207               reg = <0x73>;
208       };
209};
210
211&i2c11 {
212       // I2C EXPANDER
213       status = "okay";
214
215       i2c-switch@70 {
216               compatible = "nxp,pca9544";
217               #address-cells = <1>;
218               #size-cells = <0>;
219               reg = <0x70>;
220
221               pcie_eeprom_riser1: i2c@0 {
222                       #address-cells = <1>;
223                       #size-cells = <0>;
224                       reg = <0>;
225
226                       eeprom@55 {
227                               compatible = "atmel,24c512";
228                               reg = <0x55>;
229                               pagesize = <128>;
230                       };
231               };
232
233               pcie_eeprom_riser2: i2c@1 {
234                       #address-cells = <1>;
235                       #size-cells = <0>;
236                       reg = <1>;
237
238                       eeprom@55 {
239                               compatible = "atmel,24c512";
240                               reg = <0x55>;
241                               pagesize = <128>;
242                       };
243               };
244
245               pcie_eeprom_riser3: i2c@2 {
246                       #address-cells = <1>;
247                       #size-cells = <0>;
248                       reg = <2>;
249
250                       eeprom@55 {
251                               compatible = "atmel,24c512";
252                               reg = <0x55>;
253                               pagesize = <128>;
254                       };
255               };
256       };
257};
258
259&i2c12 {
260       status = "okay";
261
262       psu0:psu0@58 {
263               compatible = "pmbus";
264               reg = <0x58>;
265       };
266};
267
268&gpio0 {
269       status = "okay";
270       gpio-line-names =
271       /*A0-A7*/   "","","","","","","","",
272       /*B0-B7*/   "presence-ps0","power-chassis-good","","","","","presence-ps1","",
273       /*C0-C7*/   "","","","","","","","",
274       /*D0-D7*/   "","","","","","","","",
275       /*E0-E7*/   "","","","","","","","",
276       /*F0-F7*/   "","","","","power-chassis-control","","","",
277       /*G0-G7*/   "","","jtag-mux","","","","","",
278       /*H0-H7*/   "","","","","reset-button","power-button","","",
279       /*I0-I7*/   "","","","","","","","",
280       /*J0-J7*/   "","","","","","","","",
281       /*K0-K7*/   "","","","","","","","",
282       /*L0-L7*/   "","","","","","","","",
283       /*M0-M7*/   "","","","","","","","",
284       /*N0-N7*/   "","","","","","","","",
285       /*O0-O7*/   "","","","","","","","",
286       /*P0-P7*/   "","","","tck-mux","","","","",
287       /*Q0-Q7*/   "","","","","","","","",
288       /*R0-R7*/   "","","","","","","","",
289       /*S0-S7*/   "","","","","","","","",
290       /*T0-T7*/   "","","","","","","","",
291       /*U0-U7*/   "","nmi-button","","","","","","",
292       /*V0-V7*/   "","","","","power-config-full-load","","","",
293       /*W0-W7*/   "","","","","","","","",
294       /*X0-X7*/   "","","","","","","","",
295       /*Y0-Y7*/   "","","","","","","","",
296       /*Z0-Z7*/   "","","","","","","","",
297       /*AA0-AA7*/ "","","","","","","","",
298       /*AB0-AB7*/ "","","","","","","","",
299       /*AC0-AC7*/ "","","","","","","","";
300};
301
302&lpc_snoop {
303       status = "okay";
304       snoop-ports = <0x80>;
305};
306
307&emmc_controller {
308       status = "okay";
309};
310
311&emmc {
312       status = "okay";
313       non-removable;
314       max-frequency = <52000000>;
315       bus-width = <8>;
316};
317
318&vhub {
319       status = "okay";
320       aspeed,vhub-downstream-ports = <7>;
321       aspeed,vhub-generic-endpoints = <21>;
322       pinctrl-names = "default";
323       pinctrl-0 = <&pinctrl_usb2ad_default>;
324};
325
326&rtc {
327       status = "okay";
328};
329