1// SPDX-License-Identifier: GPL-2.0-or-later
2// Copyright 2020 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 = "Everest";
12	compatible = "ibm,everest-bmc", "aspeed,ast2600";
13
14	aliases {
15		i2c100 = &cfam0_i2c0;
16		i2c101 = &cfam0_i2c1;
17		i2c110 = &cfam0_i2c10;
18		i2c111 = &cfam0_i2c11;
19		i2c112 = &cfam0_i2c12;
20		i2c113 = &cfam0_i2c13;
21		i2c114 = &cfam0_i2c14;
22		i2c115 = &cfam0_i2c15;
23		i2c202 = &cfam1_i2c2;
24		i2c203 = &cfam1_i2c3;
25		i2c210 = &cfam1_i2c10;
26		i2c211 = &cfam1_i2c11;
27		i2c214 = &cfam1_i2c14;
28		i2c215 = &cfam1_i2c15;
29		i2c216 = &cfam1_i2c16;
30		i2c217 = &cfam1_i2c17;
31		i2c300 = &cfam2_i2c0;
32		i2c301 = &cfam2_i2c1;
33		i2c310 = &cfam2_i2c10;
34		i2c311 = &cfam2_i2c11;
35		i2c312 = &cfam2_i2c12;
36		i2c313 = &cfam2_i2c13;
37		i2c314 = &cfam2_i2c14;
38		i2c315 = &cfam2_i2c15;
39		i2c402 = &cfam3_i2c2;
40		i2c403 = &cfam3_i2c3;
41		i2c410 = &cfam3_i2c10;
42		i2c411 = &cfam3_i2c11;
43		i2c414 = &cfam3_i2c14;
44		i2c415 = &cfam3_i2c15;
45		i2c416 = &cfam3_i2c16;
46		i2c417 = &cfam3_i2c17;
47		i2c500 = &cfam4_i2c0;
48		i2c501 = &cfam4_i2c1;
49		i2c510 = &cfam4_i2c10;
50		i2c511 = &cfam4_i2c11;
51		i2c512 = &cfam4_i2c12;
52		i2c513 = &cfam4_i2c13;
53		i2c514 = &cfam4_i2c14;
54		i2c515 = &cfam4_i2c15;
55		i2c602 = &cfam5_i2c2;
56		i2c603 = &cfam5_i2c3;
57		i2c610 = &cfam5_i2c10;
58		i2c611 = &cfam5_i2c11;
59		i2c614 = &cfam5_i2c14;
60		i2c615 = &cfam5_i2c15;
61		i2c616 = &cfam5_i2c16;
62		i2c617 = &cfam5_i2c17;
63		i2c700 = &cfam6_i2c0;
64		i2c701 = &cfam6_i2c1;
65		i2c710 = &cfam6_i2c10;
66		i2c711 = &cfam6_i2c11;
67		i2c712 = &cfam6_i2c12;
68		i2c713 = &cfam6_i2c13;
69		i2c714 = &cfam6_i2c14;
70		i2c715 = &cfam6_i2c15;
71		i2c802 = &cfam7_i2c2;
72		i2c803 = &cfam7_i2c3;
73		i2c810 = &cfam7_i2c10;
74		i2c811 = &cfam7_i2c11;
75		i2c814 = &cfam7_i2c14;
76		i2c815 = &cfam7_i2c15;
77		i2c816 = &cfam7_i2c16;
78		i2c817 = &cfam7_i2c17;
79
80		i2c16 = &i2c4mux0chn0;
81		i2c17 = &i2c4mux0chn1;
82		i2c18 = &i2c4mux0chn2;
83		i2c19 = &i2c5mux0chn0;
84		i2c20 = &i2c5mux0chn1;
85		i2c21 = &i2c5mux0chn2;
86		i2c22 = &i2c5mux0chn3;
87		i2c23 = &i2c6mux0chn0;
88		i2c24 = &i2c6mux0chn1;
89		i2c25 = &i2c6mux0chn2;
90		i2c26 = &i2c6mux0chn3;
91		i2c27 = &i2c14mux0chn0;
92		i2c28 = &i2c14mux0chn1;
93		i2c29 = &i2c14mux0chn2;
94		i2c30 = &i2c14mux0chn3;
95		i2c31 = &i2c14mux1chn0;
96		i2c32 = &i2c14mux1chn1;
97		i2c33 = &i2c14mux1chn2;
98		i2c34 = &i2c14mux1chn3;
99
100		serial4 = &uart5;
101
102		spi10 = &cfam0_spi0;
103		spi11 = &cfam0_spi1;
104		spi12 = &cfam0_spi2;
105		spi13 = &cfam0_spi3;
106		spi20 = &cfam1_spi0;
107		spi21 = &cfam1_spi1;
108		spi22 = &cfam1_spi2;
109		spi23 = &cfam1_spi3;
110		spi30 = &cfam2_spi0;
111		spi31 = &cfam2_spi1;
112		spi32 = &cfam2_spi2;
113		spi33 = &cfam2_spi3;
114		spi40 = &cfam3_spi0;
115		spi41 = &cfam3_spi1;
116		spi42 = &cfam3_spi2;
117		spi43 = &cfam3_spi3;
118		spi50 = &cfam4_spi0;
119		spi51 = &cfam4_spi1;
120		spi52 = &cfam4_spi2;
121		spi53 = &cfam4_spi3;
122		spi60 = &cfam5_spi0;
123		spi61 = &cfam5_spi1;
124		spi62 = &cfam5_spi2;
125		spi63 = &cfam5_spi3;
126		spi70 = &cfam6_spi0;
127		spi71 = &cfam6_spi1;
128		spi72 = &cfam6_spi2;
129		spi73 = &cfam6_spi3;
130		spi80 = &cfam7_spi0;
131		spi81 = &cfam7_spi1;
132		spi82 = &cfam7_spi2;
133		spi83 = &cfam7_spi3;
134	};
135
136	chosen {
137		stdout-path = &uart5;
138		bootargs = "console=ttyS4,115200n8";
139	};
140
141	memory@80000000 {
142		device_type = "memory";
143		reg = <0x80000000 0x40000000>;
144	};
145
146	reserved-memory {
147		#address-cells = <1>;
148		#size-cells = <1>;
149		ranges;
150
151		/* LPC FW cycle bridge region requires natural alignment */
152		flash_memory: region@b8000000 {
153			no-map;
154			reg = <0xb8000000 0x04000000>; /* 64M */
155		};
156
157		/* 48MB region from the end of flash to start of vga memory */
158		ramoops@bc000000 {
159			compatible = "ramoops";
160			reg = <0xbc000000 0x180000>; /* 16 * (3 * 0x8000) */
161			record-size = <0x8000>;
162			console-size = <0x8000>;
163			pmsg-size = <0x8000>;
164			max-reason = <3>; /* KMSG_DUMP_EMERG */
165		};
166
167		/* VGA region is dictated by hardware strapping */
168		vga_memory: region@bf000000 {
169			no-map;
170			compatible = "shared-dma-pool";
171			reg = <0xbf000000 0x01000000>; /* 16M */
172		};
173	};
174
175	gpio-keys-polled {
176		compatible = "gpio-keys-polled";
177		#address-cells = <1>;
178		#size-cells = <0>;
179		poll-interval = <1000>;
180
181		fan0-presence {
182			label = "fan0-presence";
183			gpios = <&pca0 15 GPIO_ACTIVE_LOW>;
184			linux,code = <15>;
185		};
186
187		fan1-presence {
188			label = "fan1-presence";
189			gpios = <&pca0 14 GPIO_ACTIVE_LOW>;
190			linux,code = <14>;
191		};
192
193		fan2-presence {
194			label = "fan2-presence";
195			gpios = <&pca0 13 GPIO_ACTIVE_LOW>;
196			linux,code = <13>;
197		};
198
199		fan3-presence {
200			label = "fan3-presence";
201			gpios = <&pca0 12 GPIO_ACTIVE_LOW>;
202			linux,code = <12>;
203		};
204	};
205};
206
207&gpio0 {
208	gpio-line-names =
209	/*A0-A7*/	"","","","","","","","",
210	/*B0-B7*/	"USERSPACE_RSTIND_BUFF","","","","","","","",
211	/*C0-C7*/	"","","","","","","","",
212	/*D0-D7*/	"","","","","","","","",
213	/*E0-E7*/	"","","","","","","","",
214	/*F0-F7*/	"PIN_HOLE_RESET_IN_N","","",
215				"PIN_HOLE_RESET_OUT_N","","","","",
216	/*G0-G7*/	"","","","","","","","",
217	/*H0-H7*/	"","","","","","","","",
218	/*I0-I7*/	"","","","","","","","",
219	/*J0-J7*/	"","","","","","","","",
220	/*K0-K7*/	"","","","","","","","",
221	/*L0-L7*/	"","","","","","","","",
222	/*M0-M7*/	"","","","","","","","",
223	/*N0-N7*/	"","","","","","","","",
224	/*O0-O7*/	"","","","","","","","",
225	/*P0-P7*/	"","","","","","","","",
226	/*Q0-Q7*/	"","","","","","","","",
227	/*R0-R7*/	"","","","","","I2C_FLASH_MICRO_N","","",
228	/*S0-S7*/	"","","","","","","","",
229	/*T0-T7*/	"","","","","","","","",
230	/*U0-U7*/	"","","","","","","","",
231	/*V0-V7*/	"","BMC_3RESTART_ATTEMPT_P","","","","","","",
232	/*W0-W7*/	"","","","","","","","",
233	/*X0-X7*/	"","","","","","","","",
234	/*Y0-Y7*/	"","","","","","","","",
235	/*Z0-Z7*/   "","","","","","","","";
236};
237
238&i2c0 {
239	status = "okay";
240
241	eeprom@51 {
242		compatible = "atmel,24c64";
243		reg = <0x51>;
244	};
245
246	pca1: pca9552@62 {
247		compatible = "nxp,pca9552";
248		reg = <0x62>;
249		#address-cells = <1>;
250		#size-cells = <0>;
251
252		gpio-controller;
253		#gpio-cells = <2>;
254
255		gpio-line-names =
256			"presence-ps0",
257			"presence-ps1",
258			"presence-ps2",
259			"presence-ps3",
260			"presence-pdb",
261			"presence-tpm",
262			"", "",
263			"presence-cp0",
264			"presence-cp1",
265			"presence-cp2",
266			"presence-cp3",
267			"presence-dasd",
268			"presence-lcd-op",
269			"presence-base-op",
270			"";
271
272		gpio@0 {
273			reg = <0>;
274			type = <PCA955X_TYPE_GPIO>;
275		};
276
277		gpio@01 {
278			reg = <1>;
279			type = <PCA955X_TYPE_GPIO>;
280		};
281
282		gpio@2 {
283			reg = <2>;
284			type = <PCA955X_TYPE_GPIO>;
285		};
286
287		gpio@3 {
288			reg = <3>;
289			type = <PCA955X_TYPE_GPIO>;
290		};
291
292		gpio@4 {
293			reg = <4>;
294			type = <PCA955X_TYPE_GPIO>;
295		};
296
297		gpio@5 {
298			reg = <5>;
299			type = <PCA955X_TYPE_GPIO>;
300		};
301
302		gpio@6 {
303			reg = <6>;
304			type = <PCA955X_TYPE_GPIO>;
305		};
306
307		gpio@7 {
308			reg = <7>;
309			type = <PCA955X_TYPE_GPIO>;
310		};
311
312		gpio@8 {
313			reg = <8>;
314			type = <PCA955X_TYPE_GPIO>;
315		};
316
317		gpio@9 {
318			reg = <9>;
319			type = <PCA955X_TYPE_GPIO>;
320		};
321
322		gpio@10 {
323			reg = <10>;
324			type = <PCA955X_TYPE_GPIO>;
325		};
326
327		gpio@11 {
328			reg = <11>;
329			type = <PCA955X_TYPE_GPIO>;
330		};
331
332		gpio@12 {
333			reg = <12>;
334			type = <PCA955X_TYPE_GPIO>;
335		};
336
337		gpio@13 {
338			reg = <13>;
339			type = <PCA955X_TYPE_GPIO>;
340		};
341
342		gpio@14 {
343			reg = <14>;
344			type = <PCA955X_TYPE_GPIO>;
345		};
346
347		gpio@15 {
348			reg = <15>;
349			type = <PCA955X_TYPE_GPIO>;
350		};
351	};
352};
353
354&i2c1 {
355	status = "okay";
356
357	pca2: pca9552@61 {
358		compatible = "nxp,pca9552";
359		reg = <0x61>;
360		#address-cells = <1>;
361		#size-cells = <0>;
362
363		gpio-controller;
364		#gpio-cells = <2>;
365
366		gpio-line-names =
367			"presence-cable-card1",
368			"presence-cable-card2",
369			"presence-cable-card3",
370			"presence-cable-card4",
371			"presence-cable-card5",
372			"expander-cable-card1",
373			"expander-cable-card2",
374			"expander-cable-card3",
375			"expander-cable-card4",
376			"expander-cable-card5";
377
378		gpio@0 {
379			reg = <0>;
380			type = <PCA955X_TYPE_GPIO>;
381		};
382
383		gpio@1 {
384			reg = <1>;
385			type = <PCA955X_TYPE_GPIO>;
386		};
387
388		gpio@2 {
389			reg = <2>;
390			type = <PCA955X_TYPE_GPIO>;
391		};
392
393		gpio@3 {
394			reg = <3>;
395			type = <PCA955X_TYPE_GPIO>;
396		};
397
398		gpio@4 {
399			reg = <4>;
400			type = <PCA955X_TYPE_GPIO>;
401		};
402
403		gpio@5 {
404			reg = <5>;
405			type = <PCA955X_TYPE_GPIO>;
406		};
407
408		gpio@6 {
409			reg = <6>;
410			type = <PCA955X_TYPE_GPIO>;
411		};
412
413		gpio@7 {
414			reg = <7>;
415			type = <PCA955X_TYPE_GPIO>;
416		};
417
418		gpio@8 {
419			reg = <8>;
420			type = <PCA955X_TYPE_GPIO>;
421		};
422
423		gpio@9 {
424			reg = <9>;
425			type = <PCA955X_TYPE_GPIO>;
426		};
427
428	};
429
430	pca3: pca9552@62 {
431		compatible = "nxp,pca9552";
432		reg = <0x62>;
433		#address-cells = <1>;
434		#size-cells = <0>;
435
436		gpio-controller;
437		#gpio-cells = <2>;
438
439		gpio-line-names =
440			"presence-cable-card6",
441			"presence-cable-card7",
442			"presence-cable-card8",
443			"presence-cable-card9",
444			"presence-cable-card10",
445			"presence-cable-card11",
446			"expander-cable-card6",
447			"expander-cable-card7",
448			"expander-cable-card8",
449			"expander-cable-card9",
450			"expander-cable-card10",
451			"expander-cable-card11";
452
453		gpio@0 {
454			reg = <0>;
455			type = <PCA955X_TYPE_GPIO>;
456		};
457
458		gpio@1 {
459			reg = <1>;
460			type = <PCA955X_TYPE_GPIO>;
461		};
462
463		gpio@2 {
464			reg = <2>;
465			type = <PCA955X_TYPE_GPIO>;
466		};
467
468		gpio@3 {
469			reg = <3>;
470			type = <PCA955X_TYPE_GPIO>;
471		};
472
473		gpio@4 {
474			reg = <4>;
475			type = <PCA955X_TYPE_GPIO>;
476		};
477
478		gpio@5 {
479			reg = <5>;
480			type = <PCA955X_TYPE_GPIO>;
481		};
482
483		gpio@6 {
484			reg = <6>;
485			type = <PCA955X_TYPE_GPIO>;
486		};
487
488		gpio@7 {
489			reg = <7>;
490			type = <PCA955X_TYPE_GPIO>;
491		};
492
493		gpio@8 {
494			reg = <8>;
495			type = <PCA955X_TYPE_GPIO>;
496		};
497
498		gpio@9 {
499			reg = <9>;
500			type = <PCA955X_TYPE_GPIO>;
501		};
502
503		gpio@10 {
504			reg = <10>;
505			type = <PCA955X_TYPE_GPIO>;
506		};
507
508		gpio@11 {
509			reg = <11>;
510			type = <PCA955X_TYPE_GPIO>;
511		};
512
513	};
514
515};
516
517&i2c2 {
518	status = "okay";
519};
520
521&i2c3 {
522	status = "okay";
523
524	eeprom@54 {
525		compatible = "atmel,24c128";
526		reg = <0x54>;
527	};
528
529	power-supply@68 {
530		compatible = "ibm,cffps";
531		reg = <0x68>;
532	};
533
534	power-supply@69 {
535		compatible = "ibm,cffps";
536		reg = <0x69>;
537	};
538
539	power-supply@6a {
540		compatible = "ibm,cffps";
541		reg = <0x6a>;
542	};
543
544	power-supply@6b {
545		compatible = "ibm,cffps";
546		reg = <0x6b>;
547	};
548};
549
550&i2c4 {
551	status = "okay";
552
553	i2c-switch@70 {
554		compatible = "nxp,pca9546";
555		reg = <0x70>;
556		#address-cells = <1>;
557		#size-cells = <0>;
558		status = "okay";
559		i2c-mux-idle-disconnect;
560
561		i2c4mux0chn0: i2c@0 {
562			#address-cells = <1>;
563			#size-cells = <0>;
564			reg = <0>;
565			eeprom@52 {
566				compatible = "atmel,24c64";
567				reg = <0x52>;
568			};
569		};
570
571		i2c4mux0chn1: i2c@1 {
572			#address-cells = <1>;
573			#size-cells = <0>;
574			reg = <1>;
575			eeprom@50 {
576				compatible = "atmel,24c64";
577				reg = <0x50>;
578			};
579		};
580
581		i2c4mux0chn2: i2c@2 {
582			#address-cells = <1>;
583			#size-cells = <0>;
584			reg = <2>;
585			eeprom@51 {
586				compatible = "atmel,24c64";
587				reg = <0x51>;
588			};
589		};
590	};
591};
592
593&i2c5 {
594	status = "okay";
595
596	i2c-switch@70 {
597		compatible = "nxp,pca9546";
598		reg = <0x70>;
599		#address-cells = <1>;
600		#size-cells = <0>;
601		status = "okay";
602		i2c-mux-idle-disconnect;
603
604		i2c5mux0chn0: i2c@0 {
605			#address-cells = <1>;
606			#size-cells = <0>;
607			reg = <0>;
608			eeprom@50 {
609				compatible = "atmel,24c64";
610				reg = <0x50>;
611			};
612		};
613
614		i2c5mux0chn1: i2c@1 {
615			#address-cells = <1>;
616			#size-cells = <0>;
617			reg = <1>;
618			eeprom@51 {
619				compatible = "atmel,24c64";
620				reg = <0x51>;
621			};
622		};
623
624		i2c5mux0chn2: i2c@2 {
625			#address-cells = <1>;
626			#size-cells = <0>;
627			reg = <2>;
628			eeprom@52 {
629				compatible = "atmel,24c64";
630				reg = <0x52>;
631			};
632		};
633
634		i2c5mux0chn3: i2c@3 {
635			#address-cells = <1>;
636			#size-cells = <0>;
637			reg = <3>;
638			eeprom@53 {
639				compatible = "atmel,24c64";
640				reg = <0x53>;
641			};
642		};
643	};
644};
645
646&i2c6 {
647	status = "okay";
648
649	i2c-switch@70 {
650		compatible = "nxp,pca9546";
651		reg = <0x70>;
652		#address-cells = <1>;
653		#size-cells = <0>;
654		status = "okay";
655		i2c-mux-idle-disconnect;
656
657		i2c6mux0chn0: i2c@0 {
658			#address-cells = <1>;
659			#size-cells = <0>;
660			reg = <0>;
661			eeprom@50 {
662				compatible = "atmel,24c64";
663				reg = <0x50>;
664			};
665		};
666
667		i2c6mux0chn1: i2c@1 {
668			#address-cells = <1>;
669			#size-cells = <0>;
670			reg = <1>;
671			eeprom@52 {
672				compatible = "atmel,24c64";
673				reg = <0x52>;
674			};
675		};
676
677		i2c6mux0chn2: i2c@2 {
678			#address-cells = <1>;
679			#size-cells = <0>;
680			reg = <2>;
681			eeprom@53 {
682				compatible = "atmel,24c64";
683				reg = <0x53>;
684			};
685		};
686
687		i2c6mux0chn3: i2c@3 {
688			#address-cells = <1>;
689			#size-cells = <0>;
690			reg = <3>;
691			eeprom@51 {
692				compatible = "atmel,24c64";
693				reg = <0x51>;
694			};
695		};
696	};
697};
698
699&i2c7 {
700	status = "okay";
701};
702
703&i2c8 {
704	status = "okay";
705
706	ucd90320@11 {
707		compatible = "ti,ucd90320";
708		reg = <0x11>;
709	};
710
711	rtc@32 {
712		compatible = "epson,rx8900";
713		reg = <0x32>;
714	};
715
716	eeprom@51 {
717		compatible = "atmel,24c64";
718		reg = <0x51>;
719	};
720
721	eeprom@50 {
722		compatible = "atmel,24c128";
723		reg = <0x50>;
724	};
725};
726
727&i2c9 {
728	status = "okay";
729
730	eeprom@50 {
731		compatible = "atmel,24c128";
732		reg = <0x50>;
733	};
734
735	eeprom@51 {
736		compatible = "atmel,24c128";
737		reg = <0x51>;
738	};
739
740	eeprom@53 {
741		compatible = "atmel,24c128";
742		reg = <0x53>;
743	};
744
745	eeprom@52 {
746		compatible = "atmel,24c128";
747		reg = <0x52>;
748	};
749};
750
751&i2c10 {
752	status = "okay";
753
754	eeprom@51 {
755		compatible = "atmel,24c128";
756		reg = <0x51>;
757	};
758
759	eeprom@50 {
760		compatible = "atmel,24c128";
761		reg = <0x50>;
762	};
763
764	eeprom@53 {
765		compatible = "atmel,24c128";
766		reg = <0x53>;
767	};
768
769	eeprom@52 {
770		compatible = "atmel,24c128";
771		reg = <0x52>;
772	};
773};
774
775&i2c11 {
776	status = "okay";
777
778	eeprom@51 {
779		compatible = "atmel,24c128";
780		reg = <0x51>;
781	};
782
783	eeprom@50 {
784		compatible = "atmel,24c128";
785		reg = <0x50>;
786	};
787
788	eeprom@53 {
789		compatible = "atmel,24c128";
790		reg = <0x53>;
791	};
792
793	eeprom@52 {
794		compatible = "atmel,24c128";
795		reg = <0x52>;
796	};
797};
798
799&i2c12 {
800	status = "okay";
801};
802
803&i2c13 {
804	status = "okay";
805
806	eeprom@51 {
807		compatible = "atmel,24c128";
808		reg = <0x51>;
809	};
810
811	eeprom@50 {
812		compatible = "atmel,24c128";
813		reg = <0x50>;
814	};
815
816	eeprom@53 {
817		compatible = "atmel,24c128";
818		reg = <0x53>;
819	};
820
821	eeprom@52 {
822		compatible = "atmel,24c128";
823		reg = <0x52>;
824	};
825};
826
827&i2c14 {
828	status = "okay";
829
830	i2c-switch@70 {
831		compatible = "nxp,pca9546";
832		reg = <0x70>;
833		#address-cells = <1>;
834		#size-cells = <0>;
835		status = "okay";
836		i2c-mux-idle-disconnect;
837
838		i2c14mux0chn0: i2c@0 {
839			#address-cells = <1>;
840			#size-cells = <0>;
841			reg = <0>;
842			eeprom@50 {
843				compatible = "atmel,24c64";
844				reg = <0x50>;
845			};
846		};
847
848		i2c14mux0chn1: i2c@1 {
849			#address-cells = <1>;
850			#size-cells = <0>;
851			reg = <1>;
852			eeprom@51 {
853				compatible = "atmel,24c32";
854				reg = <0x51>;
855			};
856		};
857
858		i2c14mux0chn2: i2c@2 {
859			#address-cells = <1>;
860			#size-cells = <0>;
861			reg = <2>;
862			eeprom@50 {
863				compatible = "atmel,24c32";
864				reg = <0x50>;
865			};
866		};
867
868		i2c14mux0chn3: i2c@3 {
869			#address-cells = <1>;
870			#size-cells = <0>;
871			reg = <3>;
872
873			max31785@52 {
874				compatible = "maxim,max31785a";
875				#address-cells = <1>;
876				#size-cells = <0>;
877				reg = <0x52>;
878
879				fan@0 {
880					compatible = "pmbus-fan";
881					reg = <0>;
882					tach-pulses = <2>;
883				};
884
885				fan@1 {
886					compatible = "pmbus-fan";
887					reg = <1>;
888					tach-pulses = <2>;
889				};
890
891				fan@2 {
892					compatible = "pmbus-fan";
893					reg = <2>;
894					tach-pulses = <2>;
895				};
896
897				fan@3 {
898					compatible = "pmbus-fan";
899					reg = <3>;
900					tach-pulses = <2>;
901				};
902			};
903
904			pca0: pca9552@61 {
905				compatible = "nxp,pca9552";
906				#address-cells = <1>;
907				#size-cells = <0>;
908				reg = <0x61>;
909
910				gpio-controller;
911				#gpio-cells = <2>;
912
913				gpio-line-names =
914					"","","","",
915					"","","","",
916					"","","","",
917					"presence-fan3",
918					"presence-fan2",
919					"presence-fan1",
920					"presence-fan0";
921
922				gpio@0 {
923					reg = <0>;
924					type = <PCA955X_TYPE_GPIO>;
925				};
926
927				gpio@1 {
928					reg = <1>;
929					type = <PCA955X_TYPE_GPIO>;
930				};
931
932				gpio@2 {
933					reg = <2>;
934					type = <PCA955X_TYPE_GPIO>;
935				};
936
937				gpio@3 {
938					reg = <3>;
939					type = <PCA955X_TYPE_GPIO>;
940				};
941
942				gpio@4 {
943					reg = <4>;
944					type = <PCA955X_TYPE_GPIO>;
945				};
946
947				gpio@5 {
948					reg = <5>;
949					type = <PCA955X_TYPE_GPIO>;
950				};
951
952				gpio@6 {
953					reg = <6>;
954					type = <PCA955X_TYPE_GPIO>;
955				};
956
957				gpio@7 {
958					reg = <7>;
959					type = <PCA955X_TYPE_GPIO>;
960				};
961
962				gpio@8 {
963					reg = <8>;
964					type = <PCA955X_TYPE_GPIO>;
965				};
966
967				gpio@9 {
968					reg = <9>;
969					type = <PCA955X_TYPE_GPIO>;
970				};
971
972				gpio@10 {
973					reg = <10>;
974					type = <PCA955X_TYPE_GPIO>;
975				};
976
977				gpio@11 {
978					reg = <11>;
979					type = <PCA955X_TYPE_GPIO>;
980				};
981
982				gpio@12 {
983					reg = <12>;
984					type = <PCA955X_TYPE_GPIO>;
985				};
986
987				gpio@13 {
988					reg = <13>;
989					type = <PCA955X_TYPE_GPIO>;
990				};
991
992				gpio@14 {
993					reg = <14>;
994					type = <PCA955X_TYPE_GPIO>;
995				};
996
997				gpio@15 {
998					reg = <15>;
999					type = <PCA955X_TYPE_GPIO>;
1000				};
1001			};
1002		};
1003	};
1004
1005	i2c-switch@71 {
1006		compatible = "nxp,pca9546";
1007		reg = <0x71>;
1008		#address-cells = <1>;
1009		#size-cells = <0>;
1010		status = "okay";
1011		i2c-mux-idle-disconnect;
1012
1013		i2c14mux1chn0: i2c@0 {
1014			#address-cells = <1>;
1015			#size-cells = <0>;
1016			reg = <0>;
1017			eeprom@50 {
1018				compatible = "atmel,24c32";
1019				reg = <0x50>;
1020			};
1021		};
1022
1023		i2c14mux1chn1: i2c@1 {
1024			#address-cells = <1>;
1025			#size-cells = <0>;
1026			reg = <1>;
1027			eeprom@50 {
1028				compatible = "atmel,24c32";
1029				reg = <0x50>;
1030			};
1031		};
1032
1033		i2c14mux1chn2: i2c@2 {
1034			#address-cells = <1>;
1035			#size-cells = <0>;
1036			reg = <2>;
1037			eeprom@50 {
1038				compatible = "atmel,24c32";
1039				reg = <0x50>;
1040			};
1041		};
1042
1043		i2c14mux1chn3: i2c@3 {
1044			#address-cells = <1>;
1045			#size-cells = <0>;
1046			reg = <3>;
1047			eeprom@50 {
1048				compatible = "atmel,24c32";
1049				reg = <0x50>;
1050			};
1051		};
1052	};
1053};
1054
1055&i2c15 {
1056	status = "okay";
1057};
1058
1059&ehci1 {
1060	status = "okay";
1061};
1062
1063&emmc_controller {
1064	status = "okay";
1065};
1066
1067&pinctrl_emmc_default {
1068	bias-disable;
1069};
1070
1071&emmc {
1072	status = "okay";
1073};
1074
1075&fsim0 {
1076	status = "okay";
1077
1078	#address-cells = <2>;
1079	#size-cells = <0>;
1080
1081	/*
1082	 * CFAM Reset is supposed to be active low but pass1 hardware is wired
1083	 * active high.
1084	 */
1085	cfam-reset-gpios = <&gpio0 ASPEED_GPIO(Q, 0) GPIO_ACTIVE_HIGH>;
1086
1087	cfam@0,0 {	/* DCM0_C0 */
1088		reg = <0 0>;
1089		#address-cells = <1>;
1090		#size-cells = <1>;
1091		chip-id = <0>;
1092
1093		scom@1000 {
1094			compatible = "ibm,fsi2pib";
1095			reg = <0x1000 0x400>;
1096		};
1097
1098		i2c@1800 {
1099			compatible = "ibm,fsi-i2c-master";
1100			reg = <0x1800 0x400>;
1101			#address-cells = <1>;
1102			#size-cells = <0>;
1103
1104			cfam0_i2c0: i2c-bus@0 {
1105				reg = <0>;	/* OMI01 */
1106			};
1107
1108			cfam0_i2c1: i2c-bus@1 {
1109				reg = <1>;	/* OMI23 */
1110			};
1111
1112			cfam0_i2c10: i2c-bus@a {
1113				reg = <10>;	/* OP3A */
1114			};
1115
1116			cfam0_i2c11: i2c-bus@b {
1117				reg = <11>;	/* OP3B */
1118			};
1119
1120			cfam0_i2c12: i2c-bus@c {
1121				reg = <12>;	/* OP4A */
1122			};
1123
1124			cfam0_i2c13: i2c-bus@d {
1125				reg = <13>;	/* OP4B */
1126			};
1127
1128			cfam0_i2c14: i2c-bus@e {
1129				reg = <14>;	/* OP5A */
1130			};
1131
1132			cfam0_i2c15: i2c-bus@f {
1133				reg = <15>;	/* OP5B */
1134			};
1135		};
1136
1137		fsi2spi@1c00 {
1138			compatible = "ibm,fsi2spi";
1139			reg = <0x1c00 0x400>;
1140			#address-cells = <1>;
1141			#size-cells = <0>;
1142
1143			cfam0_spi0: spi@0 {
1144				reg = <0x0>;
1145				#address-cells = <1>;
1146				#size-cells = <0>;
1147
1148				eeprom@0 {
1149					at25,byte-len = <0x80000>;
1150					at25,addr-mode = <4>;
1151					at25,page-size = <256>;
1152
1153					compatible = "atmel,at25";
1154					reg = <0>;
1155					spi-max-frequency = <1000000>;
1156				};
1157			};
1158
1159			cfam0_spi1: spi@20 {
1160				reg = <0x20>;
1161				#address-cells = <1>;
1162				#size-cells = <0>;
1163
1164				eeprom@0 {
1165					at25,byte-len = <0x80000>;
1166					at25,addr-mode = <4>;
1167					at25,page-size = <256>;
1168
1169					compatible = "atmel,at25";
1170					reg = <0>;
1171					spi-max-frequency = <1000000>;
1172				};
1173			};
1174
1175			cfam0_spi2: spi@40 {
1176				reg = <0x40>;
1177				compatible = "ibm,fsi2spi-restricted";
1178				#address-cells = <1>;
1179				#size-cells = <0>;
1180
1181				eeprom@0 {
1182					at25,byte-len = <0x80000>;
1183					at25,addr-mode = <4>;
1184					at25,page-size = <256>;
1185
1186					compatible = "atmel,at25";
1187					reg = <0>;
1188					spi-max-frequency = <1000000>;
1189				};
1190			};
1191
1192			cfam0_spi3: spi@60 {
1193				reg = <0x60>;
1194				compatible = "ibm,fsi2spi-restricted";
1195				#address-cells = <1>;
1196				#size-cells = <0>;
1197
1198				eeprom@0 {
1199					at25,byte-len = <0x80000>;
1200					at25,addr-mode = <4>;
1201					at25,page-size = <256>;
1202
1203					compatible = "atmel,at25";
1204					reg = <0>;
1205					spi-max-frequency = <1000000>;
1206				};
1207			};
1208		};
1209
1210		sbefifo@2400 {
1211			compatible = "ibm,p9-sbefifo";
1212			reg = <0x2400 0x400>;
1213			#address-cells = <1>;
1214			#size-cells = <0>;
1215
1216			fsi_occ0: occ {
1217				compatible = "ibm,p10-occ";
1218			};
1219		};
1220
1221		fsi_hub0: hub@3400 {
1222			compatible = "fsi-master-hub";
1223			reg = <0x3400 0x400>;
1224			#address-cells = <2>;
1225			#size-cells = <0>;
1226		};
1227	};
1228};
1229
1230&fsi_hub0 {
1231	cfam@1,0 { /* DCM0_C1 */
1232		reg = <1 0>;
1233		#address-cells = <1>;
1234		#size-cells = <1>;
1235		chip-id = <1>;
1236
1237		scom@1000 {
1238			compatible = "ibm,fsi2pib";
1239			reg = <0x1000 0x400>;
1240		};
1241
1242		i2c@1800 {
1243			compatible = "ibm,fsi-i2c-master";
1244			reg = <0x1800 0x400>;
1245			#address-cells = <1>;
1246			#size-cells = <0>;
1247
1248			cfam1_i2c2: i2c-bus@2 {
1249				reg = <2>;	/* OMI45 */
1250			};
1251
1252			cfam1_i2c3: i2c-bus@3 {
1253				reg = <3>;	/* OMI67 */
1254			};
1255
1256			cfam1_i2c10: i2c-bus@a {
1257				reg = <10>;	/* OP3A */
1258			};
1259
1260			cfam1_i2c11: i2c-bus@b {
1261				reg = <11>;	/* OP3B */
1262			};
1263
1264			cfam1_i2c14: i2c-bus@e {
1265				reg = <14>;	/* OP5A */
1266			};
1267
1268			cfam1_i2c15: i2c-bus@f {
1269				reg = <15>;	/* OP5B */
1270			};
1271
1272			cfam1_i2c16: i2c-bus@10 {
1273				reg = <16>;	/* OP6A */
1274			};
1275
1276			cfam1_i2c17: i2c-bus@11 {
1277				reg = <17>;	/* OP6B */
1278			};
1279		};
1280
1281		fsi2spi@1c00 {
1282			compatible = "ibm,fsi2spi";
1283			reg = <0x1c00 0x400>;
1284			#address-cells = <1>;
1285			#size-cells = <0>;
1286
1287			cfam1_spi0: spi@0 {
1288				reg = <0x0>;
1289				#address-cells = <1>;
1290				#size-cells = <0>;
1291
1292				eeprom@0 {
1293					at25,byte-len = <0x80000>;
1294					at25,addr-mode = <4>;
1295					at25,page-size = <256>;
1296
1297					compatible = "atmel,at25";
1298					reg = <0>;
1299					spi-max-frequency = <1000000>;
1300				};
1301			};
1302
1303			cfam1_spi1: spi@20 {
1304				reg = <0x20>;
1305				#address-cells = <1>;
1306				#size-cells = <0>;
1307
1308				eeprom@0 {
1309					at25,byte-len = <0x80000>;
1310					at25,addr-mode = <4>;
1311					at25,page-size = <256>;
1312
1313					compatible = "atmel,at25";
1314					reg = <0>;
1315					spi-max-frequency = <1000000>;
1316				};
1317			};
1318
1319			cfam1_spi2: spi@40 {
1320				reg = <0x40>;
1321				compatible = "ibm,fsi2spi-restricted";
1322				#address-cells = <1>;
1323				#size-cells = <0>;
1324
1325				eeprom@0 {
1326					at25,byte-len = <0x80000>;
1327					at25,addr-mode = <4>;
1328					at25,page-size = <256>;
1329
1330					compatible = "atmel,at25";
1331					reg = <0>;
1332					spi-max-frequency = <1000000>;
1333				};
1334			};
1335
1336			cfam1_spi3: spi@60 {
1337				reg = <0x60>;
1338				compatible = "ibm,fsi2spi-restricted";
1339				#address-cells = <1>;
1340				#size-cells = <0>;
1341
1342				eeprom@0 {
1343					at25,byte-len = <0x80000>;
1344					at25,addr-mode = <4>;
1345					at25,page-size = <256>;
1346
1347					compatible = "atmel,at25";
1348					reg = <0>;
1349					spi-max-frequency = <1000000>;
1350				};
1351			};
1352		};
1353
1354		sbefifo@2400 {
1355			compatible = "ibm,p9-sbefifo";
1356			reg = <0x2400 0x400>;
1357			#address-cells = <1>;
1358			#size-cells = <0>;
1359
1360			fsi_occ1: occ {
1361				compatible = "ibm,p10-occ";
1362			};
1363		};
1364
1365		fsi_hub1: hub@3400 {
1366			compatible = "fsi-master-hub";
1367			reg = <0x3400 0x400>;
1368			#address-cells = <2>;
1369			#size-cells = <0>;
1370
1371			no-scan-on-init;
1372		};
1373	};
1374
1375	cfam@2,0 { /* DCM1_C0 */
1376		reg = <2 0>;
1377		#address-cells = <1>;
1378		#size-cells = <1>;
1379		chip-id = <2>;
1380
1381		scom@1000 {
1382			compatible = "ibm,fsi2pib";
1383			reg = <0x1000 0x400>;
1384		};
1385
1386		i2c@1800 {
1387			compatible = "ibm,fsi-i2c-master";
1388			reg = <0x1800 0x400>;
1389			#address-cells = <1>;
1390			#size-cells = <0>;
1391
1392			cfam2_i2c0: i2c-bus@0 {
1393				reg = <0>;	/* OM01 */
1394			};
1395
1396			cfam2_i2c1: i2c-bus@1 {
1397				reg = <1>;	/* OM23 */
1398			};
1399
1400			cfam2_i2c10: i2c-bus@a {
1401				reg = <10>;	/* OP3A */
1402			};
1403
1404			cfam2_i2c11: i2c-bus@b {
1405				reg = <11>;	/* OP3B */
1406			};
1407
1408			cfam2_i2c12: i2c-bus@c {
1409				reg = <12>;	/* OP4A */
1410			};
1411
1412			cfam2_i2c13: i2c-bus@d {
1413				reg = <13>;	/* OP4B */
1414			};
1415
1416			cfam2_i2c14: i2c-bus@e {
1417				reg = <14>;	/* OP5A */
1418			};
1419
1420			cfam2_i2c15: i2c-bus@f {
1421				reg = <15>;	/* OP5B */
1422			};
1423		};
1424
1425		fsi2spi@1c00 {
1426			compatible = "ibm,fsi2spi";
1427			reg = <0x1c00 0x400>;
1428			#address-cells = <1>;
1429			#size-cells = <0>;
1430
1431			cfam2_spi0: spi@0 {
1432				reg = <0x0>;
1433				#address-cells = <1>;
1434				#size-cells = <0>;
1435
1436				eeprom@0 {
1437					at25,byte-len = <0x80000>;
1438					at25,addr-mode = <4>;
1439					at25,page-size = <256>;
1440
1441					compatible = "atmel,at25";
1442					reg = <0>;
1443					spi-max-frequency = <1000000>;
1444				};
1445			};
1446
1447			cfam2_spi1: spi@20 {
1448				reg = <0x20>;
1449				#address-cells = <1>;
1450				#size-cells = <0>;
1451
1452				eeprom@0 {
1453					at25,byte-len = <0x80000>;
1454					at25,addr-mode = <4>;
1455					at25,page-size = <256>;
1456
1457					compatible = "atmel,at25";
1458					reg = <0>;
1459					spi-max-frequency = <1000000>;
1460				};
1461			};
1462
1463			cfam2_spi2: spi@40 {
1464				reg = <0x40>;
1465				compatible = "ibm,fsi2spi-restricted";
1466				#address-cells = <1>;
1467				#size-cells = <0>;
1468
1469				eeprom@0 {
1470					at25,byte-len = <0x80000>;
1471					at25,addr-mode = <4>;
1472					at25,page-size = <256>;
1473
1474					compatible = "atmel,at25";
1475					reg = <0>;
1476					spi-max-frequency = <1000000>;
1477				};
1478			};
1479
1480			cfam2_spi3: spi@60 {
1481				reg = <0x60>;
1482				compatible = "ibm,fsi2spi-restricted";
1483				#address-cells = <1>;
1484				#size-cells = <0>;
1485
1486				eeprom@0 {
1487					at25,byte-len = <0x80000>;
1488					at25,addr-mode = <4>;
1489					at25,page-size = <256>;
1490
1491					compatible = "atmel,at25";
1492					reg = <0>;
1493					spi-max-frequency = <1000000>;
1494				};
1495			};
1496		};
1497
1498		sbefifo@2400 {
1499			compatible = "ibm,p9-sbefifo";
1500			reg = <0x2400 0x400>;
1501			#address-cells = <1>;
1502			#size-cells = <0>;
1503
1504			fsi_occ2: occ {
1505				compatible = "ibm,p10-occ";
1506			};
1507		};
1508
1509		fsi_hub2: hub@3400 {
1510			compatible = "fsi-master-hub";
1511			reg = <0x3400 0x400>;
1512			#address-cells = <2>;
1513			#size-cells = <0>;
1514
1515			no-scan-on-init;
1516		};
1517	};
1518
1519	cfam@3,0 { /* DCM1_C1 */
1520		reg = <3 0>;
1521		#address-cells = <1>;
1522		#size-cells = <1>;
1523		chip-id = <3>;
1524
1525		scom@1000 {
1526			compatible = "ibm,fsi2pib";
1527			reg = <0x1000 0x400>;
1528		};
1529
1530		i2c@1800 {
1531			compatible = "ibm,fsi-i2c-master";
1532			reg = <0x1800 0x400>;
1533			#address-cells = <1>;
1534			#size-cells = <0>;
1535
1536			cfam3_i2c2: i2c-bus@2 {
1537				reg = <2>;	/* OM45 */
1538			};
1539
1540			cfam3_i2c3: i2c-bus@3 {
1541				reg = <3>;	/* OM67 */
1542			};
1543
1544			cfam3_i2c10: i2c-bus@a {
1545				reg = <10>;	/* OP3A */
1546			};
1547
1548			cfam3_i2c11: i2c-bus@b {
1549				reg = <11>;	/* OP3B */
1550			};
1551
1552			cfam3_i2c14: i2c-bus@e {
1553				reg = <14>;	/* OP5A */
1554			};
1555
1556			cfam3_i2c15: i2c-bus@f {
1557				reg = <15>;	/* OP5B */
1558			};
1559
1560			cfam3_i2c16: i2c-bus@10 {
1561				reg = <16>;	/* OP6A */
1562			};
1563
1564			cfam3_i2c17: i2c-bus@11 {
1565				reg = <17>;	/* OP6B */
1566			};
1567		};
1568
1569		fsi2spi@1c00 {
1570			compatible = "ibm,fsi2spi";
1571			reg = <0x1c00 0x400>;
1572			#address-cells = <1>;
1573			#size-cells = <0>;
1574
1575			cfam3_spi0: spi@0 {
1576				reg = <0x0>;
1577				#address-cells = <1>;
1578				#size-cells = <0>;
1579
1580				eeprom@0 {
1581					at25,byte-len = <0x80000>;
1582					at25,addr-mode = <4>;
1583					at25,page-size = <256>;
1584
1585					compatible = "atmel,at25";
1586					reg = <0>;
1587					spi-max-frequency = <1000000>;
1588				};
1589			};
1590
1591			cfam3_spi1: spi@20 {
1592				reg = <0x20>;
1593				#address-cells = <1>;
1594				#size-cells = <0>;
1595
1596				eeprom@0 {
1597					at25,byte-len = <0x80000>;
1598					at25,addr-mode = <4>;
1599					at25,page-size = <256>;
1600
1601					compatible = "atmel,at25";
1602					reg = <0>;
1603					spi-max-frequency = <1000000>;
1604				};
1605			};
1606
1607			cfam3_spi2: spi@40 {
1608				reg = <0x40>;
1609				compatible = "ibm,fsi2spi-restricted";
1610				#address-cells = <1>;
1611				#size-cells = <0>;
1612
1613				eeprom@0 {
1614					at25,byte-len = <0x80000>;
1615					at25,addr-mode = <4>;
1616					at25,page-size = <256>;
1617
1618					compatible = "atmel,at25";
1619					reg = <0>;
1620					spi-max-frequency = <1000000>;
1621				};
1622			};
1623
1624			cfam3_spi3: spi@60 {
1625				reg = <0x60>;
1626				compatible = "ibm,fsi2spi-restricted";
1627				#address-cells = <1>;
1628				#size-cells = <0>;
1629
1630				eeprom@0 {
1631					at25,byte-len = <0x80000>;
1632					at25,addr-mode = <4>;
1633					at25,page-size = <256>;
1634
1635					compatible = "atmel,at25";
1636					reg = <0>;
1637					spi-max-frequency = <1000000>;
1638				};
1639			};
1640		};
1641
1642		sbefifo@2400 {
1643			compatible = "ibm,p9-sbefifo";
1644			reg = <0x2400 0x400>;
1645			#address-cells = <1>;
1646			#size-cells = <0>;
1647
1648			fsi_occ3: occ {
1649				compatible = "ibm,p10-occ";
1650			};
1651		};
1652
1653		fsi_hub3: hub@3400 {
1654			compatible = "fsi-master-hub";
1655			reg = <0x3400 0x400>;
1656			#address-cells = <2>;
1657			#size-cells = <0>;
1658
1659			no-scan-on-init;
1660		};
1661	};
1662
1663	cfam@4,0 { /* DCM2_C0 */
1664		reg = <4 0>;
1665		#address-cells = <1>;
1666		#size-cells = <1>;
1667		chip-id = <4>;
1668
1669		scom@1000 {
1670			compatible = "ibm,fsi2pib";
1671			reg = <0x1000 0x400>;
1672		};
1673
1674		i2c@1800 {
1675			compatible = "ibm,fsi-i2c-master";
1676			reg = <0x1800 0x400>;
1677			#address-cells = <1>;
1678			#size-cells = <0>;
1679
1680			cfam4_i2c0: i2c-bus@0 {
1681				reg = <0>;	/* OM01 */
1682			};
1683
1684			cfam4_i2c1: i2c-bus@1 {
1685				reg = <1>;	/* OM23 */
1686			};
1687
1688			cfam4_i2c10: i2c-bus@a {
1689				reg = <10>;	/* OP3A */
1690			};
1691
1692			cfam4_i2c11: i2c-bus@b {
1693				reg = <11>;	/* OP3B */
1694			};
1695
1696			cfam4_i2c12: i2c-bus@c {
1697				reg = <12>;	/* OP4A */
1698			};
1699
1700			cfam4_i2c13: i2c-bus@d {
1701				reg = <13>;	/* OP4B */
1702			};
1703
1704			cfam4_i2c14: i2c-bus@e {
1705				reg = <14>;	/* OP5A */
1706			};
1707
1708			cfam4_i2c15: i2c-bus@f {
1709				reg = <15>;	/* OP5B */
1710			};
1711		};
1712
1713		fsi2spi@1c00 {
1714			compatible = "ibm,fsi2spi";
1715			reg = <0x1c00 0x400>;
1716			#address-cells = <1>;
1717			#size-cells = <0>;
1718
1719			cfam4_spi0: spi@0 {
1720				reg = <0x0>;
1721				#address-cells = <1>;
1722				#size-cells = <0>;
1723
1724				eeprom@0 {
1725					at25,byte-len = <0x80000>;
1726					at25,addr-mode = <4>;
1727					at25,page-size = <256>;
1728
1729					compatible = "atmel,at25";
1730					reg = <0>;
1731					spi-max-frequency = <1000000>;
1732				};
1733			};
1734
1735			cfam4_spi1: spi@20 {
1736				reg = <0x20>;
1737				#address-cells = <1>;
1738				#size-cells = <0>;
1739
1740				eeprom@0 {
1741					at25,byte-len = <0x80000>;
1742					at25,addr-mode = <4>;
1743					at25,page-size = <256>;
1744
1745					compatible = "atmel,at25";
1746					reg = <0>;
1747					spi-max-frequency = <1000000>;
1748				};
1749			};
1750
1751			cfam4_spi2: spi@40 {
1752				reg = <0x40>;
1753				compatible = "ibm,fsi2spi-restricted";
1754				#address-cells = <1>;
1755				#size-cells = <0>;
1756
1757				eeprom@0 {
1758					at25,byte-len = <0x80000>;
1759					at25,addr-mode = <4>;
1760					at25,page-size = <256>;
1761
1762					compatible = "atmel,at25";
1763					reg = <0>;
1764					spi-max-frequency = <1000000>;
1765				};
1766			};
1767
1768			cfam4_spi3: spi@60 {
1769				reg = <0x60>;
1770				compatible = "ibm,fsi2spi-restricted";
1771				#address-cells = <1>;
1772				#size-cells = <0>;
1773
1774				eeprom@0 {
1775					at25,byte-len = <0x80000>;
1776					at25,addr-mode = <4>;
1777					at25,page-size = <256>;
1778
1779					compatible = "atmel,at25";
1780					reg = <0>;
1781					spi-max-frequency = <1000000>;
1782				};
1783			};
1784		};
1785
1786		sbefifo@2400 {
1787			compatible = "ibm,p9-sbefifo";
1788			reg = <0x2400 0x400>;
1789			#address-cells = <1>;
1790			#size-cells = <0>;
1791
1792			fsi_occ4: occ {
1793				compatible = "ibm,p10-occ";
1794			};
1795		};
1796
1797		fsi_hub4: hub@3400 {
1798			compatible = "fsi-master-hub";
1799			reg = <0x3400 0x400>;
1800			#address-cells = <2>;
1801			#size-cells = <0>;
1802
1803			no-scan-on-init;
1804		};
1805	};
1806
1807	cfam@5,0 { /* DCM2_C1 */
1808		reg = <5 0>;
1809		#address-cells = <1>;
1810		#size-cells = <1>;
1811		chip-id = <5>;
1812
1813		scom@1000 {
1814			compatible = "ibm,fsi2pib";
1815			reg = <0x1000 0x400>;
1816		};
1817
1818		i2c@1800 {
1819			compatible = "ibm,fsi-i2c-master";
1820			reg = <0x1800 0x400>;
1821			#address-cells = <1>;
1822			#size-cells = <0>;
1823
1824			cfam5_i2c2: i2c-bus@2 {
1825				reg = <2>;	/* OM45 */
1826			};
1827
1828			cfam5_i2c3: i2c-bus@3 {
1829				reg = <3>;	/* OM67 */
1830			};
1831
1832			cfam5_i2c10: i2c-bus@a {
1833				reg = <10>;	/* OP3A */
1834			};
1835
1836			cfam5_i2c11: i2c-bus@b {
1837				reg = <11>;	/* OP3B */
1838			};
1839
1840			cfam5_i2c14: i2c-bus@e {
1841				reg = <14>;	/* OP5A */
1842			};
1843
1844			cfam5_i2c15: i2c-bus@f {
1845				reg = <15>;	/* OP5B */
1846			};
1847
1848			cfam5_i2c16: i2c-bus@10 {
1849				reg = <16>;	/* OP6A */
1850			};
1851
1852			cfam5_i2c17: i2c-bus@11 {
1853				reg = <17>;	/* OP6B */
1854			};
1855		};
1856
1857		fsi2spi@1c00 {
1858			compatible = "ibm,fsi2spi";
1859			reg = <0x1c00 0x400>;
1860			#address-cells = <1>;
1861			#size-cells = <0>;
1862
1863			cfam5_spi0: spi@0 {
1864				reg = <0x0>;
1865				#address-cells = <1>;
1866				#size-cells = <0>;
1867
1868				eeprom@0 {
1869					at25,byte-len = <0x80000>;
1870					at25,addr-mode = <4>;
1871					at25,page-size = <256>;
1872
1873					compatible = "atmel,at25";
1874					reg = <0>;
1875					spi-max-frequency = <1000000>;
1876				};
1877			};
1878
1879			cfam5_spi1: spi@20 {
1880				reg = <0x20>;
1881				#address-cells = <1>;
1882				#size-cells = <0>;
1883
1884				eeprom@0 {
1885					at25,byte-len = <0x80000>;
1886					at25,addr-mode = <4>;
1887					at25,page-size = <256>;
1888
1889					compatible = "atmel,at25";
1890					reg = <0>;
1891					spi-max-frequency = <1000000>;
1892				};
1893			};
1894
1895			cfam5_spi2: spi@40 {
1896				reg = <0x40>;
1897				compatible = "ibm,fsi2spi-restricted";
1898				#address-cells = <1>;
1899				#size-cells = <0>;
1900
1901				eeprom@0 {
1902					at25,byte-len = <0x80000>;
1903					at25,addr-mode = <4>;
1904					at25,page-size = <256>;
1905
1906					compatible = "atmel,at25";
1907					reg = <0>;
1908					spi-max-frequency = <1000000>;
1909				};
1910			};
1911
1912			cfam5_spi3: spi@60 {
1913				reg = <0x60>;
1914				compatible = "ibm,fsi2spi-restricted";
1915				#address-cells = <1>;
1916				#size-cells = <0>;
1917
1918				eeprom@0 {
1919					at25,byte-len = <0x80000>;
1920					at25,addr-mode = <4>;
1921					at25,page-size = <256>;
1922
1923					compatible = "atmel,at25";
1924					reg = <0>;
1925					spi-max-frequency = <1000000>;
1926				};
1927			};
1928		};
1929
1930		sbefifo@2400 {
1931			compatible = "ibm,p9-sbefifo";
1932			reg = <0x2400 0x400>;
1933			#address-cells = <1>;
1934			#size-cells = <0>;
1935
1936			fsi_occ5: occ {
1937				compatible = "ibm,p10-occ";
1938			};
1939		};
1940
1941		fsi_hub5: hub@3400 {
1942			compatible = "fsi-master-hub";
1943			reg = <0x3400 0x400>;
1944			#address-cells = <2>;
1945			#size-cells = <0>;
1946
1947			no-scan-on-init;
1948		};
1949	};
1950
1951	cfam@6,0 { /* DCM3_C0 */
1952		reg = <6 0>;
1953		#address-cells = <1>;
1954		#size-cells = <1>;
1955		chip-id = <6>;
1956
1957		scom@1000 {
1958			compatible = "ibm,fsi2pib";
1959			reg = <0x1000 0x400>;
1960		};
1961
1962		i2c@1800 {
1963			compatible = "ibm,fsi-i2c-master";
1964			reg = <0x1800 0x400>;
1965			#address-cells = <1>;
1966			#size-cells = <0>;
1967
1968			cfam6_i2c0: i2c-bus@0 {
1969				reg = <0>;	/* OM01 */
1970			};
1971
1972			cfam6_i2c1: i2c-bus@1 {
1973				reg = <1>;	/* OM23 */
1974			};
1975
1976			cfam6_i2c10: i2c-bus@a {
1977				reg = <10>;	/* OP3A */
1978			};
1979
1980			cfam6_i2c11: i2c-bus@b {
1981				reg = <11>;	/* OP3B */
1982			};
1983
1984			cfam6_i2c12: i2c-bus@c {
1985				reg = <12>;	/* OP4A */
1986			};
1987
1988			cfam6_i2c13: i2c-bus@d {
1989				reg = <13>;	/* OP4B */
1990			};
1991
1992			cfam6_i2c14: i2c-bus@e {
1993				reg = <14>;	/* OP5A */
1994			};
1995
1996			cfam6_i2c15: i2c-bus@f {
1997				reg = <15>;	/* OP5B */
1998			};
1999		};
2000
2001		fsi2spi@1c00 {
2002			compatible = "ibm,fsi2spi";
2003			reg = <0x1c00 0x400>;
2004			#address-cells = <1>;
2005			#size-cells = <0>;
2006
2007			cfam6_spi0: spi@0 {
2008				reg = <0x0>;
2009				#address-cells = <1>;
2010				#size-cells = <0>;
2011
2012				eeprom@0 {
2013					at25,byte-len = <0x80000>;
2014					at25,addr-mode = <4>;
2015					at25,page-size = <256>;
2016
2017					compatible = "atmel,at25";
2018					reg = <0>;
2019					spi-max-frequency = <1000000>;
2020				};
2021			};
2022
2023			cfam6_spi1: spi@20 {
2024				reg = <0x20>;
2025				#address-cells = <1>;
2026				#size-cells = <0>;
2027
2028				eeprom@0 {
2029					at25,byte-len = <0x80000>;
2030					at25,addr-mode = <4>;
2031					at25,page-size = <256>;
2032
2033					compatible = "atmel,at25";
2034					reg = <0>;
2035					spi-max-frequency = <1000000>;
2036				};
2037			};
2038
2039			cfam6_spi2: spi@40 {
2040				reg = <0x40>;
2041				compatible = "ibm,fsi2spi-restricted";
2042				#address-cells = <1>;
2043				#size-cells = <0>;
2044
2045				eeprom@0 {
2046					at25,byte-len = <0x80000>;
2047					at25,addr-mode = <4>;
2048					at25,page-size = <256>;
2049
2050					compatible = "atmel,at25";
2051					reg = <0>;
2052					spi-max-frequency = <1000000>;
2053				};
2054			};
2055
2056			cfam6_spi3: spi@60 {
2057				reg = <0x60>;
2058				compatible = "ibm,fsi2spi-restricted";
2059				#address-cells = <1>;
2060				#size-cells = <0>;
2061
2062				eeprom@0 {
2063					at25,byte-len = <0x80000>;
2064					at25,addr-mode = <4>;
2065					at25,page-size = <256>;
2066
2067					compatible = "atmel,at25";
2068					reg = <0>;
2069					spi-max-frequency = <1000000>;
2070				};
2071			};
2072		};
2073
2074		sbefifo@2400 {
2075			compatible = "ibm,p9-sbefifo";
2076			reg = <0x2400 0x400>;
2077			#address-cells = <1>;
2078			#size-cells = <0>;
2079
2080			fsi_occ6: occ {
2081				compatible = "ibm,p10-occ";
2082			};
2083		};
2084
2085		fsi_hub6: hub@3400 {
2086			compatible = "fsi-master-hub";
2087			reg = <0x3400 0x400>;
2088			#address-cells = <2>;
2089			#size-cells = <0>;
2090
2091			no-scan-on-init;
2092		};
2093	};
2094
2095	cfam@7,0 { /* DCM3_C1 */
2096		reg = <7 0>;
2097		#address-cells = <1>;
2098		#size-cells = <1>;
2099		chip-id = <7>;
2100
2101		scom@1000 {
2102			compatible = "ibm,fsi2pib";
2103			reg = <0x1000 0x400>;
2104		};
2105
2106		i2c@1800 {
2107			compatible = "ibm,fsi-i2c-master";
2108			reg = <0x1800 0x400>;
2109			#address-cells = <1>;
2110			#size-cells = <0>;
2111
2112			cfam7_i2c2: i2c-bus@2 {
2113				reg = <2>;	/* OM45 */
2114			};
2115
2116			cfam7_i2c3: i2c-bus@3 {
2117				reg = <3>;	/* OM67 */
2118			};
2119
2120			cfam7_i2c10: i2c-bus@a {
2121				reg = <10>;	/* OP3A */
2122			};
2123
2124			cfam7_i2c11: i2c-bus@b {
2125				reg = <11>;	/* OP3B */
2126			};
2127
2128			cfam7_i2c14: i2c-bus@e {
2129				reg = <14>;	/* OP5A */
2130			};
2131
2132			cfam7_i2c15: i2c-bus@f {
2133				reg = <15>;	/* OP5B */
2134			};
2135
2136			cfam7_i2c16: i2c-bus@10 {
2137				reg = <16>;	/* OP6A */
2138			};
2139
2140			cfam7_i2c17: i2c-bus@11 {
2141				reg = <17>;	/* OP6B */
2142			};
2143		};
2144
2145		fsi2spi@1c00 {
2146			compatible = "ibm,fsi2spi";
2147			reg = <0x1c00 0x400>;
2148			#address-cells = <1>;
2149			#size-cells = <0>;
2150
2151			cfam7_spi0: spi@0 {
2152				reg = <0x0>;
2153				#address-cells = <1>;
2154				#size-cells = <0>;
2155
2156				eeprom@0 {
2157					at25,byte-len = <0x80000>;
2158					at25,addr-mode = <4>;
2159					at25,page-size = <256>;
2160
2161					compatible = "atmel,at25";
2162					reg = <0>;
2163					spi-max-frequency = <1000000>;
2164				};
2165			};
2166
2167			cfam7_spi1: spi@20 {
2168				reg = <0x20>;
2169				#address-cells = <1>;
2170				#size-cells = <0>;
2171
2172				eeprom@0 {
2173					at25,byte-len = <0x80000>;
2174					at25,addr-mode = <4>;
2175					at25,page-size = <256>;
2176
2177					compatible = "atmel,at25";
2178					reg = <0>;
2179					spi-max-frequency = <1000000>;
2180				};
2181			};
2182
2183			cfam7_spi2: spi@40 {
2184				reg = <0x40>;
2185				compatible = "ibm,fsi2spi-restricted";
2186				#address-cells = <1>;
2187				#size-cells = <0>;
2188
2189				eeprom@0 {
2190					at25,byte-len = <0x80000>;
2191					at25,addr-mode = <4>;
2192					at25,page-size = <256>;
2193
2194					compatible = "atmel,at25";
2195					reg = <0>;
2196					spi-max-frequency = <1000000>;
2197				};
2198			};
2199
2200			cfam7_spi3: spi@60 {
2201				reg = <0x60>;
2202				compatible = "ibm,fsi2spi-restricted";
2203				#address-cells = <1>;
2204				#size-cells = <0>;
2205
2206				eeprom@0 {
2207					at25,byte-len = <0x80000>;
2208					at25,addr-mode = <4>;
2209					at25,page-size = <256>;
2210
2211					compatible = "atmel,at25";
2212					reg = <0>;
2213					spi-max-frequency = <1000000>;
2214				};
2215			};
2216		};
2217
2218		sbefifo@2400 {
2219			compatible = "ibm,p9-sbefifo";
2220			reg = <0x2400 0x400>;
2221			#address-cells = <1>;
2222			#size-cells = <0>;
2223
2224			fsi_occ7: occ {
2225				compatible = "ibm,p10-occ";
2226			};
2227		};
2228
2229		fsi_hub7: hub@3400 {
2230			compatible = "fsi-master-hub";
2231			reg = <0x3400 0x400>;
2232			#address-cells = <2>;
2233			#size-cells = <0>;
2234
2235			no-scan-on-init;
2236		};
2237	};
2238};
2239
2240/* Legacy OCC numbering (to get rid of when userspace is fixed) */
2241&fsi_occ0 {
2242	reg = <1>;
2243};
2244
2245&fsi_occ1 {
2246	reg = <2>;
2247};
2248
2249&fsi_occ2 {
2250	reg = <3>;
2251};
2252
2253&fsi_occ3 {
2254	reg = <4>;
2255};
2256
2257&fsi_occ4 {
2258	reg = <5>;
2259};
2260
2261&fsi_occ5 {
2262	reg = <6>;
2263};
2264
2265&fsi_occ6 {
2266	reg = <7>;
2267};
2268
2269&fsi_occ7 {
2270	reg = <8>;
2271};
2272
2273&ibt {
2274	status = "okay";
2275};
2276
2277&vuart1 {
2278	status = "okay";
2279};
2280
2281&vuart2 {
2282	status = "okay";
2283};
2284
2285&lpc_ctrl {
2286	status = "okay";
2287	memory-region = <&flash_memory>;
2288};
2289
2290&kcs4 {
2291	compatible = "openbmc,mctp-lpc";
2292	status = "okay";
2293};
2294
2295&mac2 {
2296	status = "okay";
2297	pinctrl-names = "default";
2298	pinctrl-0 = <&pinctrl_rmii3_default>;
2299	clocks = <&syscon ASPEED_CLK_GATE_MAC3CLK>,
2300		 <&syscon ASPEED_CLK_MAC3RCLK>;
2301	clock-names = "MACCLK", "RCLK";
2302	use-ncsi;
2303};
2304
2305&mac3 {
2306	status = "okay";
2307	pinctrl-names = "default";
2308	pinctrl-0 = <&pinctrl_rmii4_default>;
2309	clocks = <&syscon ASPEED_CLK_GATE_MAC4CLK>,
2310		 <&syscon ASPEED_CLK_MAC4RCLK>;
2311	clock-names = "MACCLK", "RCLK";
2312	use-ncsi;
2313};
2314
2315&wdt1 {
2316	aspeed,reset-type = "none";
2317	aspeed,external-signal;
2318	aspeed,ext-push-pull;
2319	aspeed,ext-active-high;
2320
2321	pinctrl-names = "default";
2322	pinctrl-0 = <&pinctrl_wdtrst1_default>;
2323};
2324
2325&wdt2 {
2326	status = "okay";
2327};
2328
2329&xdma {
2330	status = "okay";
2331	memory-region = <&vga_memory>;
2332};
2333