xref: /linux/arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-harma.dts (revision c532de5a67a70f8533d495f8f2aaa9a0491c3ad0)
1// SPDX-License-Identifier: GPL-2.0-or-later
2// Copyright 2023 Facebook Inc.
3
4/dts-v1/;
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 Harma";
11	compatible = "facebook,harma-bmc", "aspeed,ast2600";
12
13	aliases {
14		serial0 = &uart1;
15		serial1 = &uart2;
16		serial2 = &uart4;
17		serial4 = &uart5;
18
19		i2c20 = &imux20;
20		i2c21 = &imux21;
21		i2c22 = &imux22;
22		i2c23 = &imux23;
23		i2c28 = &imux28;
24		i2c29 = &imux29;
25		i2c30 = &imux30;
26		i2c31 = &imux31;
27
28		spi1 = &spi_gpio;
29	};
30
31	chosen {
32		stdout-path = &uart5;
33	};
34
35	memory@80000000 {
36		device_type = "memory";
37		reg = <0x80000000 0x80000000>;
38	};
39
40	iio-hwmon {
41		compatible = "iio-hwmon";
42		io-channels = <&adc0 0>, <&adc0 1>, <&adc0 2>, <&adc0 3>,
43			      <&adc0 4>, <&adc0 5>, <&adc0 6>, <&adc0 7>,
44			      <&adc1 2>;
45	};
46
47	leds {
48		compatible = "gpio-leds";
49
50		led-0 {
51			label = "bmc_heartbeat_amber";
52			gpios = <&gpio0 ASPEED_GPIO(P, 7) GPIO_ACTIVE_LOW>;
53			linux,default-trigger = "heartbeat";
54		};
55
56		led-1 {
57			label = "fp_id_amber";
58			default-state = "off";
59			gpios = <&gpio0 13 GPIO_ACTIVE_HIGH>;
60		};
61
62		led-2 {
63			label = "power_blue";
64			default-state = "off";
65			gpios = <&gpio0 124 GPIO_ACTIVE_HIGH>;
66		};
67	};
68
69	spi_gpio: spi {
70		status = "okay";
71		compatible = "spi-gpio";
72		#address-cells = <1>;
73		#size-cells = <0>;
74
75		sck-gpios = <&gpio0 ASPEED_GPIO(Z, 3) GPIO_ACTIVE_HIGH>;
76		mosi-gpios = <&gpio0 ASPEED_GPIO(Z, 4) GPIO_ACTIVE_HIGH>;
77		miso-gpios = <&gpio0 ASPEED_GPIO(Z, 5) GPIO_ACTIVE_HIGH>;
78		num-chipselects = <1>;
79		cs-gpios = <&gpio0 ASPEED_GPIO(Z, 0) GPIO_ACTIVE_LOW>;
80
81		tpm@0 {
82			compatible = "infineon,slb9670", "tcg,tpm_tis-spi";
83			spi-max-frequency = <33000000>;
84			reg = <0>;
85		};
86	};
87};
88
89// HOST BIOS Debug
90&uart1 {
91	status = "okay";
92};
93
94// SOL Host Console
95&uart2 {
96	status = "okay";
97	pinctrl-0 = <>;
98};
99
100// SOL BMC Console
101&uart4 {
102	status = "okay";
103	pinctrl-0 = <>;
104};
105
106// BMC Debug Console
107&uart5 {
108	status = "okay";
109};
110
111// MTIA
112&uart6 {
113	status = "okay";
114};
115
116&uart_routing {
117	status = "okay";
118};
119
120&wdt1 {
121	status = "okay";
122	pinctrl-names = "default";
123	pinctrl-0 = <&pinctrl_wdtrst1_default>;
124	aspeed,reset-type = "soc";
125	aspeed,external-signal;
126	aspeed,ext-push-pull;
127	aspeed,ext-active-high;
128	aspeed,ext-pulse-duration = <256>;
129};
130
131&mac3 {
132	status = "okay";
133	pinctrl-names = "default";
134	pinctrl-0 = <&pinctrl_rmii4_default>;
135	use-ncsi;
136};
137
138&rtc {
139	status = "okay";
140};
141
142&fmc {
143	status = "okay";
144
145	flash@0 {
146		status = "okay";
147		m25p,fast-read;
148		label = "bmc";
149		spi-max-frequency = <50000000>;
150#include "openbmc-flash-layout-128.dtsi"
151	};
152
153	flash@1 {
154		status = "okay";
155		m25p,fast-read;
156		label = "alt-bmc";
157		spi-max-frequency = <50000000>;
158	};
159};
160
161// BIOS Flash
162&spi2 {
163	status = "okay";
164	pinctrl-names = "default";
165	pinctrl-0 = <&pinctrl_spi2_default>;
166
167	flash@0 {
168		status = "okay";
169		m25p,fast-read;
170		label = "pnor";
171		spi-max-frequency = <12000000>;
172		spi-tx-bus-width = <2>;
173		spi-rx-bus-width = <2>;
174	};
175};
176
177&kcs2 {
178	status = "okay";
179	aspeed,lpc-io-reg = <0xca8>;
180};
181
182&kcs3 {
183	status = "okay";
184	aspeed,lpc-io-reg = <0xca2>;
185};
186
187&i2c0 {
188	status = "okay";
189
190	pwm@5e{
191		compatible = "max31790";
192		reg = <0x5e>;
193		#address-cells = <1>;
194		#size-cells = <0>;
195	};
196
197	power-sensor@40 {
198		compatible = "ti,ina238";
199		reg = <0x40>;
200		shunt-resistor = <1000>;
201	};
202
203	power-sensor@41 {
204		compatible = "ti,ina238";
205		reg = <0x41>;
206		shunt-resistor = <1000>;
207	};
208
209	power-sensor@44 {
210		compatible = "ti,ina238";
211		reg = <0x44>;
212		shunt-resistor = <1000>;
213	};
214
215	power-sensor@45 {
216		compatible = "ti,ina238";
217		reg = <0x45>;
218		shunt-resistor = <1000>;
219	};
220
221	temperature-sensor@4b {
222		compatible = "ti,tmp75";
223		reg = <0x4b>;
224	};
225};
226
227&i2c1 {
228	status = "okay";
229
230	temperature-sensor@4b {
231		compatible = "ti,tmp75";
232		reg = <0x4b>;
233	};
234
235	// MB NIC FRU
236	eeprom@50 {
237		compatible = "atmel,24c64";
238		reg = <0x50>;
239	};
240};
241
242&i2c2 {
243	status = "okay";
244
245	pwm@5e{
246		compatible = "max31790";
247		reg = <0x5e>;
248		#address-cells = <1>;
249		#size-cells = <0>;
250	};
251
252	power-sensor@40 {
253		compatible = "ti,ina238";
254		reg = <0x40>;
255		shunt-resistor = <1000>;
256	};
257
258	power-sensor@41 {
259		compatible = "ti,ina238";
260		reg = <0x41>;
261		shunt-resistor = <1000>;
262	};
263
264	power-sensor@44 {
265		compatible = "ti,ina238";
266		reg = <0x44>;
267		shunt-resistor = <1000>;
268	};
269
270	power-sensor@45 {
271		compatible = "ti,ina238";
272		reg = <0x45>;
273		shunt-resistor = <1000>;
274	};
275
276	temperature-sensor@4b {
277		compatible = "ti,tmp75";
278		reg = <0x4b>;
279	};
280};
281
282&i2c3 {
283	status = "okay";
284
285	i2c-mux@70 {
286		compatible = "nxp,pca9543";
287		reg = <0x70>;
288		#address-cells = <1>;
289		#size-cells = <0>;
290
291		imux20: i2c@0 {
292			#address-cells = <1>;
293			#size-cells = <0>;
294			reg = <0>;
295			//Retimer Flash
296			eeprom@50 {
297				compatible = "atmel,24c2048";
298				reg = <0x50>;
299				pagesize = <128>;
300			};
301		};
302		imux21: i2c@1 {
303			#address-cells = <1>;
304			#size-cells = <0>;
305			reg = <1>;
306			retimer@24 {
307				compatible = "asteralabs,pt5161l";
308				reg = <0x24>;
309			};
310		};
311	};
312};
313
314&i2c4 {
315	status = "okay";
316	// PDB FRU
317	eeprom@52 {
318		compatible = "atmel,24c64";
319		reg = <0x52>;
320	};
321
322	power-monitor@69 {
323		compatible = "pmbus";
324		reg = <0x69>;
325	};
326
327	temperature-sensor@49 {
328		compatible = "ti,tmp75";
329		reg = <0x49>;
330	};
331
332	power-monitor@44 {
333		compatible = "lltc,ltc4287";
334		reg = <0x44>;
335		shunt-resistor-micro-ohms = <250>;
336	};
337
338	power-monitor@40 {
339		compatible = "infineon,xdp710";
340		reg = <0x40>;
341	};
342};
343
344&i2c5 {
345	status = "okay";
346};
347
348&i2c6 {
349	status = "okay";
350
351	i2c-mux@70 {
352		compatible = "nxp,pca9543";
353		reg = <0x70>;
354		#address-cells = <1>;
355		#size-cells = <0>;
356
357		imux22: i2c@0 {
358			#address-cells = <1>;
359			#size-cells = <0>;
360			reg = <0>;
361		};
362		imux23: i2c@1 {
363			#address-cells = <1>;
364			#size-cells = <0>;
365			reg = <1>;
366		};
367	};
368};
369
370&i2c7 {
371	status = "okay";
372};
373
374&i2c8 {
375	status = "okay";
376};
377
378&i2c9 {
379	status = "okay";
380
381	mctp-controller;
382	multi-master;
383
384	mctp@10 {
385		compatible = "mctp-i2c-controller";
386		reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>;
387	};
388
389	gpio@30 {
390		compatible = "nxp,pca9555";
391		reg = <0x30>;
392		gpio-controller;
393		#gpio-cells = <2>;
394	};
395	gpio@31 {
396		compatible = "nxp,pca9555";
397		reg = <0x31>;
398		gpio-controller;
399		#gpio-cells = <2>;
400
401		gpio-line-names =
402		"","","","",
403		"","","presence-cmm","",
404		"","","","",
405		"","","","";
406	};
407
408	// PTTV FRU
409	eeprom@52 {
410		compatible = "atmel,24c64";
411		reg = <0x52>;
412	};
413};
414
415&i2c11 {
416	status = "okay";
417
418	gpio@30 {
419		compatible = "nxp,pca9555";
420		reg = <0x30>;
421		gpio-controller;
422		#gpio-cells = <2>;
423	};
424	gpio@31 {
425		compatible = "nxp,pca9555";
426		reg = <0x31>;
427		gpio-controller;
428		#gpio-cells = <2>;
429
430		gpio-line-names =
431		"","","","",
432		"","","presence-cmm","",
433		"","","","",
434		"","","","";
435	};
436
437	// Aegis FRU
438	eeprom@52 {
439		compatible = "atmel,24c64";
440		reg = <0x52>;
441	};
442};
443
444&i2c12 {
445	status = "okay";
446	retimer@24 {
447		compatible = "asteralabs,pt5161l";
448		reg = <0x24>;
449	};
450};
451
452&i2c13 {
453	status = "okay";
454
455	i2c-mux@70 {
456		compatible = "nxp,pca9545";
457		reg = <0x70>;
458		#address-cells = <1>;
459		#size-cells = <0>;
460
461		imux28: i2c@0 {
462			#address-cells = <1>;
463			#size-cells = <0>;
464			reg = <0>;
465			power-monitor@61 {
466				compatible = "isil,isl69260";
467				reg = <0x61>;
468			};
469			power-monitor@62 {
470				compatible = "isil,isl69260";
471				reg = <0x62>;
472			};
473			power-monitor@63 {
474				compatible = "isil,isl69260";
475				reg = <0x63>;
476			};
477			power-monitor@64 {
478				compatible = "infineon,xdpe152c4";
479				reg = <0x64>;
480			};
481			power-monitor@66 {
482				compatible = "infineon,xdpe152c4";
483				reg = <0x66>;
484			};
485			power-monitor@68 {
486				compatible = "infineon,xdpe152c4";
487				reg = <0x68>;
488			};
489		};
490		imux29: i2c@1 {
491			#address-cells = <1>;
492			#size-cells = <0>;
493			reg = <1>;
494			//MB FRU
495			eeprom@54 {
496				compatible = "atmel,24c64";
497				reg = <0x54>;
498			};
499		};
500		imux30: i2c@2 {
501			#address-cells = <1>;
502			#size-cells = <0>;
503			reg = <2>;
504		};
505		imux31: i2c@3 {
506			#address-cells = <1>;
507			#size-cells = <0>;
508			reg = <3>;
509		};
510	};
511};
512
513// To Debug card
514&i2c14 {
515	status = "okay";
516	multi-master;
517
518	ipmb@10 {
519		compatible = "ipmb-dev";
520		reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>;
521		i2c-protocol;
522	};
523};
524
525&i2c15 {
526	status = "okay";
527
528	// SCM FRU
529	eeprom@50 {
530		compatible = "atmel,24c64";
531		reg = <0x50>;
532	};
533
534	// BSM FRU
535	eeprom@56 {
536		compatible = "atmel,24c64";
537		reg = <0x56>;
538	};
539};
540
541&adc0 {
542	aspeed,int-vref-microvolt = <2500000>;
543	status = "okay";
544	pinctrl-0 = <&pinctrl_adc0_default &pinctrl_adc1_default
545		&pinctrl_adc2_default &pinctrl_adc3_default
546		&pinctrl_adc4_default &pinctrl_adc5_default
547		&pinctrl_adc6_default &pinctrl_adc7_default>;
548};
549
550&adc1 {
551	aspeed,int-vref-microvolt = <2500000>;
552	status = "okay";
553	pinctrl-names = "default";
554	pinctrl-0 = <&pinctrl_adc10_default>;
555};
556
557&ehci0 {
558	status = "okay";
559};
560
561&gpio0 {
562	pinctrl-names = "default";
563	gpio-line-names =
564	/*A0-A7*/	"","","","","","","","",
565	/*B0-B7*/	"","","","",
566			"bmc-spi-mux-select-0","led-identify","","",
567	/*C0-C7*/	"reset-cause-platrst","","","","",
568			"cpu0-err-alert","","",
569	/*D0-D7*/	"","","sol-uart-select","","","","","",
570	/*E0-E7*/	"","","","","","","","",
571	/*F0-F7*/	"","","","","","","","",
572	/*G0-G7*/	"","","","","","","","",
573	/*H0-H7*/	"","","","","","","","",
574	/*I0-I7*/	"","","","","","","","",
575	/*J0-J7*/	"","","","","","","","",
576	/*K0-K7*/	"","","","","","","","",
577	/*L0-L7*/	"","","","",
578			"leakage-detect-alert","","","",
579	/*M0-M7*/	"","","","","","","","",
580	/*N0-N7*/	"led-postcode-0","led-postcode-1",
581			"led-postcode-2","led-postcode-3",
582			"led-postcode-4","led-postcode-5",
583			"led-postcode-6","led-postcode-7",
584	/*O0-O7*/	"","","","","","","","",
585	/*P0-P7*/	"power-button","power-host-control",
586			"reset-button","","led-power","","","",
587	/*Q0-Q7*/	"","","","","","power-chassis-control","","",
588	/*R0-R7*/	"","","","","","","","",
589	/*S0-S7*/	"","","","","","","","",
590	/*T0-T7*/	"","","","","","","","",
591	/*U0-U7*/	"","","","","","","led-identify-gate","",
592	/*V0-V7*/	"","","","",
593			"rtc-battery-voltage-read-enable","",
594			"power-chassis-good","",
595	/*W0-W7*/	"","","","","","","","",
596	/*X0-X7*/	"","","","","","","","",
597	/*Y0-Y7*/	"","","","","","","","",
598	/*Z0-Z7*/	"","","","","","","presence-post-card","";
599};
600
601&gpio1 {
602	gpio-line-names =
603	/*18A0-18A7*/ "ac-power-button","","","","","","","",
604	/*18B0-18B7*/ "","","","","","","","",
605	/*18C0-18C7*/ "","","","","","","","",
606	/*18D0-18D7*/ "","","","","","","","",
607	/*18E0-18E3*/ "","","","","","","","";
608};
609
610&sgpiom0 {
611	status = "okay";
612	ngpios = <128>;
613	bus-frequency = <2000000>;
614	gpio-line-names =
615	/*in - out - in - out */
616	/*A0-A3 line 0-7*/
617	"presence-scm-cable","power-config-disable-e1s-0",
618	"","",
619	"","power-config-disable-e1s-1",
620	"","",
621	/*A4-A7 line 8-15*/
622	"","power-config-asic-module-enable",
623	"","power-config-asic-power-good",
624	"","power-config-pdb-power-good",
625	"presence-cpu","smi-control-n",
626	/*B0-B3 line 16-23*/
627	"","nmi-control-n",
628	"","nmi-control-sync-flood-n",
629	"","",
630	"","",
631	/*B4-B7 line 24-31*/
632	"","FM_CPU_SP5R1",
633	"reset-cause-rsmrst","FM_CPU_SP5R2",
634	"","FM_CPU_SP5R3",
635	"","FM_CPU_SP5R4",
636	/*C0-C3 line 32-39*/
637	"","FM_CPU0_SA0",
638	"","FM_CPU0_SA1",
639	"","rt-cpu0-p0-enable",
640	"","rt-cpu0-p1-enable",
641	/*C4-C7 line 40-47*/
642	"","smb-rt-rom-p0-select",
643	"","smb-rt-rom-p1-select",
644	"","i3c-cpu-mux0-oe-n",
645	"","i3c-cpu-mux0-select",
646	/*D0-D3 line 48-55*/
647	"","i3c-cpu-mux1-oe-n",
648	"","i3c-cpu-mux1-select",
649	"","reset-control-bmc",
650	"","reset-control-cpu0-p0-mux",
651	/*D4-D7 line 56-63*/
652	"","reset-control-cpu0-p1-mux",
653	"","reset-control-e1s-mux",
654	"power-host-good","reset-control-mb-mux",
655	"host0-ready","reset-control-smb-e1s-0",
656	/*E0-E3 line 64-71*/
657	"","reset-control-smb-e1s-1",
658	"post-end-n","reset-control-srst",
659	"presence-e1s-0","reset-control-usb-hub",
660	"","reset-control",
661	/*E4-E7 line 72-79*/
662	"presence-e1s-1","reset-control-cpu-kbrst",
663	"","reset-control-platrst",
664	"","bmc-jtag-mux-select-0",
665	"","bmc-jtag-mux-select-1",
666	/*F0-F3 line 80-87*/
667	"","bmc-jtag-select",
668	"","bmc-ready-n",
669	"","bmc-ready-sgpio",
670	"","rt-cpu0-p0-force-enable",
671	/*F4-F7 line 88-95*/
672	"presence-asic-modules-0","rt-cpu0-p1-force-enable",
673	"presence-asic-modules-1","bios-debug-msg-disable",
674	"","uart-control-buffer-select",
675	"","ac-control-n",
676	/*G0-G3 line 96-103*/
677	"FM_CPU_CORETYPE2","",
678	"FM_CPU_CORETYPE1","",
679	"FM_CPU_CORETYPE0","",
680	"FM_BOARD_REV_ID5","",
681	/*G4-G7 line 104-111*/
682	"FM_BOARD_REV_ID4","",
683	"FM_BOARD_REV_ID3","",
684	"FM_BOARD_REV_ID2","",
685	"FM_BOARD_REV_ID1","",
686	/*H0-H3 line 112-119*/
687	"FM_BOARD_REV_ID0","",
688	"","","","","","",
689	/*H4-H7 line 120-127*/
690	"","",
691	"reset-control-pcie-expansion-3","",
692	"reset-control-pcie-expansion-2","",
693	"reset-control-pcie-expansion-1","",
694	/*I0-I3 line 128-135*/
695	"reset-control-pcie-expansion-0","",
696	"FM_EXP_SLOT_ID1","",
697	"FM_EXP_SLOT_ID0","",
698	"","",
699	/*I4-I7 line 136-143*/
700	"","","","","","","","",
701	/*J0-J3 line 144-151*/
702	"","","","","","","","",
703	/*J4-J7 line 152-159*/
704	"SLOT_ID_BCB_0","",
705	"SLOT_ID_BCB_1","",
706	"SLOT_ID_BCB_2","",
707	"SLOT_ID_BCB_3","",
708	/*K0-K3 line 160-167*/
709	"","","","","","","P0_I3C_APML_ALERT_L","",
710	/*K4-K7 line 168-175*/
711	"","","","","","","irq-uv-detect-alert","",
712	/*L0-L3 line 176-183*/
713	"irq-hsc-alert","",
714	"cpu0-prochot-alert","",
715	"cpu0-thermtrip-alert","",
716	"reset-cause-pcie","",
717	/*L4-L7 line 184-191*/
718	"pvdd11-ocp-alert","","","","","","","",
719	/*M0-M3 line 192-199*/
720	"","","","","","","","",
721	/*M4-M7 line 200-207*/
722	"","","","","","","","",
723	/*N0-N3 line 208-215*/
724	"","","","","","","","",
725	/*N4-N7 line 216-223*/
726	"","","","","","","","",
727	/*O0-O3 line 224-231*/
728	"","","","","","","","",
729	/*O4-O7 line 232-239*/
730	"","","","","","","","",
731	/*P0-P3 line 240-247*/
732	"","","","","","","","",
733	/*P4-P7 line 248-255*/
734	"","","","","","","","";
735};
736