1// SPDX-License-Identifier: GPL-2.0-or-later
2// Copyright 2022 Facebook Inc.
3
4/dts-v1/;
5#include "aspeed-g6.dtsi"
6#include <dt-bindings/gpio/aspeed-gpio.h>
7#include <dt-bindings/leds/leds-pca955x.h>
8#include <dt-bindings/i2c/i2c.h>
9
10/ {
11	model = "Facebook Greatlakes BMC";
12	compatible = "facebook,greatlakes-bmc", "aspeed,ast2600";
13
14	aliases {
15		serial4 = &uart5;
16	};
17
18	memory@80000000 {
19		device_type = "memory";
20		reg = <0x80000000 0x80000000>;
21	};
22
23	iio-hwmon {
24		compatible = "iio-hwmon";
25		io-channels = <&adc0 0>, <&adc0 1>, <&adc0 2>, <&adc0 3>,
26				<&adc0 4>, <&adc0 5>, <&adc0 6>, <&adc0 7>,
27				<&adc1 0>, <&adc1 2>, <&adc1 3>, <&adc1 4>,
28				<&adc1 5>, <&adc1 6>;
29	};
30};
31
32&uart1 {
33	status = "okay";
34};
35
36&uart2 {
37	status = "okay";
38};
39
40&uart3 {
41	status = "okay";
42};
43
44&uart4 {
45	status = "okay";
46};
47
48&uart5 {
49	status = "okay";
50};
51
52&wdt1 {
53	status = "okay";
54	pinctrl-names = "default";
55	pinctrl-0 = <&pinctrl_wdtrst1_default>;
56	aspeed,reset-type = "soc";
57	aspeed,external-signal;
58	aspeed,ext-push-pull;
59	aspeed,ext-active-high;
60	aspeed,ext-pulse-duration = <256>;
61};
62
63&mac3 {
64	status = "okay";
65	pinctrl-names = "default";
66	pinctrl-0 = <&pinctrl_rmii4_default>;
67	no-hw-checksum;
68	use-ncsi;
69	mlx,multi-host;
70	ncsi-ctrl,start-redo-probe;
71	ncsi-ctrl,no-channel-monitor;
72	ncsi-package = <1>;
73	ncsi-channel = <1>;
74	ncsi-rexmit = <1>;
75	ncsi-timeout = <2>;
76};
77
78&rtc {
79	status = "okay";
80};
81
82&fmc {
83	status = "okay";
84	flash@0 {
85		status = "okay";
86		m25p,fast-read;
87		label = "bmc";
88		spi-rx-bus-width = <4>;
89		spi-max-frequency = <50000000>;
90#include "openbmc-flash-layout-64.dtsi"
91	};
92	flash@1 {
93		status = "okay";
94		m25p,fast-read;
95		label = "bmc2";
96		spi-rx-bus-width = <4>;
97		spi-max-frequency = <50000000>;
98	};
99};
100
101&i2c0 {
102	status = "okay";
103	multi-master;
104	ipmb@10 {
105		compatible = "ipmb-dev";
106		reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>;
107		i2c-protocol;
108	};
109};
110
111&i2c1 {
112	status = "okay";
113	multi-master;
114	ipmb@10 {
115		compatible = "ipmb-dev";
116		reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>;
117		i2c-protocol;
118	};
119};
120
121&i2c2 {
122	status = "okay";
123	multi-master;
124	ipmb@10 {
125		compatible = "ipmb-dev";
126		reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>;
127		i2c-protocol;
128	};
129};
130
131&i2c3 {
132	status = "okay";
133	multi-master;
134	ipmb@10 {
135		compatible = "ipmb-dev";
136		reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>;
137		i2c-protocol;
138	};
139};
140
141&i2c4 {
142	status = "okay";
143};
144
145&i2c5 {
146	status = "okay";
147};
148
149&i2c6 {
150	status = "okay";
151};
152
153&i2c7 {
154	status = "okay";
155};
156
157&i2c8 {
158	status = "okay";
159	mctp-controller;
160	temperature-sensor@1f {
161		compatible = "ti,tmp421";
162		reg = <0x1f>;
163	};
164	// NIC EEPROM
165	eeprom@50 {
166		compatible = "st,24c32";
167		reg = <0x50>;
168	};
169	mctp@10 {
170		compatible = "mctp-i2c-controller";
171		reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>;
172	};
173};
174
175&i2c9 {
176	status = "okay";
177	multi-master;
178	ipmb@10 {
179		compatible = "ipmb-dev";
180		reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>;
181		i2c-protocol;
182	};
183};
184
185&i2c10 {
186	status = "okay";
187};
188
189&i2c11 {
190	status = "okay";
191	eeprom@51 {
192		compatible = "atmel,24c128";
193		reg = <0x51>;
194	};
195	eeprom@54 {
196		compatible = "atmel,24c128";
197		reg = <0x54>;
198	};
199};
200
201&i2c12 {
202	status = "okay";
203	temperature-sensor@4f {
204		compatible = "lm75";
205		reg = <0x4f>;
206	};
207};
208
209&i2c13 {
210	status = "okay";
211};
212
213&adc0 {
214	ref_voltage = <2500>;
215	status = "okay";
216	pinctrl-0 = <&pinctrl_adc0_default &pinctrl_adc1_default
217			&pinctrl_adc2_default &pinctrl_adc3_default
218			&pinctrl_adc4_default &pinctrl_adc5_default
219			&pinctrl_adc6_default &pinctrl_adc7_default>;
220};
221
222&adc1 {
223	ref_voltage = <2500>;
224	status = "okay";
225	pinctrl-0 = <&pinctrl_adc8_default &pinctrl_adc10_default
226			&pinctrl_adc11_default &pinctrl_adc12_default
227			&pinctrl_adc13_default &pinctrl_adc14_default>;
228};
229
230
231&ehci0 {
232	status = "okay";
233};
234
235&ehci1 {
236	status = "okay";
237};
238
239&uhci {
240	status = "okay";
241};
242
243&gpio0 {
244	pinctrl-names = "default";
245	pinctrl-0 = <&pinctrl_gpiu1_default &pinctrl_gpiu7_default>;
246
247	gpio-line-names =
248	/*A0-A7*/ "","","","","","","","",
249	/*B0-B7*/ "power-bmc-nic","presence-ocp-debug",
250		  "power-bmc-slot1","power-bmc-slot2",
251		  "power-bmc-slot3","power-bmc-slot4","","",
252	/*C0-C7*/ "presence-ocp-nic","","","reset-cause-nic-primary",
253		  "reset-cause-nic-secondary","","","",
254	/*D0-D7*/ "","","","","","","","",
255	/*E0-E7*/ "","","","","","","","",
256	/*F0-F7*/ "slot1-bmc-reset-button","slot2-bmc-reset-button",
257		  "slot3-bmc-reset-button","slot4-bmc-reset-button",
258		  "","","","presence-emmc",
259	/*G0-G7*/ "","","","","","","","",
260	/*H0-H7*/ "","","","",
261		  "presence-mb-slot1","presence-mb-slot2",
262		  "presence-mb-slot3","presence-mb-slot4",
263	/*I0-I7*/ "","","","","","","bb-bmc-button","",
264	/*J0-J7*/ "","","","","","","","",
265	/*K0-K7*/ "","","","","","","","",
266	/*L0-L7*/ "","","","","","","","",
267	/*M0-M7*/ "","power-nic-bmc-enable","","usb-bmc-enable","","reset-cause-usb-hub","","",
268	/*N0-N7*/ "","","","","bmc-ready","","","",
269	/*O0-O7*/ "","","","","","","fan0-bmc-cpld-enable","fan1-bmc-cpld-enable",
270	/*P0-P7*/ "fan2-bmc-cpld-enable","fan3-bmc-cpld-enable",
271		  "reset-cause-pcie-slot1","reset-cause-pcie-slot2",
272		  "reset-cause-pcie-slot3","reset-cause-pcie-slot4","","",
273	/*Q0-Q7*/ "","","","","","","","",
274	/*R0-R7*/ "","","","","","","","",
275	/*S0-S7*/ "","","power-p5v-usb","presence-bmc-tpm","","","","",
276	/*T0-T7*/ "","","","","","","","",
277	/*U0-U7*/ "","","","","","","","GND",
278	/*V0-V7*/ "bmc-slot1-ac-button","bmc-slot2-ac-button",
279		  "bmc-slot3-ac-button","bmc-slot4-ac-button",
280		  "","","","",
281	/*W0-W7*/ "","","","","","","","",
282	/*X0-X7*/ "","","","","","","","",
283	/*Y0-Y7*/ "","","","reset-cause-emmc","","","","",
284	/*Z0-Z7*/ "","","","","","","","";
285};
286
287&gpio1 {
288	gpio-line-names =
289	/*18A0-18A7*/ "","","","","","","","",
290	/*18B0-18B7*/ "","","","","","","","",
291	/*18C0-18C7*/ "","","","","","","","",
292	/*18D0-18D7*/ "","","","","","","","",
293	/*18E0-18E3*/ "","","","","","","","";
294};
295