1// SPDX-License-Identifier: GPL-2.0-or-later
2// Copyright 2022 IBM Corp.
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#include <dt-bindings/leds/leds-pca955x.h>
9
10/ {
11	model = "Bonnell";
12	compatible = "ibm,bonnell-bmc", "aspeed,ast2600";
13
14	aliases {
15		serial4 = &uart5;
16		i2c16 = &i2c11mux0chn0;
17		i2c17 = &i2c11mux0chn1;
18		i2c18 = &i2c11mux0chn2;
19		i2c19 = &i2c11mux0chn3;
20	};
21
22	chosen {
23		stdout-path = &uart5;
24		bootargs = "console=ttyS4,115200n8 earlycon";
25	};
26
27	memory@80000000 {
28		device_type = "memory";
29		reg = <0x80000000 0x40000000>;
30	};
31
32	reserved-memory {
33		#address-cells = <1>;
34		#size-cells = <1>;
35		ranges;
36
37		event_log: tcg_event_log@b3d00000 {
38			no-map;
39			reg = <0xb3d00000 0x100000>;
40		};
41
42		ramoops@b3e00000 {
43			compatible = "ramoops";
44			reg = <0xb3e00000 0x200000>; /* 16 * (4 * 0x8000) */
45			record-size = <0x8000>;
46			console-size = <0x8000>;
47			ftrace-size = <0x8000>;
48			pmsg-size = <0x8000>;
49			max-reason = <3>; /* KMSG_DUMP_EMERG */
50		};
51
52		/* LPC FW cycle bridge region requires natural alignment */
53		flash_memory: region@b4000000 {
54			no-map;
55			reg = <0xb4000000 0x04000000>; /* 64M */
56		};
57
58		/* VGA region is dictated by hardware strapping */
59		vga_memory: region@bf000000 {
60			no-map;
61			compatible = "shared-dma-pool";
62			reg = <0xbf000000 0x01000000>;  /* 16M */
63		};
64	};
65
66	leds {
67		compatible = "gpio-leds";
68
69		fan0 {
70			gpios = <&gpio0 ASPEED_GPIO(G, 0) GPIO_ACTIVE_LOW>;
71		};
72
73		fan1 {
74			gpios = <&gpio0 ASPEED_GPIO(G, 1) GPIO_ACTIVE_LOW>;
75		};
76
77		rear-enc-id0 {
78			gpios = <&gpio0 ASPEED_GPIO(H, 2) GPIO_ACTIVE_LOW>;
79		};
80
81		rear-enc-fault0 {
82			gpios = <&gpio0 ASPEED_GPIO(H, 3) GPIO_ACTIVE_LOW>;
83		};
84	};
85
86	gpio-keys-polled {
87		compatible = "gpio-keys-polled";
88		#address-cells = <1>;
89		#size-cells = <0>;
90		poll-interval = <1000>;
91
92		fan0-presence {
93			label = "fan0-presence";
94			gpios = <&gpio0 ASPEED_GPIO(F, 4) GPIO_ACTIVE_LOW>;
95			linux,code = <6>;
96		};
97
98		fan1-presence {
99			label = "fan1-presence";
100			gpios = <&gpio0 ASPEED_GPIO(F, 5) GPIO_ACTIVE_LOW>;
101			linux,code = <7>;
102		};
103	};
104
105	iio-hwmon {
106		compatible = "iio-hwmon";
107		io-channels = <&adc1 7>;
108	};
109};
110
111&adc1 {
112	status = "okay";
113	aspeed,int-vref-microvolt = <2500000>;
114	pinctrl-names = "default";
115	pinctrl-0 = <&pinctrl_adc8_default &pinctrl_adc9_default
116		&pinctrl_adc10_default &pinctrl_adc11_default
117		&pinctrl_adc12_default &pinctrl_adc13_default
118		&pinctrl_adc14_default &pinctrl_adc15_default>;
119};
120
121&ehci1 {
122	status = "okay";
123};
124
125&uhci {
126	status = "okay";
127};
128
129&gpio0 {
130	gpio-line-names =
131		/*A0-A7*/	"","","","","","","","",
132		/*B0-B7*/	"","","","","","","checkstop","",
133		/*C0-C7*/	"","","","","","","","",
134		/*D0-D7*/	"","","","","","","","",
135		/*E0-E7*/	"","","","","","","","",
136		/*F0-F7*/	"","","rtc-battery-voltage-read-enable","reset-cause-pinhole","","","","",
137		/*G0-G7*/	"fan0","fan1","","","","","","",
138		/*H0-H7*/	"","","rear-enc-id0","rear-enc-fault0","","","","",
139		/*I0-I7*/	"","","","","","","bmc-secure-boot","",
140		/*J0-J7*/	"","","","","","","","",
141		/*K0-K7*/	"","","","","","","","",
142		/*L0-L7*/	"","","","","","","","",
143		/*M0-M7*/	"","","","","","","","",
144		/*N0-N7*/	"","","","","","","","",
145		/*O0-O7*/	"","","","usb-power","","","","",
146		/*P0-P7*/	"","","","","","","","",
147		/*Q0-Q7*/	"cfam-reset","","regulator-standby-faulted","","","","","",
148		/*R0-R7*/	"bmc-tpm-reset","power-chassis-control","power-chassis-good","","","","","",
149		/*S0-S7*/	"presence-ps0","presence-ps1","","","power-ffs-sync-history","","","",
150		/*T0-T7*/	"","","","","","","","",
151		/*U0-U7*/	"","","","","","","","",
152		/*V0-V7*/	"","","","","","","","",
153		/*W0-W7*/	"","","","","","","","",
154		/*X0-X7*/	"","","","","","","","",
155		/*Y0-Y7*/	"","","","","","","","",
156		/*Z0-Z7*/	"","","","","","","","";
157
158	usb_power {
159		gpio-hog;
160		gpios = <ASPEED_GPIO(O, 3) GPIO_ACTIVE_LOW>;
161		output-high;
162	};
163};
164
165&emmc_controller {
166	status = "okay";
167};
168
169&pinctrl_emmc_default {
170	bias-disable;
171};
172
173&emmc {
174	status = "okay";
175	clk-phase-mmc-hs200 = <180>, <180>;
176};
177
178&ibt {
179	status = "okay";
180};
181
182&i2c0 {
183	status = "okay";
184
185	eeprom@51 {
186		compatible = "atmel,24c64";
187		reg = <0x51>;
188	};
189
190	tca9554@20 {
191		compatible = "ti,tca9554";
192		reg = <0x20>;
193		#address-cells = <1>;
194		#size-cells = <0>;
195
196		gpio-controller;
197		#gpio-cells = <2>;
198
199		gpio-line-names = "",
200			"RUSSEL_FW_I2C_ENABLE_N",
201			"RUSSEL_OPPANEL_PRESENCE_N",
202			"BLYTH_OPPANEL_PRESENCE_N",
203			"CPU_TPM_CARD_PRESENT_N",
204			"",
205			"",
206			"DASD_BP_PRESENT_N";
207	};
208};
209
210&i2c1 {
211	status = "okay";
212};
213
214&i2c2 {
215	status = "okay";
216
217	ucd90160@64 {
218		compatible = "ti,ucd90160";
219		reg = <0x64>;
220	};
221};
222
223&i2c3 {
224	status = "okay";
225
226	power-supply@5a {
227		compatible = "acbel,fsg032";
228		reg = <0x5a>;
229	};
230
231	power-supply@5b {
232		compatible = "acbel,fsg032";
233		reg = <0x5b>;
234	};
235};
236
237&i2c4 {
238	status = "okay";
239};
240
241&i2c5 {
242	status = "okay";
243};
244
245&i2c6 {
246	status = "okay";
247};
248
249&i2c7 {
250	multi-master;
251	status = "okay";
252
253	si7021-a20@40 {
254		compatible = "silabs,si7020";
255		reg = <0x40>;
256	};
257
258	tmp275@48 {
259		compatible = "ti,tmp275";
260		reg = <0x48>;
261	};
262
263	eeprom@50 {
264		compatible = "atmel,24c64";
265		reg = <0x50>;
266	};
267
268	eeprom@51 {
269		compatible = "atmel,24c64";
270		reg = <0x51>;
271	};
272
273	max31785@52 {
274		compatible = "maxim,max31785a";
275		reg = <0x52>;
276		#address-cells = <1>;
277		#size-cells = <0>;
278
279		fan0: fan@0 {
280			compatible = "pmbus-fan";
281			reg = <0>;
282			tach-pulses = <2>;
283			maxim,fan-rotor-input = "tach";
284			maxim,fan-pwm-freq = <25000>;
285			maxim,fan-dual-tach;
286			maxim,fan-no-watchdog;
287			maxim,fan-no-fault-ramp;
288			maxim,fan-ramp = <2>;
289			maxim,fan-fault-pin-mon;
290		};
291
292		fan1: fan@1 {
293			compatible = "pmbus-fan";
294			reg = <1>;
295			tach-pulses = <2>;
296			maxim,fan-rotor-input = "tach";
297			maxim,fan-pwm-freq = <25000>;
298			maxim,fan-dual-tach;
299			maxim,fan-no-watchdog;
300			maxim,fan-no-fault-ramp;
301			maxim,fan-ramp = <2>;
302			maxim,fan-fault-pin-mon;
303		};
304	};
305
306	pca9551@60 {
307		compatible = "nxp,pca9551";
308		reg = <0x60>;
309		#address-cells = <1>;
310		#size-cells = <0>;
311
312		gpio-controller;
313		#gpio-cells = <2>;
314
315		led@0 {
316			label = "front-sys-id0";
317			reg = <0>;
318			retain-state-shutdown;
319			default-state = "keep";
320			type = <PCA955X_TYPE_LED>;
321		};
322
323		led@1 {
324			label = "front-check-log0";
325			reg = <1>;
326			retain-state-shutdown;
327			default-state = "keep";
328			type = <PCA955X_TYPE_LED>;
329		};
330
331		led@2 {
332			label = "front-enc-fault1";
333			reg = <2>;
334			retain-state-shutdown;
335			default-state = "keep";
336			type = <PCA955X_TYPE_LED>;
337		};
338
339		led@3 {
340			label = "front-sys-pwron0";
341			reg = <3>;
342			retain-state-shutdown;
343			default-state = "keep";
344			type = <PCA955X_TYPE_LED>;
345		};
346	};
347
348	ibm-panel@62 {
349		compatible = "ibm,op-panel";
350		reg = <(0x62 | I2C_OWN_SLAVE_ADDRESS)>;
351	};
352
353	dps: dps310@76 {
354		compatible = "infineon,dps310";
355		reg = <0x76>;
356		#io-channel-cells = <0>;
357	};
358};
359
360&i2c8 {
361	status = "okay";
362
363	rtc@32 {
364		compatible = "epson,rx8900";
365		reg = <0x32>;
366	};
367
368	tmp275@48 {
369		compatible = "ti,tmp275";
370		reg = <0x48>;
371	};
372
373	eeprom@50 {
374		compatible = "atmel,24c128";
375		reg = <0x50>;
376	};
377
378	pca9551@60 {
379		compatible = "nxp,pca9551";
380		reg = <0x60>;
381		#address-cells = <1>;
382		#size-cells = <0>;
383
384		gpio-controller;
385		#gpio-cells = <2>;
386
387		gpio-line-names = "",
388			"APSS_RESET_N",
389			"",
390			"N_MODE_CPU_N",
391			"",
392			"",
393			"P10_DCM_PRESENT",
394			"";
395	};
396};
397
398&i2c9 {
399	status = "okay";
400
401	tmp423a@4c {
402		compatible = "ti,tmp423";
403		reg = <0x4c>;
404	};
405};
406
407&i2c10 {
408	status = "okay";
409};
410
411&i2c11 {
412	status = "okay";
413
414	tca9554@20 {
415		compatible = "ti,tca9554";
416		reg = <0x20>;
417		#address-cells = <1>;
418		#size-cells = <0>;
419
420		gpio-controller;
421		#gpio-cells = <2>;
422
423		gpio-line-names = "BOOT_RCVRY_TWI",
424			"BOOT_RCVRY_UART",
425			"",
426			"",
427			"",
428			"",
429			"",
430			"PE_SWITCH_RSTB_N";
431	};
432
433	tmp435@4c {
434		compatible = "ti,tmp435";
435		reg = <0x4c>;
436	};
437
438	pca9849@75 {
439		compatible = "nxp,pca9849";
440		reg = <0x75>;
441		#address-cells = <1>;
442		#size-cells = <0>;
443		status = "okay";
444		i2c-mux-idle-disconnect;
445
446		i2c11mux0chn0: i2c@0 {
447			#address-cells = <1>;
448			#size-cells = <0>;
449			reg = <0>;
450		};
451
452		i2c11mux0chn1: i2c@1 {
453			#address-cells = <1>;
454			#size-cells = <0>;
455			reg = <1>;
456		};
457
458		i2c11mux0chn2: i2c@2 {
459			#address-cells = <1>;
460			#size-cells = <0>;
461			reg = <2>;
462		};
463
464		i2c11mux0chn3: i2c@3 {
465			#address-cells = <1>;
466			#size-cells = <0>;
467			reg = <3>;
468		};
469	};
470};
471
472&i2c12 {
473	status = "okay";
474
475	tpm@2e {
476		compatible = "nuvoton,npct75x", "tcg,tpm-tis-i2c";
477		reg = <0x2e>;
478		memory-region = <&event_log>;
479	};
480
481	eeprom@50 {
482		compatible = "atmel,24c64";
483		reg = <0x50>;
484	};
485};
486
487&i2c13 {
488	status = "okay";
489
490	eeprom@50 {
491		compatible = "atmel,24c64";
492		reg = <0x50>;
493	};
494
495	pca9551@60 {
496		compatible = "nxp,pca9551";
497		reg = <0x60>;
498		#address-cells = <1>;
499		#size-cells = <0>;
500
501		gpio-controller;
502		#gpio-cells = <2>;
503
504		led@0 {
505			label = "nvme3";
506			reg = <0>;
507			retain-state-shutdown;
508			default-state = "keep";
509			type = <PCA955X_TYPE_LED>;
510		};
511
512		led@1 {
513			label = "nvme2";
514			reg = <1>;
515			retain-state-shutdown;
516			default-state = "keep";
517			type = <PCA955X_TYPE_LED>;
518		};
519
520		led@2 {
521			label = "nvme1";
522			reg = <2>;
523			retain-state-shutdown;
524			default-state = "keep";
525			type = <PCA955X_TYPE_LED>;
526		};
527
528		led@3 {
529			label = "nvme0";
530			reg = <3>;
531			retain-state-shutdown;
532			default-state = "keep";
533			type = <PCA955X_TYPE_LED>;
534		};
535	};
536};
537
538&i2c14 {
539	status = "okay";
540};
541
542&i2c15 {
543	status = "okay";
544};
545
546&uart2 {
547	status = "okay";
548};
549
550&vuart1 {
551	status = "okay";
552};
553
554&vuart2 {
555	status = "okay";
556};
557
558&lpc_ctrl {
559	status = "okay";
560	memory-region = <&flash_memory>;
561};
562
563&mac2 {
564	status = "okay";
565	pinctrl-names = "default";
566	pinctrl-0 = <&pinctrl_rmii3_default>;
567	clocks = <&syscon ASPEED_CLK_GATE_MAC3CLK>,
568		 <&syscon ASPEED_CLK_MAC3RCLK>;
569	clock-names = "MACCLK", "RCLK";
570	use-ncsi;
571};
572
573&wdt1 {
574	aspeed,reset-type = "none";
575	aspeed,external-signal;
576	aspeed,ext-push-pull;
577	aspeed,ext-active-high;
578
579	pinctrl-names = "default";
580	pinctrl-0 = <&pinctrl_wdtrst1_default>;
581};
582
583&wdt2 {
584	status = "okay";
585};
586
587&xdma {
588	status = "okay";
589	memory-region = <&vga_memory>;
590};
591
592&kcs2 {
593	status = "okay";
594	aspeed,lpc-io-reg = <0xca8 0xcac>;
595};
596
597&kcs3 {
598	status = "okay";
599	aspeed,lpc-io-reg = <0xca2>;
600	aspeed,lpc-interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
601};
602
603#include "ibm-power10-dual.dtsi"
604
605&cfam0_i2c10 {
606	eeprom@50 {
607		compatible = "atmel,at30tse004a";
608		reg = <0x50>;
609	};
610};
611
612&cfam0_i2c11 {
613	eeprom@50 {
614		compatible = "atmel,at30tse004a";
615		reg = <0x50>;
616	};
617};
618
619&cfam0_i2c12 {
620	eeprom@50 {
621		compatible = "atmel,at30tse004a";
622		reg = <0x50>;
623	};
624};
625
626&cfam0_i2c13 {
627	eeprom@50 {
628		compatible = "atmel,at30tse004a";
629		reg = <0x50>;
630	};
631};
632