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