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