xref: /linux/scripts/dtc/include-prefixes/arm/aspeed/aspeed-bmc-facebook-minerva.dts (revision 3daee2e4b3568f0ed88b0598df96547fcf21cb9b)
1// SPDX-License-Identifier: GPL-2.0+
2// Copyright (c) 2023 Facebook Inc.
3/dts-v1/;
4
5#include "aspeed-g6.dtsi"
6#include <dt-bindings/gpio/aspeed-gpio.h>
7#include <dt-bindings/i2c/i2c.h>
8
9/ {
10	model = "Facebook Minerva CMM";
11	compatible = "facebook,minerva-cmc", "aspeed,ast2600";
12
13	aliases {
14		serial5 = &uart5;
15		/*
16		 * PCA9548 (2-0077) provides 8 channels connecting to
17		 * 6 pcs of FCB (Fan Controller Board).
18		 */
19		i2c16 = &imux16;
20		i2c17 = &imux17;
21		i2c18 = &imux18;
22		i2c19 = &imux19;
23		i2c20 = &imux20;
24		i2c21 = &imux21;
25	};
26
27	chosen {
28		stdout-path = "serial5:57600n8";
29	};
30
31	memory@80000000 {
32		device_type = "memory";
33		reg = <0x80000000 0x80000000>;
34	};
35
36	iio-hwmon {
37		compatible = "iio-hwmon";
38		io-channels = <&adc0 0>, <&adc0 1>, <&adc0 2>, <&adc0 3>,
39			<&adc0 4>, <&adc0 5>, <&adc0 6>, <&adc0 7>,
40			<&adc1 2>;
41	};
42
43	leds {
44		compatible = "gpio-leds";
45
46		led-fan-fault {
47			label = "led-fan-fault";
48			gpios = <&leds_gpio 9 GPIO_ACTIVE_HIGH>;
49			default-state = "off";
50		};
51	};
52};
53
54&uart6 {
55	status = "okay";
56};
57
58&wdt1 {
59	status = "okay";
60	pinctrl-names = "default";
61	pinctrl-0 = <&pinctrl_wdtrst1_default>;
62	aspeed,reset-type = "soc";
63	aspeed,external-signal;
64	aspeed,ext-push-pull;
65	aspeed,ext-active-high;
66	aspeed,ext-pulse-duration = <256>;
67};
68
69&mac3 {
70	status = "okay";
71	phy-mode = "rmii";
72	pinctrl-names = "default";
73	pinctrl-0 = <&pinctrl_rmii4_default>;
74	fixed-link {
75		speed = <100>;
76		full-duplex;
77	};
78};
79
80&fmc {
81	status = "okay";
82	flash@0 {
83		status = "okay";
84		m25p,fast-read;
85		label = "bmc";
86		spi-max-frequency = <50000000>;
87#include "openbmc-flash-layout-128.dtsi"
88	};
89	flash@1 {
90		status = "okay";
91		m25p,fast-read;
92		label = "alt-bmc";
93		spi-max-frequency = <50000000>;
94	};
95};
96
97&rtc {
98	status = "okay";
99};
100
101&sgpiom0 {
102	status = "okay";
103	ngpios = <128>;
104	bus-frequency = <2000000>;
105};
106
107&i2c0 {
108	status = "okay";
109
110	power-monitor@40 {
111		compatible = "ti,ina230";
112		reg = <0x40>;
113		shunt-resistor = <1000>;
114	};
115
116	power-monitor@41 {
117		compatible = "ti,ina230";
118		reg = <0x41>;
119		shunt-resistor = <1000>;
120	};
121
122	power-monitor@67 {
123		compatible = "adi,ltc2945";
124		reg = <0x67>;
125	};
126
127	power-monitor@68 {
128		compatible = "adi,ltc2945";
129		reg = <0x68>;
130	};
131
132	leds_gpio: gpio@19 {
133		compatible = "nxp,pca9555";
134		reg = <0x19>;
135		gpio-controller;
136		#gpio-cells = <2>;
137	};
138};
139
140&i2c1 {
141	status = "okay";
142
143	temperature-sensor@4b {
144		compatible = "ti,tmp75";
145		reg = <0x4b>;
146	};
147
148	temperature-sensor@48 {
149		compatible = "ti,tmp75";
150		reg = <0x48>;
151	};
152
153	eeprom@54 {
154		compatible = "atmel,24c128";
155		reg = <0x54>;
156	};
157};
158
159&i2c2 {
160	status = "okay";
161
162	i2c-mux@77 {
163		compatible = "nxp,pca9548";
164		reg = <0x77>;
165		#address-cells = <1>;
166		#size-cells = <0>;
167		i2c-mux-idle-disconnect;
168
169		imux16: i2c@0 {
170			#address-cells = <1>;
171			#size-cells = <0>;
172			reg = <0>;
173
174			eeprom@50 {
175				compatible = "atmel,24c128";
176				reg = <0x50>;
177			};
178
179			pwm@5e{
180				compatible = "max31790";
181				reg = <0x5e>;
182				#address-cells = <1>;
183				#size-cells = <0>;
184			};
185		};
186
187		imux17: i2c@1 {
188			#address-cells = <1>;
189			#size-cells = <0>;
190			reg = <1>;
191
192			eeprom@50 {
193				compatible = "atmel,24c128";
194				reg = <0x50>;
195			};
196
197			pwm@5e{
198				compatible = "max31790";
199				reg = <0x5e>;
200				#address-cells = <1>;
201				#size-cells = <0>;
202			};
203		};
204
205		imux18: i2c@2 {
206			#address-cells = <1>;
207			#size-cells = <0>;
208			reg = <2>;
209
210			eeprom@50 {
211				compatible = "atmel,24c128";
212				reg = <0x50>;
213			};
214
215			pwm@5e{
216				compatible = "max31790";
217				reg = <0x5e>;
218				#address-cells = <1>;
219				#size-cells = <0>;
220			};
221		};
222
223		imux19: i2c@3 {
224			#address-cells = <1>;
225			#size-cells = <0>;
226			reg = <3>;
227
228			eeprom@50 {
229				compatible = "atmel,24c128";
230				reg = <0x50>;
231			};
232
233			pwm@5e{
234				compatible = "max31790";
235				reg = <0x5e>;
236				#address-cells = <1>;
237				#size-cells = <0>;
238			};
239		};
240
241		imux20: i2c@4 {
242			#address-cells = <1>;
243			#size-cells = <0>;
244			reg = <4>;
245
246			eeprom@50 {
247				compatible = "atmel,24c128";
248				reg = <0x50>;
249			};
250
251			pwm@5e{
252				compatible = "max31790";
253				reg = <0x5e>;
254				#address-cells = <1>;
255				#size-cells = <0>;
256			};
257		};
258
259		imux21: i2c@5 {
260			#address-cells = <1>;
261			#size-cells = <0>;
262			reg = <5>;
263
264			eeprom@50 {
265				compatible = "atmel,24c128";
266				reg = <0x50>;
267			};
268
269			pwm@5e{
270				compatible = "max31790";
271				reg = <0x5e>;
272				#address-cells = <1>;
273				#size-cells = <0>;
274			};
275		};
276	};
277};
278
279&i2c3 {
280	status = "okay";
281};
282
283&i2c4 {
284	status = "okay";
285};
286
287&i2c5 {
288	status = "okay";
289};
290
291&i2c6 {
292	status = "okay";
293};
294
295&i2c7 {
296	status = "okay";
297};
298
299&i2c8 {
300	status = "okay";
301};
302
303&i2c9 {
304	status = "okay";
305};
306
307&i2c10 {
308	status = "okay";
309};
310
311&i2c11 {
312	status = "okay";
313};
314
315&i2c12 {
316	status = "okay";
317};
318
319&i2c13 {
320	status = "okay";
321};
322
323&i2c14 {
324	status = "okay";
325	multi-master;
326
327	ipmb@10 {
328		compatible = "ipmb-dev";
329		reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>;
330		i2c-protocol;
331	};
332};
333
334&i2c15 {
335	status = "okay";
336
337	eeprom@50 {
338		compatible = "atmel,24c128";
339		reg = <0x50>;
340	};
341};
342
343&adc0 {
344	aspeed,int-vref-microvolt = <2500000>;
345	status = "okay";
346	pinctrl-0 = <&pinctrl_adc0_default &pinctrl_adc1_default
347		&pinctrl_adc2_default &pinctrl_adc3_default
348		&pinctrl_adc4_default &pinctrl_adc5_default
349		&pinctrl_adc6_default &pinctrl_adc7_default>;
350};
351
352&adc1 {
353	aspeed,int-vref-microvolt = <2500000>;
354	status = "okay";
355	pinctrl-0 = <&pinctrl_adc10_default>;
356};
357
358&ehci1 {
359	status = "okay";
360};
361
362&uhci {
363	status = "okay";
364};
365
366&gpio0 {
367	gpio-line-names =
368	/*A0-A7*/	"","","","","","","","",
369	/*B0-B7*/	"","","","","","","","",
370	/*C0-C7*/	"","","","","BLADE_UART_SEL2","","","",
371	/*D0-D7*/	"","","","","","","","",
372	/*E0-E7*/	"","","","","","","","",
373	/*F0-F7*/	"","","","","","","","",
374	/*G0-G7*/	"","","","","","","","",
375	/*H0-H7*/	"","","","","","","","",
376	/*I0-I7*/	"","","","","","","","",
377	/*J0-J7*/	"","","","","","","","",
378	/*K0-K7*/	"","","","","","","","",
379	/*L0-L7*/	"","","","","BLADE_UART_SEL0","","","",
380	/*M0-M7*/	"","","","","","BLADE_UART_SEL1","","",
381	/*N0-N7*/	"","","","","","","","",
382	/*O0-O7*/	"","","","","","","","",
383	/*P0-P7*/	"","","","","","","","",
384	/*Q0-Q7*/	"","","","","","","","",
385	/*R0-R7*/	"","","","","","","","",
386	/*S0-S7*/	"","","","","","","","",
387	/*T0-T7*/	"","","","","","","","",
388	/*U0-U7*/	"","","","","","","","",
389	/*V0-V7*/	"","","","","BAT_DETECT","","","",
390	/*W0-W7*/	"","","","","","","","",
391	/*X0-X7*/	"","","BLADE_UART_SEL3","","","","","",
392	/*Y0-Y7*/	"","","","","","","","",
393	/*Z0-Z7*/	"","","","","","","","";
394};
395
396&sgpiom0 {
397	gpio-line-names =
398	/*"input pin","output pin"*/
399	/*A0 - A7*/
400	"PRSNT_MTIA_BLADE0_N","PWREN_MTIA_BLADE0_EN",
401	"PRSNT_MTIA_BLADE1_N","PWREN_MTIA_BLADE1_EN",
402	"PRSNT_MTIA_BLADE2_N","PWREN_MTIA_BLADE2_EN",
403	"PRSNT_MTIA_BLADE3_N","PWREN_MTIA_BLADE3_EN",
404	"PRSNT_MTIA_BLADE4_N","PWREN_MTIA_BLADE4_EN",
405	"PRSNT_MTIA_BLADE5_N","PWREN_MTIA_BLADE5_EN",
406	"PRSNT_MTIA_BLADE6_N","PWREN_MTIA_BLADE6_EN",
407	"PRSNT_MTIA_BLADE7_N","PWREN_MTIA_BLADE7_EN",
408	/*B0 - B7*/
409	"PRSNT_MTIA_BLADE8_N","PWREN_MTIA_BLADE8_EN",
410	"PRSNT_MTIA_BLADE9_N","PWREN_MTIA_BLADE9_EN",
411	"PRSNT_MTIA_BLADE10_N","PWREN_MTIA_BLADE10_EN",
412	"PRSNT_MTIA_BLADE11_N","PWREN_MTIA_BLADE11_EN",
413	"PRSNT_MTIA_BLADE12_N","PWREN_MTIA_BLADE12_EN",
414	"PRSNT_MTIA_BLADE13_N","PWREN_MTIA_BLADE13_EN",
415	"PRSNT_MTIA_BLADE14_N","PWREN_MTIA_BLADE14_EN",
416	"PRSNT_MTIA_BLADE15_N","PWREN_MTIA_BLADE15_EN",
417	/*C0 - C7*/
418	"PRSNT_NW_BLADE0_N","PWREN_NW_BLADE0_EN",
419	"PRSNT_NW_BLADE1_N","PWREN_NW_BLADE1_EN",
420	"PRSNT_NW_BLADE2_N","PWREN_NW_BLADE2_EN",
421	"PRSNT_NW_BLADE3_N","PWREN_NW_BLADE3_EN",
422	"PRSNT_NW_BLADE4_N","PWREN_NW_BLADE4_EN",
423	"PRSNT_NW_BLADE5_N","PWREN_NW_BLADE5_EN",
424	"PRSNT_FCB_TOP_0_N","PWREN_MTIA_BLADE0_HSC_EN",
425	"PRSNT_FCB_TOP_1_N","PWREN_MTIA_BLADE1_HSC_EN",
426	/*D0 - D7*/
427	"PRSNT_FCB_MIDDLE_0_N","PWREN_MTIA_BLADE2_HSC_EN",
428	"PRSNT_FCB_MIDDLE_1_N","PWREN_MTIA_BLADE3_HSC_EN",
429	"PRSNT_FCB_BOTTOM_0_N","PWREN_MTIA_BLADE4_HSC_EN",
430	"PRSNT_FCB_BOTTOM_1_N","PWREN_MTIA_BLADE5_HSC_EN",
431	"PWRGD_MTIA_BLADE0_PWROK_L_BUF","PWREN_MTIA_BLADE6_HSC_EN",
432	"PWRGD_MTIA_BLADE1_PWROK_L_BUF","PWREN_MTIA_BLADE7_HSC_EN",
433	"PWRGD_MTIA_BLADE2_PWROK_L_BUF","PWREN_MTIA_BLADE8_HSC_EN",
434	"PWRGD_MTIA_BLADE3_PWROK_L_BUF","PWREN_MTIA_BLADE9_HSC_EN",
435	/*E0 - E7*/
436	"PWRGD_MTIA_BLADE4_PWROK_L_BUF","PWREN_MTIA_BLADE10_HSC_EN",
437	"PWRGD_MTIA_BLADE5_PWROK_L_BUF","PWREN_MTIA_BLADE11_HSC_EN",
438	"PWRGD_MTIA_BLADE6_PWROK_L_BUF","PWREN_MTIA_BLADE12_HSC_EN",
439	"PWRGD_MTIA_BLADE7_PWROK_L_BUF","PWREN_MTIA_BLADE13_HSC_EN",
440	"PWRGD_MTIA_BLADE8_PWROK_L_BUF","PWREN_MTIA_BLADE14_HSC_EN",
441	"PWRGD_MTIA_BLADE9_PWROK_L_BUF","PWREN_MTIA_BLADE15_HSC_EN",
442	"PWRGD_MTIA_BLADE10_PWROK_L_BUF","PWREN_NW_BLADE0_HSC_EN",
443	"PWRGD_MTIA_BLADE11_PWROK_L_BUF","PWREN_NW_BLADE1_HSC_EN",
444	/*F0 - F7*/
445	"PWRGD_MTIA_BLADE12_PWROK_L_BUF","PWREN_NW_BLADE2_HSC_EN",
446	"PWRGD_MTIA_BLADE13_PWROK_L_BUF","PWREN_NW_BLADE3_HSC_EN",
447	"PWRGD_MTIA_BLADE14_PWROK_L_BUF","PWREN_NW_BLADE4_HSC_EN",
448	"PWRGD_MTIA_BLADE15_PWROK_L_BUF","PWREN_NW_BLADE5_HSC_EN",
449	"PWRGD_NW_BLADE0_PWROK_L_BUF","PWREN_FCB_TOP_L_EN",
450	"PWRGD_NW_BLADE1_PWROK_L_BUF","PWREN_FCB_TOP_R_EN",
451	"PWRGD_NW_BLADE2_PWROK_L_BUF","PWREN_FCB_MIDDLE_L_EN",
452	"PWRGD_NW_BLADE3_PWROK_L_BUF","PWREN_FCB_MIDDLE_R_EN",
453	/*G0 - G7*/
454	"PWRGD_NW_BLADE4_PWROK_L_BUF","PWREN_FCB_BOTTOM_L_EN",
455	"PWRGD_NW_BLADE5_PWROK_L_BUF","PWREN_FCB_BOTTOM_R_EN",
456	"PWRGD_FCB_TOP_0_PWROK_L_BUF","FM_CMM_AC_CYCLE_N",
457	"PWRGD_FCB_TOP_1_PWROK_L_BUF","MGMT_SFP_TX_DIS",
458	"PWRGD_FCB_MIDDLE_0_PWROK_L_BUF","",
459	"PWRGD_FCB_MIDDLE_1_PWROK_L_BUF","RST_I2CRST_MTIA_BLADE0_1_N",
460	"PWRGD_FCB_BOTTOM_0_PWROK_L_BUF","RST_I2CRST_MTIA_BLADE2_3_N",
461	"PWRGD_FCB_BOTTOM_1_PWROK_L_BUF","RST_I2CRST_MTIA_BLADE4_5_N",
462	/*H0 - H7*/
463	"LEAK_DETECT_MTIA_BLADE0_N_BUF","RST_I2CRST_MTIA_BLADE6_7_N",
464	"LEAK_DETECT_MTIA_BLADE1_N_BUF","RST_I2CRST_MTIA_BLADE8_9_N",
465	"LEAK_DETECT_MTIA_BLADE2_N_BUF","RST_I2CRST_MTIA_BLADE10_11_N",
466	"LEAK_DETECT_MTIA_BLADE3_N_BUF","RST_I2CRST_MTIA_BLADE12_13_N",
467	"LEAK_DETECT_MTIA_BLADE4_N_BUF","RST_I2CRST_MTIA_BLADE14_15_N",
468	"LEAK_DETECT_MTIA_BLADE5_N_BUF","RST_I2CRST_NW_BLADE0_1_2_N",
469	"LEAK_DETECT_MTIA_BLADE6_N_BUF","RST_I2CRST_NW_BLADE3_4_5_N",
470	"LEAK_DETECT_MTIA_BLADE7_N_BUF","RST_I2CRST_FCB_N",
471	/*I0 - I7*/
472	"LEAK_DETECT_MTIA_BLADE8_N_BUF","RST_I2CRST_FCB_B_L_N",
473	"LEAK_DETECT_MTIA_BLADE9_N_BUF","RST_I2CRST_FCB_B_R_N",
474	"LEAK_DETECT_MTIA_BLADE10_N_BUF","RST_I2CRST_FCB_M_L_N",
475	"LEAK_DETECT_MTIA_BLADE11_N_BUF","RST_I2CRST_FCB_M_R_N",
476	"LEAK_DETECT_MTIA_BLADE12_N_BUF","RST_I2CRST_FCB_T_L_N",
477	"LEAK_DETECT_MTIA_BLADE13_N_BUF","RST_I2CRST_FCB_T_R_N",
478	"LEAK_DETECT_MTIA_BLADE14_N_BUF","BMC_READY",
479	"LEAK_DETECT_MTIA_BLADE15_N_BUF","wFM_88E6393X_BIN_UPDATE_EN_N",
480	/*J0 - J7*/
481	"LEAK_DETECT_NW_BLADE0_N_BUF","WATER_VALVE_CLOSED_N",
482	"LEAK_DETECT_NW_BLADE1_N_BUF","",
483	"LEAK_DETECT_NW_BLADE2_N_BUF","",
484	"LEAK_DETECT_NW_BLADE3_N_BUF","",
485	"LEAK_DETECT_NW_BLADE4_N_BUF","",
486	"LEAK_DETECT_NW_BLADE5_N_BUF","",
487	"MTIA_BLADE0_STATUS_LED","",
488	"MTIA_BLADE1_STATUS_LED","",
489	/*K0 - K7*/
490	"MTIA_BLADE2_STATUS_LED","",
491	"MTIA_BLADE3_STATUS_LED","",
492	"MTIA_BLADE4_STATUS_LED","",
493	"MTIA_BLADE5_STATUS_LED","",
494	"MTIA_BLADE6_STATUS_LED","",
495	"MTIA_BLADE7_STATUS_LED","",
496	"MTIA_BLADE8_STATUS_LED","",
497	"MTIA_BLADE9_STATUS_LED","",
498	/*L0 - L7*/
499	"MTIA_BLADE10_STATUS_LED","",
500	"MTIA_BLADE11_STATUS_LED","",
501	"MTIA_BLADE12_STATUS_LED","",
502	"MTIA_BLADE13_STATUS_LED","",
503	"MTIA_BLADE14_STATUS_LED","",
504	"MTIA_BLADE15_STATUS_LED","",
505	"NW_BLADE0_STATUS_LED","",
506	"NW_BLADE1_STATUS_LED","",
507	/*M0 - M7*/
508	"NW_BLADE2_STATUS_LED","",
509	"NW_BLADE3_STATUS_LED","",
510	"NW_BLADE4_STATUS_LED","",
511	"NW_BLADE5_STATUS_LED","",
512	"RPU_READY","",
513	"IT_GEAR_RPU_LINK_N","",
514	"IT_GEAR_LEAK","",
515	"WATER_VALVE_CLOSED_N","",
516	/*N0 - N7*/
517	"VALVE_STS0","",
518	"VALVE_STS1","",
519	"VALVE_STS2","",
520	"VALVE_STS3","",
521	"CR_TOGGLE_BOOT_BUF_N","",
522	"CMM_LC_RDY_LED_N","",
523	"CMM_LC_UNRDY_LED_N","",
524	"CMM_CABLE_CARTRIDGE_PRSNT_BOT_N","",
525	/*O0 - O7*/
526	"CMM_CABLE_CARTRIDGE_PRSNT_TOP_N","",
527	"BOT_BCB_CABLE_PRSNT_N","",
528	"TOP_BCB_CABLE_PRSNT_N","",
529	"CHASSIS0_LEAK_Q_N","",
530	"CHASSIS1_LEAK_Q_N","",
531	"LEAK0_DETECT","",
532	"LEAK1_DETECT","",
533	"MGMT_SFP_PRSNT_N","",
534	/*P0 - P7*/
535	"MGMT_SFP_TX_FAULT","",
536	"MGMT_SFP_RX_LOS","",
537	"","",
538	"","",
539	"","",
540	"","",
541	"","",
542	"","";
543};
544