1724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0-or-later
2724ba675SRob Herring// Copyright 2022 Facebook Inc.
3724ba675SRob Herring
4724ba675SRob Herring/dts-v1/;
5724ba675SRob Herring#include "aspeed-g6.dtsi"
6724ba675SRob Herring#include <dt-bindings/gpio/aspeed-gpio.h>
7724ba675SRob Herring#include <dt-bindings/leds/leds-pca955x.h>
8724ba675SRob Herring#include <dt-bindings/i2c/i2c.h>
9724ba675SRob Herring
10724ba675SRob Herring/ {
11724ba675SRob Herring	model = "Facebook Greatlakes BMC";
12724ba675SRob Herring	compatible = "facebook,greatlakes-bmc", "aspeed,ast2600";
13724ba675SRob Herring
14724ba675SRob Herring	aliases {
15724ba675SRob Herring		serial4 = &uart5;
16724ba675SRob Herring	};
17724ba675SRob Herring
18724ba675SRob Herring	memory@80000000 {
19724ba675SRob Herring		device_type = "memory";
20724ba675SRob Herring		reg = <0x80000000 0x80000000>;
21724ba675SRob Herring	};
22724ba675SRob Herring
23724ba675SRob Herring	iio-hwmon {
24724ba675SRob Herring		compatible = "iio-hwmon";
25724ba675SRob Herring		io-channels = <&adc0 0>, <&adc0 1>, <&adc0 2>, <&adc0 3>,
26724ba675SRob Herring				<&adc0 4>, <&adc0 5>, <&adc0 6>, <&adc0 7>,
27724ba675SRob Herring				<&adc1 0>, <&adc1 2>, <&adc1 3>, <&adc1 4>,
28724ba675SRob Herring				<&adc1 5>, <&adc1 6>;
29724ba675SRob Herring	};
30724ba675SRob Herring};
31724ba675SRob Herring
32724ba675SRob Herring&uart1 {
33724ba675SRob Herring	status = "okay";
34724ba675SRob Herring};
35724ba675SRob Herring
36724ba675SRob Herring&uart2 {
37724ba675SRob Herring	status = "okay";
38724ba675SRob Herring};
39724ba675SRob Herring
40724ba675SRob Herring&uart3 {
41724ba675SRob Herring	status = "okay";
42724ba675SRob Herring};
43724ba675SRob Herring
44724ba675SRob Herring&uart4 {
45724ba675SRob Herring	status = "okay";
46724ba675SRob Herring};
47724ba675SRob Herring
48724ba675SRob Herring&uart5 {
49724ba675SRob Herring	status = "okay";
50724ba675SRob Herring};
51724ba675SRob Herring
52724ba675SRob Herring&wdt1 {
53724ba675SRob Herring	status = "okay";
54724ba675SRob Herring	pinctrl-names = "default";
55724ba675SRob Herring	pinctrl-0 = <&pinctrl_wdtrst1_default>;
56724ba675SRob Herring	aspeed,reset-type = "soc";
57724ba675SRob Herring	aspeed,external-signal;
58724ba675SRob Herring	aspeed,ext-push-pull;
59724ba675SRob Herring	aspeed,ext-active-high;
60724ba675SRob Herring	aspeed,ext-pulse-duration = <256>;
61724ba675SRob Herring};
62724ba675SRob Herring
63724ba675SRob Herring&mac3 {
64724ba675SRob Herring	status = "okay";
65724ba675SRob Herring	pinctrl-names = "default";
66724ba675SRob Herring	pinctrl-0 = <&pinctrl_rmii4_default>;
67724ba675SRob Herring	no-hw-checksum;
68724ba675SRob Herring	use-ncsi;
6943638d21SKrzysztof Kozlowski	mellanox,multi-host;
70724ba675SRob Herring	ncsi-ctrl,start-redo-probe;
71724ba675SRob Herring	ncsi-ctrl,no-channel-monitor;
72724ba675SRob Herring	ncsi-package = <1>;
73724ba675SRob Herring	ncsi-channel = <1>;
74724ba675SRob Herring	ncsi-rexmit = <1>;
75724ba675SRob Herring	ncsi-timeout = <2>;
76724ba675SRob Herring};
77724ba675SRob Herring
78724ba675SRob Herring&rtc {
79724ba675SRob Herring	status = "okay";
80724ba675SRob Herring};
81724ba675SRob Herring
82724ba675SRob Herring&fmc {
83724ba675SRob Herring	status = "okay";
84724ba675SRob Herring	flash@0 {
85724ba675SRob Herring		status = "okay";
86724ba675SRob Herring		m25p,fast-read;
87724ba675SRob Herring		label = "bmc";
88724ba675SRob Herring		spi-rx-bus-width = <4>;
89724ba675SRob Herring		spi-max-frequency = <50000000>;
90724ba675SRob Herring#include "openbmc-flash-layout-64.dtsi"
91724ba675SRob Herring	};
92724ba675SRob Herring	flash@1 {
93724ba675SRob Herring		status = "okay";
94724ba675SRob Herring		m25p,fast-read;
95724ba675SRob Herring		label = "bmc2";
96724ba675SRob Herring		spi-rx-bus-width = <4>;
97724ba675SRob Herring		spi-max-frequency = <50000000>;
98724ba675SRob Herring	};
99724ba675SRob Herring};
100724ba675SRob Herring
101724ba675SRob Herring&i2c0 {
102724ba675SRob Herring	status = "okay";
103724ba675SRob Herring	multi-master;
104724ba675SRob Herring	ipmb@10 {
105724ba675SRob Herring		compatible = "ipmb-dev";
106724ba675SRob Herring		reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>;
107724ba675SRob Herring		i2c-protocol;
108724ba675SRob Herring	};
109724ba675SRob Herring};
110724ba675SRob Herring
111724ba675SRob Herring&i2c1 {
112724ba675SRob Herring	status = "okay";
113724ba675SRob Herring	multi-master;
114724ba675SRob Herring	ipmb@10 {
115724ba675SRob Herring		compatible = "ipmb-dev";
116724ba675SRob Herring		reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>;
117724ba675SRob Herring		i2c-protocol;
118724ba675SRob Herring	};
119724ba675SRob Herring};
120724ba675SRob Herring
121724ba675SRob Herring&i2c2 {
122724ba675SRob Herring	status = "okay";
123724ba675SRob Herring	multi-master;
124724ba675SRob Herring	ipmb@10 {
125724ba675SRob Herring		compatible = "ipmb-dev";
126724ba675SRob Herring		reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>;
127724ba675SRob Herring		i2c-protocol;
128724ba675SRob Herring	};
129724ba675SRob Herring};
130724ba675SRob Herring
131724ba675SRob Herring&i2c3 {
132724ba675SRob Herring	status = "okay";
133724ba675SRob Herring	multi-master;
134724ba675SRob Herring	ipmb@10 {
135724ba675SRob Herring		compatible = "ipmb-dev";
136724ba675SRob Herring		reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>;
137724ba675SRob Herring		i2c-protocol;
138724ba675SRob Herring	};
139724ba675SRob Herring};
140724ba675SRob Herring
141724ba675SRob Herring&i2c4 {
142724ba675SRob Herring	status = "okay";
143724ba675SRob Herring};
144724ba675SRob Herring
145724ba675SRob Herring&i2c5 {
146724ba675SRob Herring	status = "okay";
147724ba675SRob Herring};
148724ba675SRob Herring
149724ba675SRob Herring&i2c6 {
150724ba675SRob Herring	status = "okay";
151724ba675SRob Herring};
152724ba675SRob Herring
153724ba675SRob Herring&i2c7 {
154724ba675SRob Herring	status = "okay";
155724ba675SRob Herring};
156724ba675SRob Herring
157724ba675SRob Herring&i2c8 {
158724ba675SRob Herring	status = "okay";
159724ba675SRob Herring	mctp-controller;
160724ba675SRob Herring	temperature-sensor@1f {
161724ba675SRob Herring		compatible = "ti,tmp421";
162724ba675SRob Herring		reg = <0x1f>;
163724ba675SRob Herring	};
164724ba675SRob Herring	// NIC EEPROM
165724ba675SRob Herring	eeprom@50 {
166724ba675SRob Herring		compatible = "st,24c32";
167724ba675SRob Herring		reg = <0x50>;
168724ba675SRob Herring	};
169724ba675SRob Herring	mctp@10 {
170724ba675SRob Herring		compatible = "mctp-i2c-controller";
171724ba675SRob Herring		reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>;
172724ba675SRob Herring	};
173724ba675SRob Herring};
174724ba675SRob Herring
175724ba675SRob Herring&i2c9 {
176724ba675SRob Herring	status = "okay";
177724ba675SRob Herring	multi-master;
178724ba675SRob Herring	ipmb@10 {
179724ba675SRob Herring		compatible = "ipmb-dev";
180724ba675SRob Herring		reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>;
181724ba675SRob Herring		i2c-protocol;
182724ba675SRob Herring	};
183724ba675SRob Herring};
184724ba675SRob Herring
185724ba675SRob Herring&i2c10 {
186724ba675SRob Herring	status = "okay";
187724ba675SRob Herring};
188724ba675SRob Herring
189724ba675SRob Herring&i2c11 {
190724ba675SRob Herring	status = "okay";
191724ba675SRob Herring	eeprom@51 {
192724ba675SRob Herring		compatible = "atmel,24c128";
193724ba675SRob Herring		reg = <0x51>;
194724ba675SRob Herring	};
195724ba675SRob Herring	eeprom@54 {
196724ba675SRob Herring		compatible = "atmel,24c128";
197724ba675SRob Herring		reg = <0x54>;
198724ba675SRob Herring	};
199724ba675SRob Herring};
200724ba675SRob Herring
201724ba675SRob Herring&i2c12 {
202724ba675SRob Herring	status = "okay";
203724ba675SRob Herring	temperature-sensor@4f {
204724ba675SRob Herring		compatible = "lm75";
205724ba675SRob Herring		reg = <0x4f>;
206724ba675SRob Herring	};
207724ba675SRob Herring};
208724ba675SRob Herring
209724ba675SRob Herring&i2c13 {
210724ba675SRob Herring	status = "okay";
211724ba675SRob Herring};
212724ba675SRob Herring
213724ba675SRob Herring&adc0 {
214724ba675SRob Herring	status = "okay";
215724ba675SRob Herring	pinctrl-0 = <&pinctrl_adc0_default &pinctrl_adc1_default
216724ba675SRob Herring			&pinctrl_adc2_default &pinctrl_adc3_default
217724ba675SRob Herring			&pinctrl_adc4_default &pinctrl_adc5_default
218724ba675SRob Herring			&pinctrl_adc6_default &pinctrl_adc7_default>;
219724ba675SRob Herring};
220724ba675SRob Herring
221724ba675SRob Herring&adc1 {
222724ba675SRob Herring	status = "okay";
223724ba675SRob Herring	pinctrl-0 = <&pinctrl_adc8_default &pinctrl_adc10_default
224724ba675SRob Herring			&pinctrl_adc11_default &pinctrl_adc12_default
225724ba675SRob Herring			&pinctrl_adc13_default &pinctrl_adc14_default>;
226724ba675SRob Herring};
227724ba675SRob Herring
228724ba675SRob Herring
229724ba675SRob Herring&ehci0 {
230724ba675SRob Herring	status = "okay";
231724ba675SRob Herring};
232724ba675SRob Herring
233724ba675SRob Herring&ehci1 {
234724ba675SRob Herring	status = "okay";
235724ba675SRob Herring};
236724ba675SRob Herring
237724ba675SRob Herring&uhci {
238724ba675SRob Herring	status = "okay";
239724ba675SRob Herring};
240724ba675SRob Herring
241724ba675SRob Herring&gpio0 {
242724ba675SRob Herring	pinctrl-names = "default";
243724ba675SRob Herring	pinctrl-0 = <&pinctrl_gpiu1_default &pinctrl_gpiu7_default>;
244724ba675SRob Herring
245724ba675SRob Herring	gpio-line-names =
246724ba675SRob Herring	/*A0-A7*/ "","","","","","","","",
247724ba675SRob Herring	/*B0-B7*/ "power-bmc-nic","presence-ocp-debug",
248724ba675SRob Herring		  "power-bmc-slot1","power-bmc-slot2",
249724ba675SRob Herring		  "power-bmc-slot3","power-bmc-slot4","","",
250724ba675SRob Herring	/*C0-C7*/ "presence-ocp-nic","","","reset-cause-nic-primary",
251724ba675SRob Herring		  "reset-cause-nic-secondary","","","",
252724ba675SRob Herring	/*D0-D7*/ "","","","","","","","",
253724ba675SRob Herring	/*E0-E7*/ "","","","","","","","",
254724ba675SRob Herring	/*F0-F7*/ "slot1-bmc-reset-button","slot2-bmc-reset-button",
255724ba675SRob Herring		  "slot3-bmc-reset-button","slot4-bmc-reset-button",
256724ba675SRob Herring		  "","","","presence-emmc",
257724ba675SRob Herring	/*G0-G7*/ "","","","","","","","",
258724ba675SRob Herring	/*H0-H7*/ "","","","",
259724ba675SRob Herring		  "presence-mb-slot1","presence-mb-slot2",
260724ba675SRob Herring		  "presence-mb-slot3","presence-mb-slot4",
261724ba675SRob Herring	/*I0-I7*/ "","","","","","","bb-bmc-button","",
262724ba675SRob Herring	/*J0-J7*/ "","","","","","","","",
263724ba675SRob Herring	/*K0-K7*/ "","","","","","","","",
264724ba675SRob Herring	/*L0-L7*/ "","","","","","","","",
265724ba675SRob Herring	/*M0-M7*/ "","power-nic-bmc-enable","","usb-bmc-enable","","reset-cause-usb-hub","","",
266724ba675SRob Herring	/*N0-N7*/ "","","","","bmc-ready","","","",
267724ba675SRob Herring	/*O0-O7*/ "","","","","","","fan0-bmc-cpld-enable","fan1-bmc-cpld-enable",
268724ba675SRob Herring	/*P0-P7*/ "fan2-bmc-cpld-enable","fan3-bmc-cpld-enable",
269724ba675SRob Herring		  "reset-cause-pcie-slot1","reset-cause-pcie-slot2",
270724ba675SRob Herring		  "reset-cause-pcie-slot3","reset-cause-pcie-slot4","","",
271724ba675SRob Herring	/*Q0-Q7*/ "","","","","","","","",
272724ba675SRob Herring	/*R0-R7*/ "","","","","","","","",
273724ba675SRob Herring	/*S0-S7*/ "","","power-p5v-usb","presence-bmc-tpm","","","","",
274724ba675SRob Herring	/*T0-T7*/ "","","","","","","","",
275724ba675SRob Herring	/*U0-U7*/ "","","","","","","","GND",
276724ba675SRob Herring	/*V0-V7*/ "bmc-slot1-ac-button","bmc-slot2-ac-button",
277724ba675SRob Herring		  "bmc-slot3-ac-button","bmc-slot4-ac-button",
278724ba675SRob Herring		  "","","","",
279724ba675SRob Herring	/*W0-W7*/ "","","","","","","","",
280724ba675SRob Herring	/*X0-X7*/ "","","","","","","","",
281724ba675SRob Herring	/*Y0-Y7*/ "","","","reset-cause-emmc","","","","",
282724ba675SRob Herring	/*Z0-Z7*/ "","","","","","","","";
283724ba675SRob Herring};
284724ba675SRob Herring
285724ba675SRob Herring&gpio1 {
286724ba675SRob Herring	gpio-line-names =
287724ba675SRob Herring	/*18A0-18A7*/ "","","","","","","","",
288724ba675SRob Herring	/*18B0-18B7*/ "","","","","","","","",
289724ba675SRob Herring	/*18C0-18C7*/ "","","","","","","","",
290724ba675SRob Herring	/*18D0-18D7*/ "","","","","","","","",
291724ba675SRob Herring	/*18E0-18E3*/ "","","","","","","","";
292724ba675SRob Herring};
293