xref: /linux/scripts/dtc/include-prefixes/arm/aspeed/aspeed-bmc-asus-x4tf.dts (revision 36ec807b627b4c0a0a382f0ae48eac7187d14b2b)
1// SPDX-License-Identifier: GPL-2.0-or-later
2// Copyright 2024 ASUS Corp.
3
4/dts-v1/;
5
6#include "aspeed-g6.dtsi"
7#include "aspeed-g6-pinctrl.dtsi"
8#include <dt-bindings/i2c/i2c.h>
9#include <dt-bindings/gpio/aspeed-gpio.h>
10
11/ {
12	model = "ASUS-X4TF";
13	compatible = "asus,x4tf-bmc", "aspeed,ast2600";
14
15	aliases {
16		serial4 = &uart5;
17	};
18
19	chosen {
20		stdout-path = "serial4:115200n8";
21	};
22
23	memory@80000000 {
24		device_type = "memory";
25		reg = <0x80000000 0x40000000>;
26	};
27
28	reserved-memory {
29		#address-cells = <1>;
30		#size-cells = <1>;
31		ranges;
32
33		video_engine_memory: video {
34			size = <0x04000000>;
35			alignment = <0x01000000>;
36			compatible = "shared-dma-pool";
37			reusable;
38		};
39	};
40
41	iio-hwmon {
42		compatible = "iio-hwmon";
43		io-channels = <&adc0 0>, <&adc0 1>, <&adc0 2>, <&adc0 3>,
44				<&adc0 4>, <&adc0 5>, <&adc0 6>, <&adc0 7>,
45				<&adc1 0>, <&adc1 1>, <&adc1 2>, <&adc1 3>,
46				<&adc1 4>, <&adc1 5>, <&adc1 6>, <&adc1 7>;
47	};
48
49	leds {
50		compatible = "gpio-leds";
51
52		led-heartbeat {
53			gpios = <&gpio0 ASPEED_GPIO(P, 7) GPIO_ACTIVE_LOW>;
54			linux,default-trigger = "heartbeat";
55		};
56
57		led-uid {
58			gpios = <&gpio0 ASPEED_GPIO(P, 1) (GPIO_ACTIVE_LOW | GPIO_OPEN_DRAIN)>;
59			default-state = "off";
60		};
61
62		led-status_Y {
63			gpios = <&gpio1 ASPEED_GPIO(B, 1) GPIO_ACTIVE_LOW>;
64			default-state = "off";
65		};
66
67		led-sys_boot_status {
68			gpios = <&gpio1 ASPEED_GPIO(B, 0) GPIO_ACTIVE_LOW>;
69			default-state = "off";
70		};
71	};
72};
73
74&adc0 {
75	vref = <2500>;
76	status = "okay";
77	pinctrl-names = "default";
78	pinctrl-0 = <&pinctrl_adc0_default &pinctrl_adc1_default
79		&pinctrl_adc2_default &pinctrl_adc3_default
80		&pinctrl_adc4_default &pinctrl_adc5_default
81		&pinctrl_adc6_default &pinctrl_adc7_default>;
82};
83
84&adc1 {
85	vref = <2500>;
86	status = "okay";
87	pinctrl-names = "default";
88	pinctrl-0 = <&pinctrl_adc8_default &pinctrl_adc9_default
89		&pinctrl_adc10_default &pinctrl_adc11_default
90		&pinctrl_adc12_default &pinctrl_adc13_default
91		&pinctrl_adc14_default &pinctrl_adc15_default>;
92};
93
94&peci0 {
95	status = "okay";
96};
97
98&lpc_snoop {
99	snoop-ports = <0x80>;
100	status = "okay";
101};
102
103&mac2 {
104	status = "okay";
105	phy-mode = "rmii";
106	use-ncsi;
107	pinctrl-names = "default";
108	pinctrl-0 = <&pinctrl_rmii3_default>;
109};
110
111&mac3 {
112	status = "okay";
113	phy-mode = "rmii";
114	use-ncsi;
115	pinctrl-names = "default";
116	pinctrl-0 = <&pinctrl_rmii4_default>;
117};
118
119&fmc {
120	status = "okay";
121
122	flash@0 {
123		status = "okay";
124		m25p,fast-read;
125		label = "bmc";
126		spi-max-frequency = <50000000>;
127#include "openbmc-flash-layout-64.dtsi"
128	};
129};
130
131&spi1 {
132	status = "okay";
133	pinctrl-names = "default";
134	pinctrl-0 = <&pinctrl_spi1_default>;
135
136	flash@0 {
137		status = "okay";
138		label = "bios";
139		spi-max-frequency = <50000000>;
140	};
141};
142
143&i2c0 {
144	status = "okay";
145};
146
147&i2c1 {
148	status = "okay";
149};
150
151&i2c2 {
152	status = "okay";
153};
154
155&i2c3 {
156	status = "okay";
157};
158
159&i2c4 {
160	status = "okay";
161
162	temperature-sensor@48 {
163		compatible = "ti,tmp75";
164		reg = <0x48>;
165	};
166
167	temperature-sensor@49 {
168		compatible = "ti,tmp75";
169		reg = <0x49>;
170	};
171
172	pca9555_4_20: gpio@20 {
173		compatible = "nxp,pca9555";
174		reg = <0x20>;
175		gpio-controller;
176		#gpio-cells = <2>;
177	};
178
179	pca9555_4_22: gpio@22 {
180		compatible = "nxp,pca9555";
181		reg = <0x22>;
182		gpio-controller;
183		#gpio-cells = <2>;
184	};
185
186	pca9555_4_24: gpio@24 {
187		compatible = "nxp,pca9555";
188		reg = <0x24>;
189		gpio-controller;
190		#gpio-cells = <2>;
191		gpio-line-names =
192		/*A0 - A3 0*/	"", "STRAP_BMC_BATTERY_GPIO1", "", "",
193		/*A4 - A7 4*/	"", "", "", "",
194		/*B0 - B7 8*/	"", "", "", "", "", "", "", "";
195	};
196
197	pca9555_4_26: gpio@26 {
198		compatible = "nxp,pca9555";
199		reg = <0x26>;
200		gpio-controller;
201		#gpio-cells = <2>;
202	};
203
204	i2c-mux@70 {
205		compatible = "nxp,pca9546";
206		status = "okay";
207		reg = <0x70>;
208		#address-cells = <1>;
209		#size-cells = <0>;
210
211		channel_1: i2c@0 {
212			#address-cells = <1>;
213			#size-cells = <0>;
214			reg = <0>;
215		};
216
217		channel_2: i2c@1 {
218			#address-cells = <1>;
219			#size-cells = <0>;
220			reg = <1>;
221		};
222
223		channel_3: i2c@2 {
224			#address-cells = <1>;
225			#size-cells = <0>;
226			reg = <2>;
227		};
228
229		channel_4: i2c@3 {
230			#address-cells = <1>;
231			#size-cells = <0>;
232			reg = <3>;
233		};
234	};
235};
236
237&i2c5 {
238	status = "okay";
239
240	pca9555_5_24: gpio@24 {
241		compatible = "nxp,pca9555";
242		reg = <0x24>;
243		gpio-controller;
244		#gpio-cells = <2>;
245	};
246
247	i2c-mux@70  {
248		compatible = "nxp,pca9546";
249		status = "okay";
250		reg = <0x70 >;
251		#address-cells = <1>;
252		#size-cells = <0>;
253
254		channel_5: i2c@0 {
255			#address-cells = <1>;
256			#size-cells = <0>;
257			reg = <0>;
258
259			pca9555_5_5_20: gpio@20 {
260				compatible = "nxp,pca9555";
261				reg = <0x20>;
262				gpio-controller;
263				#gpio-cells = <2>;
264				gpio-line-names =
265					"", "", "", "", "", "", "", "",
266					"", "", "SYS_FAN6", "SYS_FAN5",
267					"SYS_FAN4", "SYS_FAN3",
268					"SYS_FAN2", "SYS_FAN1";
269			};
270
271			pca9555_5_5_21: gpio@21 {
272				compatible = "nxp,pca9555";
273				reg = <0x21>;
274				gpio-controller;
275				#gpio-cells = <2>;
276			};
277
278			power-monitor@44 {
279				compatible = "ti,ina219";
280				reg = <0x44>;
281				shunt-resistor = <2>;
282			};
283		};
284
285		channel_6: i2c@1 {
286			#address-cells = <1>;
287			#size-cells = <0>;
288			reg = <1>;
289		};
290
291		channel_7: i2c@2 {
292			#address-cells = <1>;
293			#size-cells = <0>;
294			reg = <2>;
295		};
296
297		channel_8: i2c@3 {
298			#address-cells = <1>;
299			#size-cells = <0>;
300			reg = <3>;
301		};
302	};
303};
304
305&i2c6 {
306	status = "okay";
307
308	pca9555_6_27: gpio@27 {
309		compatible = "nxp,pca9555";
310		reg = <0x27>;
311		gpio-controller;
312		#gpio-cells = <2>;
313	};
314
315	pca9555_6_20: gpio@20 {
316		compatible = "nxp,pca9555";
317		reg = <0x20>;
318		gpio-controller;
319		#gpio-cells = <2>;
320		gpio-line-names =
321		/*A0 0*/	"", "", "", "", "", "", "", "",
322		/*B0 8*/	"Drive_NVMe1", "Drive_NVMe2", "", "",
323		/*B4 12*/	"", "", "", "";
324	};
325
326	pca9555_6_21: gpio@21 {
327		compatible = "nxp,pca9555";
328		reg = <0x21>;
329		gpio-controller;
330		#gpio-cells = <2>;
331	};
332};
333
334&i2c7 {
335	status = "okay";
336
337	i2c-mux@70 {
338		compatible = "nxp,pca9546";
339		status = "okay";
340		reg = <0x70>;
341		#address-cells = <1>;
342		#size-cells = <0>;
343		idle-state = <1>;
344
345		channel_9: i2c@0 {
346			#address-cells = <1>;
347			#size-cells = <0>;
348			reg = <0>;
349
350			temperature-sensor@48 {
351				compatible = "ti,tmp75";
352				reg = <0x48>;
353			};
354
355			temperature-sensor@49 {
356				compatible = "ti,tmp75";
357				reg = <0x49>;
358			};
359
360			power-monitor@40 {
361				compatible = "ti,ina219";
362				reg = <0x40>;
363				shunt-resistor = <2>;
364			};
365
366			power-monitor@41 {
367				compatible = "ti,ina219";
368				reg = <0x41>;
369				shunt-resistor = <5>;
370			};
371		};
372
373		channel_10: i2c@1 {
374			#address-cells = <1>;
375			#size-cells = <0>;
376			reg = <1>;
377		};
378
379		channel_11: i2c@2 {
380			#address-cells = <1>;
381			#size-cells = <0>;
382			reg = <2>;
383		};
384
385		channel_12: i2c@3 {
386			#address-cells = <1>;
387			#size-cells = <0>;
388			reg = <3>;
389		};
390	};
391
392	i2c-mux@71 {
393		compatible = "nxp,pca9546";
394		status = "okay";
395		reg = <0x71>;
396		#address-cells = <1>;
397		#size-cells = <0>;
398		i2c-mux-idle-disconnect;
399
400		channel_13: i2c@0 {
401			#address-cells = <1>;
402			#size-cells = <0>;
403			reg = <0>;
404		};
405
406		channel_14: i2c@1 {
407			#address-cells = <1>;
408			#size-cells = <0>;
409			reg = <1>;
410		};
411
412		channel_15: i2c@2 {
413			#address-cells = <1>;
414			#size-cells = <0>;
415			reg = <2>;
416		};
417
418		channel_16: i2c@3 {
419			#address-cells = <1>;
420			#size-cells = <0>;
421			reg = <3>;
422		};
423	};
424};
425
426&i2c8 {
427	status = "okay";
428
429	i2c-mux@70 {
430		compatible = "nxp,pca9546";
431		status = "okay";
432		reg = <0x70>;
433		#address-cells = <1>;
434		#size-cells = <0>;
435		i2c-mux-idle-disconnect;
436
437		channel_17: i2c@0 {
438			#address-cells = <1>;
439			#size-cells = <0>;
440			reg = <0>;
441		};
442
443		channel_18: i2c@1 {
444			#address-cells = <1>;
445			#size-cells = <0>;
446			reg = <1>;
447
448			temperature-sensor@48 {
449				compatible = "ti,tmp75";
450				reg = <0x48>;
451			};
452
453			power-monitor@41 {
454				compatible = "ti,ina219";
455				reg = <0x41>;
456				shunt-resistor = <5>;
457			};
458		};
459
460		channel_19: i2c@2 {
461			#address-cells = <1>;
462			#size-cells = <0>;
463			reg = <2>;
464		};
465
466		channel_20: i2c@3 {
467			#address-cells = <1>;
468			#size-cells = <0>;
469			reg = <3>;
470		};
471	};
472};
473
474&i2c9 {
475	status = "okay";
476};
477
478&i2c10 {
479	status = "okay";
480};
481
482&i2c11 {
483	status = "okay";
484};
485
486&i2c14 {
487	status = "okay";
488	multi-master;
489
490	eeprom@50 {
491		compatible = "atmel,24c08";
492		reg = <0x50>;
493	};
494
495	eeprom@51 {
496		compatible = "atmel,24c08";
497		reg = <0x51>;
498	};
499};
500
501&sgpiom0 {
502	status = "okay";
503	ngpios = <128>;
504};
505
506&video {
507	status = "okay";
508	memory-region = <&video_engine_memory>;
509};
510
511&sdc {
512	status = "okay";
513};
514
515&lpc_snoop {
516	status = "okay";
517	snoop-ports = <0x80>;
518};
519
520&kcs1 {
521	aspeed,lpc-io-reg = <0xca0>;
522	status = "okay";
523};
524
525&kcs2 {
526	aspeed,lpc-io-reg = <0xca8>;
527	status = "okay";
528};
529
530&kcs3 {
531	aspeed,lpc-io-reg = <0xca2>;
532	status = "okay";
533};
534
535&uart3 {
536	status = "okay";
537};
538
539&uart5 {
540	status = "okay";
541};
542
543&uart_routing {
544	status = "okay";
545};
546
547&vhub {
548	status = "okay";
549};
550
551&gpio0 {
552	gpio-line-names =
553	/*A0 0*/	"", "", "", "", "", "", "", "",
554	/*B0 8*/	"", "", "", "", "", "", "PS_PWROK", "",
555	/*C0 16*/	"", "", "", "", "", "", "", "",
556	/*D0 24*/	"", "", "", "", "", "", "", "",
557	/*E0 32*/	"", "", "", "", "", "", "", "",
558	/*F0 40*/	"", "", "", "", "", "", "", "",
559	/*G0 48*/	"", "", "", "", "", "", "", "",
560	/*H0 56*/	"", "", "", "", "", "", "", "",
561	/*I0 64*/	"", "", "", "", "", "", "", "",
562	/*J0 72*/	"", "", "", "", "", "", "", "",
563	/*K0 80*/	"", "", "", "", "", "", "", "",
564	/*L0 88*/	"", "", "", "", "", "", "", "",
565	/*M0 96*/	"", "", "", "", "", "", "", "",
566	/*N0 104*/	"", "", "", "",
567	/*N4 108*/	"POST_COMPLETE", "ESR1_GPIO_AST_SPISEL", "", "",
568	/*O0 112*/	"", "", "", "", "", "", "", "",
569	/*P0 120*/	"ID_BUTTON", "ID_OUT", "POWER_BUTTON", "POWER_OUT",
570	/*P4 124*/	"RESET_BUTTON", "RESET_OUT", "", "HEARTBEAT",
571	/*Q0 128*/	"", "", "", "", "", "", "", "",
572	/*R0 136*/	"", "", "", "", "", "", "", "",
573	/*S0 144*/	"", "", "", "", "", "", "", "",
574	/*T0 152*/	"", "", "", "", "", "", "", "",
575	/*U0 160*/	"", "", "", "", "", "", "", "",
576	/*V0 168*/	"", "", "", "", "", "", "", "",
577	/*W0 176*/	"", "", "", "", "", "", "", "",
578	/*X0 184*/	"", "", "", "", "", "", "", "",
579	/*Y0 192*/	"", "", "", "", "", "", "", "",
580	/*Z0 200*/	"", "", "", "", "", "", "", "";
581};
582