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