xref: /freebsd/sys/contrib/device-tree/src/arm/aspeed/aspeed-bmc-ibm-bonnell.dts (revision 95eb4b873b6a8b527c5bd78d7191975dfca38998)
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		};
284
285		fan1: fan@1 {
286			compatible = "pmbus-fan";
287			reg = <1>;
288			tach-pulses = <2>;
289		};
290	};
291
292	pca9551@60 {
293		compatible = "nxp,pca9551";
294		reg = <0x60>;
295		#address-cells = <1>;
296		#size-cells = <0>;
297
298		gpio-controller;
299		#gpio-cells = <2>;
300
301		led@0 {
302			label = "front-sys-id0";
303			reg = <0>;
304			retain-state-shutdown;
305			default-state = "keep";
306			type = <PCA955X_TYPE_LED>;
307		};
308
309		led@1 {
310			label = "front-check-log0";
311			reg = <1>;
312			retain-state-shutdown;
313			default-state = "keep";
314			type = <PCA955X_TYPE_LED>;
315		};
316
317		led@2 {
318			label = "front-enc-fault1";
319			reg = <2>;
320			retain-state-shutdown;
321			default-state = "keep";
322			type = <PCA955X_TYPE_LED>;
323		};
324
325		led@3 {
326			label = "front-sys-pwron0";
327			reg = <3>;
328			retain-state-shutdown;
329			default-state = "keep";
330			type = <PCA955X_TYPE_LED>;
331		};
332	};
333
334	ibm-panel@62 {
335		compatible = "ibm,op-panel";
336		reg = <(0x62 | I2C_OWN_SLAVE_ADDRESS)>;
337	};
338
339	dps: dps310@76 {
340		compatible = "infineon,dps310";
341		reg = <0x76>;
342		#io-channel-cells = <0>;
343	};
344};
345
346&i2c8 {
347	status = "okay";
348
349	rtc@32 {
350		compatible = "epson,rx8900";
351		reg = <0x32>;
352	};
353
354	tmp275@48 {
355		compatible = "ti,tmp275";
356		reg = <0x48>;
357	};
358
359	eeprom@50 {
360		compatible = "atmel,24c128";
361		reg = <0x50>;
362	};
363
364	pca9551@60 {
365		compatible = "nxp,pca9551";
366		reg = <0x60>;
367		#address-cells = <1>;
368		#size-cells = <0>;
369
370		gpio-controller;
371		#gpio-cells = <2>;
372
373		gpio-line-names = "",
374			"APSS_RESET_N",
375			"",
376			"N_MODE_CPU_N",
377			"",
378			"",
379			"P10_DCM_PRESENT",
380			"";
381	};
382};
383
384&i2c9 {
385	status = "okay";
386
387	tmp423a@4c {
388		compatible = "ti,tmp423";
389		reg = <0x4c>;
390	};
391};
392
393&i2c10 {
394	status = "okay";
395};
396
397&i2c11 {
398	status = "okay";
399
400	tca9554@20 {
401		compatible = "ti,tca9554";
402		reg = <0x20>;
403		#address-cells = <1>;
404		#size-cells = <0>;
405
406		gpio-controller;
407		#gpio-cells = <2>;
408
409		gpio-line-names = "BOOT_RCVRY_TWI",
410			"BOOT_RCVRY_UART",
411			"",
412			"",
413			"",
414			"",
415			"",
416			"PE_SWITCH_RSTB_N";
417	};
418
419	tmp435@4c {
420		compatible = "ti,tmp435";
421		reg = <0x4c>;
422	};
423
424	pca9849@75 {
425		compatible = "nxp,pca9849";
426		reg = <0x75>;
427		#address-cells = <1>;
428		#size-cells = <0>;
429		status = "okay";
430		i2c-mux-idle-disconnect;
431
432		i2c11mux0chn0: i2c@0 {
433			#address-cells = <1>;
434			#size-cells = <0>;
435			reg = <0>;
436		};
437
438		i2c11mux0chn1: i2c@1 {
439			#address-cells = <1>;
440			#size-cells = <0>;
441			reg = <1>;
442		};
443
444		i2c11mux0chn2: i2c@2 {
445			#address-cells = <1>;
446			#size-cells = <0>;
447			reg = <2>;
448		};
449
450		i2c11mux0chn3: i2c@3 {
451			#address-cells = <1>;
452			#size-cells = <0>;
453			reg = <3>;
454		};
455	};
456};
457
458&i2c12 {
459	status = "okay";
460
461	tpm@2e {
462		compatible = "nuvoton,npct75x", "tcg,tpm-tis-i2c";
463		reg = <0x2e>;
464		memory-region = <&event_log>;
465	};
466
467	eeprom@50 {
468		compatible = "atmel,24c64";
469		reg = <0x50>;
470	};
471};
472
473&i2c13 {
474	status = "okay";
475
476	eeprom@50 {
477		compatible = "atmel,24c64";
478		reg = <0x50>;
479	};
480
481	pca9551@60 {
482		compatible = "nxp,pca9551";
483		reg = <0x60>;
484		#address-cells = <1>;
485		#size-cells = <0>;
486
487		gpio-controller;
488		#gpio-cells = <2>;
489
490		led@0 {
491			label = "nvme0";
492			reg = <0>;
493			retain-state-shutdown;
494			default-state = "keep";
495			type = <PCA955X_TYPE_LED>;
496		};
497
498		led@1 {
499			label = "nvme1";
500			reg = <1>;
501			retain-state-shutdown;
502			default-state = "keep";
503			type = <PCA955X_TYPE_LED>;
504		};
505
506		led@2 {
507			label = "nvme2";
508			reg = <2>;
509			retain-state-shutdown;
510			default-state = "keep";
511			type = <PCA955X_TYPE_LED>;
512		};
513
514		led@3 {
515			label = "nvme3";
516			reg = <3>;
517			retain-state-shutdown;
518			default-state = "keep";
519			type = <PCA955X_TYPE_LED>;
520		};
521	};
522};
523
524&i2c14 {
525	status = "okay";
526};
527
528&i2c15 {
529	status = "okay";
530};
531
532&uart2 {
533	status = "okay";
534};
535
536&vuart1 {
537	status = "okay";
538};
539
540&vuart2 {
541	status = "okay";
542};
543
544&lpc_ctrl {
545	status = "okay";
546	memory-region = <&flash_memory>;
547};
548
549&mac2 {
550	status = "okay";
551	pinctrl-names = "default";
552	pinctrl-0 = <&pinctrl_rmii3_default>;
553	clocks = <&syscon ASPEED_CLK_GATE_MAC3CLK>,
554		 <&syscon ASPEED_CLK_MAC3RCLK>;
555	clock-names = "MACCLK", "RCLK";
556	use-ncsi;
557};
558
559&wdt1 {
560	aspeed,reset-type = "none";
561	aspeed,external-signal;
562	aspeed,ext-push-pull;
563	aspeed,ext-active-high;
564
565	pinctrl-names = "default";
566	pinctrl-0 = <&pinctrl_wdtrst1_default>;
567};
568
569&wdt2 {
570	status = "okay";
571};
572
573&xdma {
574	status = "okay";
575	memory-region = <&vga_memory>;
576};
577
578&kcs2 {
579	status = "okay";
580	aspeed,lpc-io-reg = <0xca8 0xcac>;
581};
582
583&kcs3 {
584	status = "okay";
585	aspeed,lpc-io-reg = <0xca2>;
586	aspeed,lpc-interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
587};
588
589#include "ibm-power10-dual.dtsi"
590
591&cfam0_i2c10 {
592	eeprom@50 {
593		compatible = "atmel,at30tse004a";
594		reg = <0x50>;
595	};
596};
597
598&cfam0_i2c11 {
599	eeprom@50 {
600		compatible = "atmel,at30tse004a";
601		reg = <0x50>;
602	};
603};
604
605&cfam0_i2c12 {
606	eeprom@50 {
607		compatible = "atmel,at30tse004a";
608		reg = <0x50>;
609	};
610};
611
612&cfam0_i2c13 {
613	eeprom@50 {
614		compatible = "atmel,at30tse004a";
615		reg = <0x50>;
616	};
617};
618