1724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0-or-later
2724ba675SRob Herring// Copyright 2021 Inventec Corp.
3724ba675SRob Herring
4724ba675SRob Herring/dts-v1/;
5724ba675SRob Herring
6724ba675SRob Herring#include "aspeed-g6.dtsi"
7724ba675SRob Herring#include "aspeed-g6-pinctrl.dtsi"
8724ba675SRob Herring#include <dt-bindings/i2c/i2c.h>
9724ba675SRob Herring#include <dt-bindings/gpio/aspeed-gpio.h>
10724ba675SRob Herring
11724ba675SRob Herring/ {
12724ba675SRob Herring       model = "TRANSFORMERS BMC";
13724ba675SRob Herring       compatible = "inventec,transformer-bmc", "aspeed,ast2600";
14724ba675SRob Herring
15724ba675SRob Herring       aliases {
16724ba675SRob Herring               serial4 = &uart5;
17724ba675SRob Herring       };
18724ba675SRob Herring
19724ba675SRob Herring       chosen {
20724ba675SRob Herring               stdout-path = &uart5;
21724ba675SRob Herring               bootargs = "console=ttyS4,115200n8";
22724ba675SRob Herring       };
23724ba675SRob Herring
24724ba675SRob Herring       memory@80000000 {
25724ba675SRob Herring               device_type = "memory";
26724ba675SRob Herring               reg = <0x80000000 0x80000000>;
27724ba675SRob Herring       };
28724ba675SRob Herring
29724ba675SRob Herring       leds {
30724ba675SRob Herring               compatible = "gpio-leds";
31724ba675SRob Herring
32724ba675SRob Herring               // UID led
33724ba675SRob Herring               uid {
34724ba675SRob Herring                       label = "UID_LED";
35724ba675SRob Herring                       gpios = <&gpio0 ASPEED_GPIO(X, 0) GPIO_ACTIVE_LOW>;
36724ba675SRob Herring               };
37724ba675SRob Herring
38724ba675SRob Herring               // Heart beat led
39724ba675SRob Herring               heartbeat {
40724ba675SRob Herring                       label = "HB_LED";
41724ba675SRob Herring                       gpios = <&gpio0 ASPEED_GPIO(P, 7) GPIO_ACTIVE_LOW>;
42724ba675SRob Herring               };
43724ba675SRob Herring       };
44724ba675SRob Herring};
45724ba675SRob Herring
46724ba675SRob Herring&mdio0 {
47724ba675SRob Herring       status = "okay";
48724ba675SRob Herring
49724ba675SRob Herring       ethphy0: ethernet-phy@0 {
50724ba675SRob Herring               compatible = "ethernet-phy-ieee802.3-c22";
51724ba675SRob Herring               reg = <1>;
52724ba675SRob Herring       };
53724ba675SRob Herring};
54724ba675SRob Herring
55724ba675SRob Herring&mac3 {
56724ba675SRob Herring       status = "okay";
57724ba675SRob Herring       phy-mode = "rgmii";
58724ba675SRob Herring       phy-handle = <&ethphy0>;
59724ba675SRob Herring       pinctrl-names = "default";
60724ba675SRob Herring       pinctrl-0 = <&pinctrl_rgmii4_default>;
61724ba675SRob Herring};
62724ba675SRob Herring
63724ba675SRob Herring&fmc {
64724ba675SRob Herring       status = "okay";
65724ba675SRob Herring
66724ba675SRob Herring       flash@0 {
67724ba675SRob Herring               status = "okay";
68724ba675SRob Herring               m25p,fast-read;
69724ba675SRob Herring               label = "bmc";
70724ba675SRob Herring               spi-max-frequency = <33000000>;
71724ba675SRob Herring               spi-tx-bus-width = <2>;
72724ba675SRob Herring               spi-rx-bus-width = <2>;
73724ba675SRob Herring#include "openbmc-flash-layout.dtsi"
74724ba675SRob Herring       };
75724ba675SRob Herring
76724ba675SRob Herring       flash@1 {
77724ba675SRob Herring               status = "okay";
78724ba675SRob Herring               m25p,fast-read;
79724ba675SRob Herring               label = "bmc2";
80724ba675SRob Herring               spi-max-frequency = <33000000>;
81724ba675SRob Herring               spi-tx-bus-width = <2>;
82724ba675SRob Herring               spi-rx-bus-width = <2>;
83724ba675SRob Herring       };
84724ba675SRob Herring};
85724ba675SRob Herring
86724ba675SRob Herring&spi1 {
87724ba675SRob Herring       status = "okay";
88724ba675SRob Herring       pinctrl-names = "default";
89724ba675SRob Herring       pinctrl-0 = <&pinctrl_spi1_default>;
90724ba675SRob Herring
91724ba675SRob Herring       flash@0 {
92724ba675SRob Herring               status = "okay";
93724ba675SRob Herring               m25p,fast-read;
94724ba675SRob Herring               label = "bios";
95724ba675SRob Herring               spi-max-frequency = <33000000>;
96724ba675SRob Herring               spi-tx-bus-width = <1>;
97724ba675SRob Herring               spi-rx-bus-width = <1>;
98724ba675SRob Herring       };
99724ba675SRob Herring};
100724ba675SRob Herring
101724ba675SRob Herring&wdt1 {
102724ba675SRob Herring       status = "okay";
103724ba675SRob Herring};
104724ba675SRob Herring
105724ba675SRob Herring&uart1 {
106724ba675SRob Herring       status = "okay";
107724ba675SRob Herring};
108724ba675SRob Herring
109724ba675SRob Herring&uart5 {
110724ba675SRob Herring       status = "okay";
111724ba675SRob Herring};
112724ba675SRob Herring
113724ba675SRob Herring&i2c0 {
114724ba675SRob Herring       status = "okay";
115724ba675SRob Herring
116724ba675SRob Herring       //Set bmc' slave address;
117724ba675SRob Herring       bmc_slave@10 {
118724ba675SRob Herring               compatible = "ipmb-dev";
119724ba675SRob Herring               reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>;
120724ba675SRob Herring               i2c-protocol;
121724ba675SRob Herring       };
122724ba675SRob Herring};
123724ba675SRob Herring
124724ba675SRob Herring&i2c2 {
125724ba675SRob Herring       status = "okay";
126724ba675SRob Herring};
127724ba675SRob Herring
128724ba675SRob Herring&i2c3 {
129724ba675SRob Herring       // FRU AT24C512C-SSHM-T
130724ba675SRob Herring       status = "okay";
131724ba675SRob Herring       eeprom@50 {
132724ba675SRob Herring               compatible = "atmel,24c512";
133724ba675SRob Herring               reg = <0x50>;
134724ba675SRob Herring               pagesize = <128>;
135724ba675SRob Herring       };
136724ba675SRob Herring};
137724ba675SRob Herring
138724ba675SRob Herring&i2c5 {
139724ba675SRob Herring       status = "okay";
140724ba675SRob Herring};
141724ba675SRob Herring
142724ba675SRob Herring&i2c6 {
143724ba675SRob Herring       status = "okay";
144724ba675SRob Herring
145724ba675SRob Herring       tmp75@49 {
146724ba675SRob Herring               compatible = "ti,tmp75";
147724ba675SRob Herring               reg = <0x49>;
148724ba675SRob Herring       };
149724ba675SRob Herring
150724ba675SRob Herring       tmp75@4f {
151724ba675SRob Herring               compatible = "ti,tmp75";
152724ba675SRob Herring               reg = <0x4f>;
153724ba675SRob Herring       };
154724ba675SRob Herring
155724ba675SRob Herring       tmp468@48 {
156724ba675SRob Herring               compatible = "ti,tmp468";
157724ba675SRob Herring               reg = <0x48>;
158724ba675SRob Herring       };
159724ba675SRob Herring};
160724ba675SRob Herring
161724ba675SRob Herring&i2c7 {
162724ba675SRob Herring       status = "okay";
163724ba675SRob Herring       adm1278@40 {
164724ba675SRob Herring               compatible = "adi,adm1278";
165724ba675SRob Herring               reg = <0x40>;
166724ba675SRob Herring       };
167724ba675SRob Herring};
168724ba675SRob Herring
169724ba675SRob Herring
170724ba675SRob Herring&i2c8 {
171724ba675SRob Herring       // FRU AT24C512C-SSHM-T
172724ba675SRob Herring       status = "okay";
173724ba675SRob Herring
174724ba675SRob Herring       eeprom@51 {
175724ba675SRob Herring               compatible = "atmel,24c512";
176724ba675SRob Herring               reg = <0x51>;
177724ba675SRob Herring               pagesize = <128>;
178724ba675SRob Herring       };
179724ba675SRob Herring
180724ba675SRob Herring       eeprom@53 {
181724ba675SRob Herring               compatible = "atmel,24c512";
182724ba675SRob Herring               reg = <0x53>;
183724ba675SRob Herring               pagesize = <128>;
184724ba675SRob Herring       };
185724ba675SRob Herring};
186724ba675SRob Herring
187724ba675SRob Herring&i2c9 {
188724ba675SRob Herring       // M.2
189724ba675SRob Herring       status = "okay";
190724ba675SRob Herring};
191724ba675SRob Herring
192724ba675SRob Herring&i2c10 {
193724ba675SRob Herring       // I2C EXPANDER
194724ba675SRob Herring       status = "okay";
195724ba675SRob Herring
196*4b46d86cSGeert Uytterhoeven       i2c-mux@71 {
197724ba675SRob Herring               compatible = "nxp,pca9544";
198724ba675SRob Herring               #address-cells = <1>;
199724ba675SRob Herring               #size-cells = <0>;
200724ba675SRob Herring               reg = <0x71>;
201724ba675SRob Herring       };
202724ba675SRob Herring
203*4b46d86cSGeert Uytterhoeven       i2c-mux@73 {
204724ba675SRob Herring               compatible = "nxp,pca9544";
205724ba675SRob Herring               #address-cells = <1>;
206724ba675SRob Herring               #size-cells = <0>;
207724ba675SRob Herring               reg = <0x73>;
208724ba675SRob Herring       };
209724ba675SRob Herring};
210724ba675SRob Herring
211724ba675SRob Herring&i2c11 {
212724ba675SRob Herring       // I2C EXPANDER
213724ba675SRob Herring       status = "okay";
214724ba675SRob Herring
215*4b46d86cSGeert Uytterhoeven       i2c-mux@70 {
216724ba675SRob Herring               compatible = "nxp,pca9544";
217724ba675SRob Herring               #address-cells = <1>;
218724ba675SRob Herring               #size-cells = <0>;
219724ba675SRob Herring               reg = <0x70>;
220724ba675SRob Herring
221724ba675SRob Herring               pcie_eeprom_riser1: i2c@0 {
222724ba675SRob Herring                       #address-cells = <1>;
223724ba675SRob Herring                       #size-cells = <0>;
224724ba675SRob Herring                       reg = <0>;
225724ba675SRob Herring
226724ba675SRob Herring                       eeprom@55 {
227724ba675SRob Herring                               compatible = "atmel,24c512";
228724ba675SRob Herring                               reg = <0x55>;
229724ba675SRob Herring                               pagesize = <128>;
230724ba675SRob Herring                       };
231724ba675SRob Herring               };
232724ba675SRob Herring
233724ba675SRob Herring               pcie_eeprom_riser2: i2c@1 {
234724ba675SRob Herring                       #address-cells = <1>;
235724ba675SRob Herring                       #size-cells = <0>;
236724ba675SRob Herring                       reg = <1>;
237724ba675SRob Herring
238724ba675SRob Herring                       eeprom@55 {
239724ba675SRob Herring                               compatible = "atmel,24c512";
240724ba675SRob Herring                               reg = <0x55>;
241724ba675SRob Herring                               pagesize = <128>;
242724ba675SRob Herring                       };
243724ba675SRob Herring               };
244724ba675SRob Herring
245724ba675SRob Herring               pcie_eeprom_riser3: i2c@2 {
246724ba675SRob Herring                       #address-cells = <1>;
247724ba675SRob Herring                       #size-cells = <0>;
248724ba675SRob Herring                       reg = <2>;
249724ba675SRob Herring
250724ba675SRob Herring                       eeprom@55 {
251724ba675SRob Herring                               compatible = "atmel,24c512";
252724ba675SRob Herring                               reg = <0x55>;
253724ba675SRob Herring                               pagesize = <128>;
254724ba675SRob Herring                       };
255724ba675SRob Herring               };
256724ba675SRob Herring       };
257724ba675SRob Herring};
258724ba675SRob Herring
259724ba675SRob Herring&i2c12 {
260724ba675SRob Herring       status = "okay";
261724ba675SRob Herring
262724ba675SRob Herring       psu0:psu0@58 {
263724ba675SRob Herring               compatible = "pmbus";
264724ba675SRob Herring               reg = <0x58>;
265724ba675SRob Herring       };
266724ba675SRob Herring};
267724ba675SRob Herring
268724ba675SRob Herring&gpio0 {
269724ba675SRob Herring       status = "okay";
270724ba675SRob Herring       gpio-line-names =
271724ba675SRob Herring       /*A0-A7*/   "","","","","","","","",
272724ba675SRob Herring       /*B0-B7*/   "presence-ps0","power-chassis-good","","","","","presence-ps1","",
273724ba675SRob Herring       /*C0-C7*/   "","","","","","","","",
274724ba675SRob Herring       /*D0-D7*/   "","","","","","","","",
275724ba675SRob Herring       /*E0-E7*/   "","","","","","","","",
276724ba675SRob Herring       /*F0-F7*/   "","","","","power-chassis-control","","","",
277724ba675SRob Herring       /*G0-G7*/   "","","jtag-mux","","","","","",
278724ba675SRob Herring       /*H0-H7*/   "","","","","reset-button","power-button","","",
279724ba675SRob Herring       /*I0-I7*/   "","","","","","","","",
280724ba675SRob Herring       /*J0-J7*/   "","","","","","","","",
281724ba675SRob Herring       /*K0-K7*/   "","","","","","","","",
282724ba675SRob Herring       /*L0-L7*/   "","","","","","","","",
283724ba675SRob Herring       /*M0-M7*/   "","","","","","","","",
284724ba675SRob Herring       /*N0-N7*/   "","","","","","","","",
285724ba675SRob Herring       /*O0-O7*/   "","","","","","","","",
286724ba675SRob Herring       /*P0-P7*/   "","","","tck-mux","","","","",
287724ba675SRob Herring       /*Q0-Q7*/   "","","","","","","","",
288724ba675SRob Herring       /*R0-R7*/   "","","","","","","","",
289724ba675SRob Herring       /*S0-S7*/   "","","","","","","","",
290724ba675SRob Herring       /*T0-T7*/   "","","","","","","","",
291724ba675SRob Herring       /*U0-U7*/   "","nmi-button","","","","","","",
292724ba675SRob Herring       /*V0-V7*/   "","","","","power-config-full-load","","","",
293724ba675SRob Herring       /*W0-W7*/   "","","","","","","","",
294724ba675SRob Herring       /*X0-X7*/   "","","","","","","","",
295724ba675SRob Herring       /*Y0-Y7*/   "","","","","","","","",
296724ba675SRob Herring       /*Z0-Z7*/   "","","","","","","","",
297724ba675SRob Herring       /*AA0-AA7*/ "","","","","","","","",
298724ba675SRob Herring       /*AB0-AB7*/ "","","","","","","","",
299724ba675SRob Herring       /*AC0-AC7*/ "","","","","","","","";
300724ba675SRob Herring};
301724ba675SRob Herring
302724ba675SRob Herring&lpc_snoop {
303724ba675SRob Herring       status = "okay";
304724ba675SRob Herring       snoop-ports = <0x80>;
305724ba675SRob Herring};
306724ba675SRob Herring
307724ba675SRob Herring&emmc_controller {
308724ba675SRob Herring       status = "okay";
309724ba675SRob Herring};
310724ba675SRob Herring
311724ba675SRob Herring&emmc {
312724ba675SRob Herring       status = "okay";
313724ba675SRob Herring       non-removable;
314724ba675SRob Herring       max-frequency = <52000000>;
315724ba675SRob Herring       bus-width = <8>;
316724ba675SRob Herring};
317724ba675SRob Herring
318724ba675SRob Herring&vhub {
319724ba675SRob Herring       status = "okay";
320724ba675SRob Herring       aspeed,vhub-downstream-ports = <7>;
321724ba675SRob Herring       aspeed,vhub-generic-endpoints = <21>;
322724ba675SRob Herring       pinctrl-names = "default";
323724ba675SRob Herring       pinctrl-0 = <&pinctrl_usb2ad_default>;
324724ba675SRob Herring};
325724ba675SRob Herring
326724ba675SRob Herring&rtc {
327724ba675SRob Herring       status = "okay";
328724ba675SRob Herring};
329