1// SPDX-License-Identifier: GPL-2.0-or-later
2// Copyright 2023 IBM Corp.
3
4#include "ibm-power10-dual.dtsi"
5
6&cfam0_i2c0 {
7	i2cr@20 {
8		compatible = "ibm,i2cr-fsi-master";
9		reg = <0x20>;
10		#address-cells = <2>;
11		#size-cells = <0>;
12
13		cfam@0,0 {
14			reg = <0 0>;
15			#address-cells = <1>;
16			#size-cells = <1>;
17			chip-id = <0>;
18
19			scom100: scom@1000 {
20				compatible = "ibm,i2cr-scom";
21				reg = <0x1000 0x400>;
22			};
23
24			sbefifo100: sbefifo@2400 {
25				compatible = "ibm,p9-sbefifo";
26				reg = <0x2400 0x400>;
27				#address-cells = <1>;
28				#size-cells = <0>;
29			};
30		};
31	};
32};
33
34&cfam0_i2c1 {
35	i2cr@20 {
36		compatible = "ibm,i2cr-fsi-master";
37		reg = <0x20>;
38		#address-cells = <2>;
39		#size-cells = <0>;
40
41		cfam@0,0 {
42			reg = <0 0>;
43			#address-cells = <1>;
44			#size-cells = <1>;
45			chip-id = <0>;
46
47			scom101: scom@1000 {
48				compatible = "ibm,i2cr-scom";
49				reg = <0x1000 0x400>;
50			};
51
52			sbefifo101: sbefifo@2400 {
53				compatible = "ibm,p9-sbefifo";
54				reg = <0x2400 0x400>;
55				#address-cells = <1>;
56				#size-cells = <0>;
57			};
58		};
59	};
60};
61
62&cfam0_i2c10 {
63	i2cr@20 {
64		compatible = "ibm,i2cr-fsi-master";
65		reg = <0x20>;
66		#address-cells = <2>;
67		#size-cells = <0>;
68
69		cfam@0,0 {
70			reg = <0 0>;
71			#address-cells = <1>;
72			#size-cells = <1>;
73			chip-id = <0>;
74
75			scom110: scom@1000 {
76				compatible = "ibm,i2cr-scom";
77				reg = <0x1000 0x400>;
78			};
79
80			sbefifo110: sbefifo@2400 {
81				compatible = "ibm,p9-sbefifo";
82				reg = <0x2400 0x400>;
83				#address-cells = <1>;
84				#size-cells = <0>;
85			};
86		};
87	};
88};
89
90&cfam0_i2c11 {
91	i2cr@20 {
92		compatible = "ibm,i2cr-fsi-master";
93		reg = <0x20>;
94		#address-cells = <2>;
95		#size-cells = <0>;
96
97		cfam@0,0 {
98			reg = <0 0>;
99			#address-cells = <1>;
100			#size-cells = <1>;
101			chip-id = <0>;
102
103			scom111: scom@1000 {
104				compatible = "ibm,i2cr-scom";
105				reg = <0x1000 0x400>;
106			};
107
108			sbefifo111: sbefifo@2400 {
109				compatible = "ibm,p9-sbefifo";
110				reg = <0x2400 0x400>;
111				#address-cells = <1>;
112				#size-cells = <0>;
113			};
114		};
115	};
116};
117
118&cfam0_i2c12 {
119	i2cr@20 {
120		compatible = "ibm,i2cr-fsi-master";
121		reg = <0x20>;
122		#address-cells = <2>;
123		#size-cells = <0>;
124
125		cfam@0,0 {
126			reg = <0 0>;
127			#address-cells = <1>;
128			#size-cells = <1>;
129			chip-id = <0>;
130
131			scom112: scom@1000 {
132				compatible = "ibm,i2cr-scom";
133				reg = <0x1000 0x400>;
134			};
135
136			sbefifo112: sbefifo@2400 {
137				compatible = "ibm,p9-sbefifo";
138				reg = <0x2400 0x400>;
139				#address-cells = <1>;
140				#size-cells = <0>;
141			};
142		};
143	};
144};
145
146&cfam0_i2c13 {
147	i2cr@20 {
148		compatible = "ibm,i2cr-fsi-master";
149		reg = <0x20>;
150		#address-cells = <2>;
151		#size-cells = <0>;
152
153		cfam@0,0 {
154			reg = <0 0>;
155			#address-cells = <1>;
156			#size-cells = <1>;
157			chip-id = <0>;
158
159			scom113: scom@1000 {
160				compatible = "ibm,i2cr-scom";
161				reg = <0x1000 0x400>;
162			};
163
164			sbefifo113: sbefifo@2400 {
165				compatible = "ibm,p9-sbefifo";
166				reg = <0x2400 0x400>;
167				#address-cells = <1>;
168				#size-cells = <0>;
169			};
170		};
171	};
172};
173
174&cfam0_i2c14 {
175	i2cr@20 {
176		compatible = "ibm,i2cr-fsi-master";
177		reg = <0x20>;
178		#address-cells = <2>;
179		#size-cells = <0>;
180
181		cfam@0,0 {
182			reg = <0 0>;
183			#address-cells = <1>;
184			#size-cells = <1>;
185			chip-id = <0>;
186
187			scom114: scom@1000 {
188				compatible = "ibm,i2cr-scom";
189				reg = <0x1000 0x400>;
190			};
191
192			sbefifo114: sbefifo@2400 {
193				compatible = "ibm,p9-sbefifo";
194				reg = <0x2400 0x400>;
195				#address-cells = <1>;
196				#size-cells = <0>;
197			};
198		};
199	};
200};
201
202&cfam0_i2c15 {
203	i2cr@20 {
204		compatible = "ibm,i2cr-fsi-master";
205		reg = <0x20>;
206		#address-cells = <2>;
207		#size-cells = <0>;
208
209		cfam@0,0 {
210			reg = <0 0>;
211			#address-cells = <1>;
212			#size-cells = <1>;
213			chip-id = <0>;
214
215			scom115: scom@1000 {
216				compatible = "ibm,i2cr-scom";
217				reg = <0x1000 0x400>;
218			};
219
220			sbefifo115: sbefifo@2400 {
221				compatible = "ibm,p9-sbefifo";
222				reg = <0x2400 0x400>;
223				#address-cells = <1>;
224				#size-cells = <0>;
225			};
226		};
227	};
228};
229
230&cfam1_i2c2 {
231	i2cr@20 {
232		compatible = "ibm,i2cr-fsi-master";
233		reg = <0x20>;
234		#address-cells = <2>;
235		#size-cells = <0>;
236
237		cfam@0,0 {
238			reg = <0 0>;
239			#address-cells = <1>;
240			#size-cells = <1>;
241			chip-id = <0>;
242
243			scom202: scom@1000 {
244				compatible = "ibm,i2cr-scom";
245				reg = <0x1000 0x400>;
246			};
247
248			sbefifo202: sbefifo@2400 {
249				compatible = "ibm,p9-sbefifo";
250				reg = <0x2400 0x400>;
251				#address-cells = <1>;
252				#size-cells = <0>;
253			};
254		};
255	};
256};
257
258&cfam1_i2c3 {
259	i2cr@20 {
260		compatible = "ibm,i2cr-fsi-master";
261		reg = <0x20>;
262		#address-cells = <2>;
263		#size-cells = <0>;
264
265		cfam@0,0 {
266			reg = <0 0>;
267			#address-cells = <1>;
268			#size-cells = <1>;
269			chip-id = <0>;
270
271			scom203: scom@1000 {
272				compatible = "ibm,i2cr-scom";
273				reg = <0x1000 0x400>;
274			};
275
276			sbefifo203: sbefifo@2400 {
277				compatible = "ibm,p9-sbefifo";
278				reg = <0x2400 0x400>;
279				#address-cells = <1>;
280				#size-cells = <0>;
281			};
282		};
283	};
284};
285
286&cfam1_i2c10 {
287	i2cr@20 {
288		compatible = "ibm,i2cr-fsi-master";
289		reg = <0x20>;
290		#address-cells = <2>;
291		#size-cells = <0>;
292
293		cfam@0,0 {
294			reg = <0 0>;
295			#address-cells = <1>;
296			#size-cells = <1>;
297			chip-id = <0>;
298
299			scom210: scom@1000 {
300				compatible = "ibm,i2cr-scom";
301				reg = <0x1000 0x400>;
302			};
303
304			sbefifo210: sbefifo@2400 {
305				compatible = "ibm,p9-sbefifo";
306				reg = <0x2400 0x400>;
307				#address-cells = <1>;
308				#size-cells = <0>;
309			};
310		};
311	};
312};
313
314&cfam1_i2c11 {
315	i2cr@20 {
316		compatible = "ibm,i2cr-fsi-master";
317		reg = <0x20>;
318		#address-cells = <2>;
319		#size-cells = <0>;
320
321		cfam@0,0 {
322			reg = <0 0>;
323			#address-cells = <1>;
324			#size-cells = <1>;
325			chip-id = <0>;
326
327			scom211: scom@1000 {
328				compatible = "ibm,i2cr-scom";
329				reg = <0x1000 0x400>;
330			};
331
332			sbefifo211: sbefifo@2400 {
333				compatible = "ibm,p9-sbefifo";
334				reg = <0x2400 0x400>;
335				#address-cells = <1>;
336				#size-cells = <0>;
337			};
338		};
339	};
340};
341
342&cfam1_i2c14 {
343	i2cr@20 {
344		compatible = "ibm,i2cr-fsi-master";
345		reg = <0x20>;
346		#address-cells = <2>;
347		#size-cells = <0>;
348
349		cfam@0,0 {
350			reg = <0 0>;
351			#address-cells = <1>;
352			#size-cells = <1>;
353			chip-id = <0>;
354
355			scom214: scom@1000 {
356				compatible = "ibm,i2cr-scom";
357				reg = <0x1000 0x400>;
358			};
359
360			sbefifo214: sbefifo@2400 {
361				compatible = "ibm,p9-sbefifo";
362				reg = <0x2400 0x400>;
363				#address-cells = <1>;
364				#size-cells = <0>;
365			};
366		};
367	};
368};
369
370&cfam1_i2c15 {
371	i2cr@20 {
372		compatible = "ibm,i2cr-fsi-master";
373		reg = <0x20>;
374		#address-cells = <2>;
375		#size-cells = <0>;
376
377		cfam@0,0 {
378			reg = <0 0>;
379			#address-cells = <1>;
380			#size-cells = <1>;
381			chip-id = <0>;
382
383			scom215: scom@1000 {
384				compatible = "ibm,i2cr-scom";
385				reg = <0x1000 0x400>;
386			};
387
388			sbefifo215: sbefifo@2400 {
389				compatible = "ibm,p9-sbefifo";
390				reg = <0x2400 0x400>;
391				#address-cells = <1>;
392				#size-cells = <0>;
393			};
394		};
395	};
396};
397
398&cfam1_i2c16 {
399	i2cr@20 {
400		compatible = "ibm,i2cr-fsi-master";
401		reg = <0x20>;
402		#address-cells = <2>;
403		#size-cells = <0>;
404
405		cfam@0,0 {
406			reg = <0 0>;
407			#address-cells = <1>;
408			#size-cells = <1>;
409			chip-id = <0>;
410
411			scom216: scom@1000 {
412				compatible = "ibm,i2cr-scom";
413				reg = <0x1000 0x400>;
414			};
415
416			sbefifo216: sbefifo@2400 {
417				compatible = "ibm,p9-sbefifo";
418				reg = <0x2400 0x400>;
419				#address-cells = <1>;
420				#size-cells = <0>;
421			};
422		};
423	};
424};
425
426&cfam1_i2c17 {
427	i2cr@20 {
428		compatible = "ibm,i2cr-fsi-master";
429		reg = <0x20>;
430		#address-cells = <2>;
431		#size-cells = <0>;
432
433		cfam@0,0 {
434			reg = <0 0>;
435			#address-cells = <1>;
436			#size-cells = <1>;
437			chip-id = <0>;
438
439			scom217: scom@1000 {
440				compatible = "ibm,i2cr-scom";
441				reg = <0x1000 0x400>;
442			};
443
444			sbefifo217: sbefifo@2400 {
445				compatible = "ibm,p9-sbefifo";
446				reg = <0x2400 0x400>;
447				#address-cells = <1>;
448				#size-cells = <0>;
449			};
450		};
451	};
452};
453
454&fsi_hub0 {
455	cfam@2,0 {
456		reg = <2 0>;
457		#address-cells = <1>;
458		#size-cells = <1>;
459		chip-id = <2>;
460
461		scom@1000 {
462			compatible = "ibm,fsi2pib";
463			reg = <0x1000 0x400>;
464		};
465
466		i2c@1800 {
467			compatible = "ibm,fsi-i2c-master";
468			reg = <0x1800 0x400>;
469			#address-cells = <1>;
470			#size-cells = <0>;
471
472			cfam2_i2c0: i2c-bus@0 {
473				#address-cells = <1>;
474				#size-cells = <0>;
475				reg = <0>;	/* OM01 */
476
477				i2cr@20 {
478					compatible = "ibm,i2cr-fsi-master";
479					reg = <0x20>;
480					#address-cells = <2>;
481					#size-cells = <0>;
482
483					cfam@0,0 {
484						reg = <0 0>;
485						#address-cells = <1>;
486						#size-cells = <1>;
487						chip-id = <0>;
488
489						scom300: scom@1000 {
490							compatible = "ibm,i2cr-scom";
491							reg = <0x1000 0x400>;
492						};
493
494						sbefifo300: sbefifo@2400 {
495							compatible = "ibm,p9-sbefifo";
496							reg = <0x2400 0x400>;
497							#address-cells = <1>;
498							#size-cells = <0>;
499						};
500					};
501				};
502			};
503
504			cfam2_i2c1: i2c-bus@1 {
505				#address-cells = <1>;
506				#size-cells = <0>;
507				reg = <1>;	/* OM23 */
508
509				i2cr@20 {
510					compatible = "ibm,i2cr-fsi-master";
511					reg = <0x20>;
512					#address-cells = <2>;
513					#size-cells = <0>;
514
515					cfam@0,0 {
516						reg = <0 0>;
517						#address-cells = <1>;
518						#size-cells = <1>;
519						chip-id = <0>;
520
521						scom301: scom@1000 {
522							compatible = "ibm,i2cr-scom";
523							reg = <0x1000 0x400>;
524						};
525
526						sbefifo301: sbefifo@2400 {
527							compatible = "ibm,p9-sbefifo";
528							reg = <0x2400 0x400>;
529							#address-cells = <1>;
530							#size-cells = <0>;
531						};
532					};
533				};
534			};
535
536			cfam2_i2c10: i2c-bus@a {
537				#address-cells = <1>;
538				#size-cells = <0>;
539				reg = <10>;	/* OP3A */
540
541				i2cr@20 {
542					compatible = "ibm,i2cr-fsi-master";
543					reg = <0x20>;
544					#address-cells = <2>;
545					#size-cells = <0>;
546
547					cfam@0,0 {
548						reg = <0 0>;
549						#address-cells = <1>;
550						#size-cells = <1>;
551						chip-id = <0>;
552
553						scom310: scom@1000 {
554							compatible = "ibm,i2cr-scom";
555							reg = <0x1000 0x400>;
556						};
557
558						sbefifo310: sbefifo@2400 {
559							compatible = "ibm,p9-sbefifo";
560							reg = <0x2400 0x400>;
561							#address-cells = <1>;
562							#size-cells = <0>;
563						};
564					};
565				};
566			};
567
568			cfam2_i2c11: i2c-bus@b {
569				#address-cells = <1>;
570				#size-cells = <0>;
571				reg = <11>;	/* OP3B */
572
573				i2cr@20 {
574					compatible = "ibm,i2cr-fsi-master";
575					reg = <0x20>;
576					#address-cells = <2>;
577					#size-cells = <0>;
578
579					cfam@0,0 {
580						reg = <0 0>;
581						#address-cells = <1>;
582						#size-cells = <1>;
583						chip-id = <0>;
584
585						scom311: scom@1000 {
586							compatible = "ibm,i2cr-scom";
587							reg = <0x1000 0x400>;
588						};
589
590						sbefifo311: sbefifo@2400 {
591							compatible = "ibm,p9-sbefifo";
592							reg = <0x2400 0x400>;
593							#address-cells = <1>;
594							#size-cells = <0>;
595						};
596					};
597				};
598			};
599
600			cfam2_i2c12: i2c-bus@c {
601				#address-cells = <1>;
602				#size-cells = <0>;
603				reg = <12>;	/* OP4A */
604
605				i2cr@20 {
606					compatible = "ibm,i2cr-fsi-master";
607					reg = <0x20>;
608					#address-cells = <2>;
609					#size-cells = <0>;
610
611					cfam@0,0 {
612						reg = <0 0>;
613						#address-cells = <1>;
614						#size-cells = <1>;
615						chip-id = <0>;
616
617						scom312: scom@1000 {
618							compatible = "ibm,i2cr-scom";
619							reg = <0x1000 0x400>;
620						};
621
622						sbefifo312: sbefifo@2400 {
623							compatible = "ibm,p9-sbefifo";
624							reg = <0x2400 0x400>;
625							#address-cells = <1>;
626							#size-cells = <0>;
627						};
628					};
629				};
630			};
631
632			cfam2_i2c13: i2c-bus@d {
633				#address-cells = <1>;
634				#size-cells = <0>;
635				reg = <13>;	/* OP4B */
636
637				i2cr@20 {
638					compatible = "ibm,i2cr-fsi-master";
639					reg = <0x20>;
640					#address-cells = <2>;
641					#size-cells = <0>;
642
643					cfam@0,0 {
644						reg = <0 0>;
645						#address-cells = <1>;
646						#size-cells = <1>;
647						chip-id = <0>;
648
649						scom313: scom@1000 {
650							compatible = "ibm,i2cr-scom";
651							reg = <0x1000 0x400>;
652						};
653
654						sbefifo313: sbefifo@2400 {
655							compatible = "ibm,p9-sbefifo";
656							reg = <0x2400 0x400>;
657							#address-cells = <1>;
658							#size-cells = <0>;
659						};
660					};
661				};
662			};
663
664			cfam2_i2c14: i2c-bus@e {
665				#address-cells = <1>;
666				#size-cells = <0>;
667				reg = <14>;	/* OP5A */
668
669				i2cr@20 {
670					compatible = "ibm,i2cr-fsi-master";
671					reg = <0x20>;
672					#address-cells = <2>;
673					#size-cells = <0>;
674
675					cfam@0,0 {
676						reg = <0 0>;
677						#address-cells = <1>;
678						#size-cells = <1>;
679						chip-id = <0>;
680
681						scom314: scom@1000 {
682							compatible = "ibm,i2cr-scom";
683							reg = <0x1000 0x400>;
684						};
685
686						sbefifo314: sbefifo@2400 {
687							compatible = "ibm,p9-sbefifo";
688							reg = <0x2400 0x400>;
689							#address-cells = <1>;
690							#size-cells = <0>;
691						};
692					};
693				};
694			};
695
696			cfam2_i2c15: i2c-bus@f {
697				#address-cells = <1>;
698				#size-cells = <0>;
699				reg = <15>;	/* OP5B */
700
701				i2cr@20 {
702					compatible = "ibm,i2cr-fsi-master";
703					reg = <0x20>;
704					#address-cells = <2>;
705					#size-cells = <0>;
706
707					cfam@0,0 {
708						reg = <0 0>;
709						#address-cells = <1>;
710						#size-cells = <1>;
711						chip-id = <0>;
712
713						scom315: scom@1000 {
714							compatible = "ibm,i2cr-scom";
715							reg = <0x1000 0x400>;
716						};
717
718						sbefifo315: sbefifo@2400 {
719							compatible = "ibm,p9-sbefifo";
720							reg = <0x2400 0x400>;
721							#address-cells = <1>;
722							#size-cells = <0>;
723						};
724					};
725				};
726			};
727		};
728
729		fsi2spi@1c00 {
730			compatible = "ibm,fsi2spi";
731			reg = <0x1c00 0x400>;
732			#address-cells = <1>;
733			#size-cells = <0>;
734
735			cfam2_spi0: spi@0 {
736				reg = <0x0>;
737				#address-cells = <1>;
738				#size-cells = <0>;
739
740				eeprom@0 {
741					at25,byte-len = <0x80000>;
742					at25,addr-mode = <4>;
743					at25,page-size = <256>;
744
745					compatible = "atmel,at25";
746					reg = <0>;
747					spi-max-frequency = <1000000>;
748				};
749			};
750
751			cfam2_spi1: spi@20 {
752				reg = <0x20>;
753				#address-cells = <1>;
754				#size-cells = <0>;
755
756				eeprom@0 {
757					at25,byte-len = <0x80000>;
758					at25,addr-mode = <4>;
759					at25,page-size = <256>;
760
761					compatible = "atmel,at25";
762					reg = <0>;
763					spi-max-frequency = <1000000>;
764				};
765			};
766
767			cfam2_spi2: spi@40 {
768				reg = <0x40>;
769				compatible =  "ibm,fsi2spi";
770				#address-cells = <1>;
771				#size-cells = <0>;
772
773				eeprom@0 {
774					at25,byte-len = <0x80000>;
775					at25,addr-mode = <4>;
776					at25,page-size = <256>;
777
778					compatible = "atmel,at25";
779					reg = <0>;
780					spi-max-frequency = <1000000>;
781				};
782			};
783
784			cfam2_spi3: spi@60 {
785				reg = <0x60>;
786				compatible =  "ibm,fsi2spi";
787				#address-cells = <1>;
788				#size-cells = <0>;
789
790				eeprom@0 {
791					at25,byte-len = <0x80000>;
792					at25,addr-mode = <4>;
793					at25,page-size = <256>;
794
795					compatible = "atmel,at25";
796					reg = <0>;
797					spi-max-frequency = <1000000>;
798				};
799			};
800		};
801
802		sbefifo@2400 {
803			compatible = "ibm,p9-sbefifo";
804			reg = <0x2400 0x400>;
805			#address-cells = <1>;
806			#size-cells = <0>;
807
808			fsi_occ2: occ {
809				compatible = "ibm,p10-occ";
810
811				occ-hwmon {
812					compatible = "ibm,p10-occ-hwmon";
813					ibm,no-poll-on-init;
814				};
815			};
816		};
817
818		fsi_hub2: hub@3400 {
819			compatible = "fsi-master-hub";
820			reg = <0x3400 0x400>;
821			#address-cells = <2>;
822			#size-cells = <0>;
823
824			no-scan-on-init;
825		};
826	};
827
828	cfam@3,0 {
829		reg = <3 0>;
830		#address-cells = <1>;
831		#size-cells = <1>;
832		chip-id = <3>;
833
834		scom@1000 {
835			compatible = "ibm,fsi2pib";
836			reg = <0x1000 0x400>;
837		};
838
839		i2c@1800 {
840			compatible = "ibm,fsi-i2c-master";
841			reg = <0x1800 0x400>;
842			#address-cells = <1>;
843			#size-cells = <0>;
844
845			cfam3_i2c2: i2c-bus@2 {
846				#address-cells = <1>;
847				#size-cells = <0>;
848				reg = <2>;	/* OM45 */
849
850				i2cr@20 {
851					compatible = "ibm,i2cr-fsi-master";
852					reg = <0x20>;
853					#address-cells = <2>;
854					#size-cells = <0>;
855
856					cfam@0,0 {
857						reg = <0 0>;
858						#address-cells = <1>;
859						#size-cells = <1>;
860						chip-id = <0>;
861
862						scom402: scom@1000 {
863							compatible = "ibm,i2cr-scom";
864							reg = <0x1000 0x400>;
865						};
866
867						sbefifo402: sbefifo@2400 {
868							compatible = "ibm,p9-sbefifo";
869							reg = <0x2400 0x400>;
870							#address-cells = <1>;
871							#size-cells = <0>;
872						};
873					};
874				};
875			};
876
877			cfam3_i2c3: i2c-bus@3 {
878				#address-cells = <1>;
879				#size-cells = <0>;
880				reg = <3>;	/* OM67 */
881
882				i2cr@20 {
883					compatible = "ibm,i2cr-fsi-master";
884					reg = <0x20>;
885					#address-cells = <2>;
886					#size-cells = <0>;
887
888					cfam@0,0 {
889						reg = <0 0>;
890						#address-cells = <1>;
891						#size-cells = <1>;
892						chip-id = <0>;
893
894						scom403: scom@1000 {
895							compatible = "ibm,i2cr-scom";
896							reg = <0x1000 0x400>;
897						};
898
899						sbefifo403: sbefifo@2400 {
900							compatible = "ibm,p9-sbefifo";
901							reg = <0x2400 0x400>;
902							#address-cells = <1>;
903							#size-cells = <0>;
904						};
905					};
906				};
907			};
908
909			cfam3_i2c10: i2c-bus@a {
910				#address-cells = <1>;
911				#size-cells = <0>;
912				reg = <10>;	/* OP3A */
913
914				i2cr@20 {
915					compatible = "ibm,i2cr-fsi-master";
916					reg = <0x20>;
917					#address-cells = <2>;
918					#size-cells = <0>;
919
920					cfam@0,0 {
921						reg = <0 0>;
922						#address-cells = <1>;
923						#size-cells = <1>;
924						chip-id = <0>;
925
926						scom410: scom@1000 {
927							compatible = "ibm,i2cr-scom";
928							reg = <0x1000 0x400>;
929						};
930
931						sbefifo410: sbefifo@2400 {
932							compatible = "ibm,p9-sbefifo";
933							reg = <0x2400 0x400>;
934							#address-cells = <1>;
935							#size-cells = <0>;
936						};
937					};
938				};
939			};
940
941			cfam3_i2c11: i2c-bus@b {
942				#address-cells = <1>;
943				#size-cells = <0>;
944				reg = <11>;	/* OP3B */
945
946				i2cr@20 {
947					compatible = "ibm,i2cr-fsi-master";
948					reg = <0x20>;
949					#address-cells = <2>;
950					#size-cells = <0>;
951
952					cfam@0,0 {
953						reg = <0 0>;
954						#address-cells = <1>;
955						#size-cells = <1>;
956						chip-id = <0>;
957
958						scom411: scom@1000 {
959							compatible = "ibm,i2cr-scom";
960							reg = <0x1000 0x400>;
961						};
962
963						sbefifo411: sbefifo@2400 {
964							compatible = "ibm,p9-sbefifo";
965							reg = <0x2400 0x400>;
966							#address-cells = <1>;
967							#size-cells = <0>;
968						};
969					};
970				};
971			};
972
973			cfam3_i2c14: i2c-bus@e {
974				#address-cells = <1>;
975				#size-cells = <0>;
976				reg = <14>;	/* OP5A */
977
978				i2cr@20 {
979					compatible = "ibm,i2cr-fsi-master";
980					reg = <0x20>;
981					#address-cells = <2>;
982					#size-cells = <0>;
983
984					cfam@0,0 {
985						reg = <0 0>;
986						#address-cells = <1>;
987						#size-cells = <1>;
988						chip-id = <0>;
989
990						scom414: scom@1000 {
991							compatible = "ibm,i2cr-scom";
992							reg = <0x1000 0x400>;
993						};
994
995						sbefifo414: sbefifo@2400 {
996							compatible = "ibm,p9-sbefifo";
997							reg = <0x2400 0x400>;
998							#address-cells = <1>;
999							#size-cells = <0>;
1000						};
1001					};
1002				};
1003			};
1004
1005			cfam3_i2c15: i2c-bus@f {
1006				#address-cells = <1>;
1007				#size-cells = <0>;
1008				reg = <15>;	/* OP5B */
1009
1010				i2cr@20 {
1011					compatible = "ibm,i2cr-fsi-master";
1012					reg = <0x20>;
1013					#address-cells = <2>;
1014					#size-cells = <0>;
1015
1016					cfam@0,0 {
1017						reg = <0 0>;
1018						#address-cells = <1>;
1019						#size-cells = <1>;
1020						chip-id = <0>;
1021
1022						scom415: scom@1000 {
1023							compatible = "ibm,i2cr-scom";
1024							reg = <0x1000 0x400>;
1025						};
1026
1027						sbefifo415: sbefifo@2400 {
1028							compatible = "ibm,p9-sbefifo";
1029							reg = <0x2400 0x400>;
1030							#address-cells = <1>;
1031							#size-cells = <0>;
1032						};
1033					};
1034				};
1035			};
1036
1037			cfam3_i2c16: i2c-bus@10 {
1038				#address-cells = <1>;
1039				#size-cells = <0>;
1040				reg = <16>;	/* OP6A */
1041
1042				i2cr@20 {
1043					compatible = "ibm,i2cr-fsi-master";
1044					reg = <0x20>;
1045					#address-cells = <2>;
1046					#size-cells = <0>;
1047
1048					cfam@0,0 {
1049						reg = <0 0>;
1050						#address-cells = <1>;
1051						#size-cells = <1>;
1052						chip-id = <0>;
1053
1054						scom416: scom@1000 {
1055							compatible = "ibm,i2cr-scom";
1056							reg = <0x1000 0x400>;
1057						};
1058
1059						sbefifo416: sbefifo@2400 {
1060							compatible = "ibm,p9-sbefifo";
1061							reg = <0x2400 0x400>;
1062							#address-cells = <1>;
1063							#size-cells = <0>;
1064						};
1065					};
1066				};
1067			};
1068
1069			cfam3_i2c17: i2c-bus@11 {
1070				#address-cells = <1>;
1071				#size-cells = <0>;
1072				reg = <17>;	/* OP6B */
1073
1074				i2cr@20 {
1075					compatible = "ibm,i2cr-fsi-master";
1076					reg = <0x20>;
1077					#address-cells = <2>;
1078					#size-cells = <0>;
1079
1080					cfam@0,0 {
1081						reg = <0 0>;
1082						#address-cells = <1>;
1083						#size-cells = <1>;
1084						chip-id = <0>;
1085
1086						scom417: scom@1000 {
1087							compatible = "ibm,i2cr-scom";
1088							reg = <0x1000 0x400>;
1089						};
1090
1091						sbefifo417: sbefifo@2400 {
1092							compatible = "ibm,p9-sbefifo";
1093							reg = <0x2400 0x400>;
1094							#address-cells = <1>;
1095							#size-cells = <0>;
1096						};
1097					};
1098				};
1099			};
1100		};
1101
1102		fsi2spi@1c00 {
1103			compatible = "ibm,fsi2spi";
1104			reg = <0x1c00 0x400>;
1105			#address-cells = <1>;
1106			#size-cells = <0>;
1107
1108			cfam3_spi0: spi@0 {
1109				reg = <0x0>;
1110				#address-cells = <1>;
1111				#size-cells = <0>;
1112
1113				eeprom@0 {
1114					at25,byte-len = <0x80000>;
1115					at25,addr-mode = <4>;
1116					at25,page-size = <256>;
1117
1118					compatible = "atmel,at25";
1119					reg = <0>;
1120					spi-max-frequency = <1000000>;
1121				};
1122			};
1123
1124			cfam3_spi1: spi@20 {
1125				reg = <0x20>;
1126				#address-cells = <1>;
1127				#size-cells = <0>;
1128
1129				eeprom@0 {
1130					at25,byte-len = <0x80000>;
1131					at25,addr-mode = <4>;
1132					at25,page-size = <256>;
1133
1134					compatible = "atmel,at25";
1135					reg = <0>;
1136					spi-max-frequency = <1000000>;
1137				};
1138			};
1139
1140			cfam3_spi2: spi@40 {
1141				reg = <0x40>;
1142				compatible =  "ibm,fsi2spi";
1143				#address-cells = <1>;
1144				#size-cells = <0>;
1145
1146				eeprom@0 {
1147					at25,byte-len = <0x80000>;
1148					at25,addr-mode = <4>;
1149					at25,page-size = <256>;
1150
1151					compatible = "atmel,at25";
1152					reg = <0>;
1153					spi-max-frequency = <1000000>;
1154				};
1155			};
1156
1157			cfam3_spi3: spi@60 {
1158				reg = <0x60>;
1159				compatible =  "ibm,fsi2spi";
1160				#address-cells = <1>;
1161				#size-cells = <0>;
1162
1163				eeprom@0 {
1164					at25,byte-len = <0x80000>;
1165					at25,addr-mode = <4>;
1166					at25,page-size = <256>;
1167
1168					compatible = "atmel,at25";
1169					reg = <0>;
1170					spi-max-frequency = <1000000>;
1171				};
1172			};
1173		};
1174
1175		sbefifo@2400 {
1176			compatible = "ibm,p9-sbefifo";
1177			reg = <0x2400 0x400>;
1178			#address-cells = <1>;
1179			#size-cells = <0>;
1180
1181			fsi_occ3: occ {
1182				compatible = "ibm,p10-occ";
1183
1184				occ-hwmon {
1185					compatible = "ibm,p10-occ-hwmon";
1186					ibm,no-poll-on-init;
1187				};
1188			};
1189		};
1190
1191		fsi_hub3: hub@3400 {
1192			compatible = "fsi-master-hub";
1193			reg = <0x3400 0x400>;
1194			#address-cells = <2>;
1195			#size-cells = <0>;
1196
1197			no-scan-on-init;
1198		};
1199	};
1200};
1201
1202/* Legacy OCC numbering (to get rid of when userspace is fixed) */
1203&fsi_occ2 {
1204	reg = <3>;
1205};
1206
1207&fsi_occ3 {
1208	reg = <4>;
1209};
1210
1211/ {
1212	aliases {
1213		i2c300 = &cfam2_i2c0;
1214		i2c301 = &cfam2_i2c1;
1215		i2c310 = &cfam2_i2c10;
1216		i2c311 = &cfam2_i2c11;
1217		i2c312 = &cfam2_i2c12;
1218		i2c313 = &cfam2_i2c13;
1219		i2c314 = &cfam2_i2c14;
1220		i2c315 = &cfam2_i2c15;
1221		i2c402 = &cfam3_i2c2;
1222		i2c403 = &cfam3_i2c3;
1223		i2c410 = &cfam3_i2c10;
1224		i2c411 = &cfam3_i2c11;
1225		i2c414 = &cfam3_i2c14;
1226		i2c415 = &cfam3_i2c15;
1227		i2c416 = &cfam3_i2c16;
1228		i2c417 = &cfam3_i2c17;
1229
1230		sbefifo100 = &sbefifo100;
1231		sbefifo101 = &sbefifo101;
1232		sbefifo110 = &sbefifo110;
1233		sbefifo111 = &sbefifo111;
1234		sbefifo112 = &sbefifo112;
1235		sbefifo113 = &sbefifo113;
1236		sbefifo114 = &sbefifo114;
1237		sbefifo115 = &sbefifo115;
1238		sbefifo202 = &sbefifo202;
1239		sbefifo203 = &sbefifo203;
1240		sbefifo210 = &sbefifo210;
1241		sbefifo211 = &sbefifo211;
1242		sbefifo214 = &sbefifo214;
1243		sbefifo215 = &sbefifo215;
1244		sbefifo216 = &sbefifo216;
1245		sbefifo217 = &sbefifo217;
1246		sbefifo300 = &sbefifo300;
1247		sbefifo301 = &sbefifo301;
1248		sbefifo310 = &sbefifo310;
1249		sbefifo311 = &sbefifo311;
1250		sbefifo312 = &sbefifo312;
1251		sbefifo313 = &sbefifo313;
1252		sbefifo314 = &sbefifo314;
1253		sbefifo315 = &sbefifo315;
1254		sbefifo402 = &sbefifo402;
1255		sbefifo403 = &sbefifo403;
1256		sbefifo410 = &sbefifo410;
1257		sbefifo411 = &sbefifo411;
1258		sbefifo414 = &sbefifo414;
1259		sbefifo415 = &sbefifo415;
1260		sbefifo416 = &sbefifo416;
1261		sbefifo417 = &sbefifo417;
1262
1263		scom100 = &scom100;
1264		scom101 = &scom101;
1265		scom110 = &scom110;
1266		scom111 = &scom111;
1267		scom112 = &scom112;
1268		scom113 = &scom113;
1269		scom114 = &scom114;
1270		scom115 = &scom115;
1271		scom202 = &scom202;
1272		scom203 = &scom203;
1273		scom210 = &scom210;
1274		scom211 = &scom211;
1275		scom214 = &scom214;
1276		scom215 = &scom215;
1277		scom216 = &scom216;
1278		scom217 = &scom217;
1279		scom300 = &scom300;
1280		scom301 = &scom301;
1281		scom310 = &scom310;
1282		scom311 = &scom311;
1283		scom312 = &scom312;
1284		scom313 = &scom313;
1285		scom314 = &scom314;
1286		scom315 = &scom315;
1287		scom402 = &scom402;
1288		scom403 = &scom403;
1289		scom410 = &scom410;
1290		scom411 = &scom411;
1291		scom414 = &scom414;
1292		scom415 = &scom415;
1293		scom416 = &scom416;
1294		scom417 = &scom417;
1295
1296		spi30 = &cfam2_spi0;
1297		spi31 = &cfam2_spi1;
1298		spi32 = &cfam2_spi2;
1299		spi33 = &cfam2_spi3;
1300		spi40 = &cfam3_spi0;
1301		spi41 = &cfam3_spi1;
1302		spi42 = &cfam3_spi2;
1303		spi43 = &cfam3_spi3;
1304	};
1305};
1306