1// SPDX-License-Identifier: GPL-2.0+
2// Copyright 2018 IBM Corp
3
4&fsi {
5	cfam@0,0 {
6		reg = <0 0>;
7		#address-cells = <1>;
8		#size-cells = <1>;
9		chip-id = <0>;
10
11		scom@1000 {
12			compatible = "ibm,fsi2pib";
13			reg = <0x1000 0x400>;
14		};
15
16		i2c@1800 {
17			compatible = "ibm,fsi-i2c-master";
18			reg = <0x1800 0x400>;
19			#address-cells = <1>;
20			#size-cells = <0>;
21
22			cfam0_i2c0: i2c-bus@0 {
23				reg = <0>;
24			};
25
26			cfam0_i2c1: i2c-bus@1 {
27				reg = <1>;
28			};
29
30			cfam0_i2c2: i2c-bus@2 {
31				reg = <2>;
32			};
33
34			cfam0_i2c3: i2c-bus@3 {
35				reg = <3>;
36			};
37
38			cfam0_i2c4: i2c-bus@4 {
39				reg = <4>;
40			};
41
42			cfam0_i2c5: i2c-bus@5 {
43				reg = <5>;
44			};
45
46			cfam0_i2c6: i2c-bus@6 {
47				reg = <6>;
48			};
49
50			cfam0_i2c7: i2c-bus@7 {
51				reg = <7>;
52			};
53
54			cfam0_i2c8: i2c-bus@8 {
55				reg = <8>;
56			};
57
58			cfam0_i2c9: i2c-bus@9 {
59				reg = <9>;
60			};
61
62			cfam0_i2c10: i2c-bus@a {
63				reg = <10>;
64			};
65
66			cfam0_i2c11: i2c-bus@b {
67				reg = <11>;
68			};
69
70			cfam0_i2c12: i2c-bus@c {
71				reg = <12>;
72			};
73
74			cfam0_i2c13: i2c-bus@d {
75				reg = <13>;
76			};
77
78			cfam0_i2c14: i2c-bus@e {
79				reg = <14>;
80			};
81		};
82
83		sbefifo@2400 {
84			compatible = "ibm,p9-sbefifo";
85			reg = <0x2400 0x400>;
86			#address-cells = <1>;
87			#size-cells = <0>;
88
89			fsi_occ0: occ@1 {
90				compatible = "ibm,p9-occ";
91			};
92		};
93
94		fsi_hub0: hub@3400 {
95			compatible = "fsi-master-hub";
96			reg = <0x3400 0x400>;
97			#address-cells = <2>;
98			#size-cells = <0>;
99
100			no-scan-on-init;
101		};
102	};
103};
104
105&fsi_hub0 {
106	cfam@1,0 {
107		reg = <1 0>;
108		#address-cells = <1>;
109		#size-cells = <1>;
110		chip-id = <1>;
111
112		scom@1000 {
113			compatible = "ibm,fsi2pib";
114			reg = <0x1000 0x400>;
115		};
116
117		i2c@1800 {
118			compatible = "ibm,fsi-i2c-master";
119			reg = <0x1800 0x400>;
120			#address-cells = <1>;
121			#size-cells = <0>;
122
123			cfam1_i2c0: i2c-bus@0 {
124				reg = <0>;
125			};
126
127			cfam1_i2c1: i2c-bus@1 {
128				reg = <1>;
129			};
130
131			cfam1_i2c2: i2c-bus@2 {
132				reg = <2>;
133			};
134
135			cfam1_i2c3: i2c-bus@3 {
136				reg = <3>;
137			};
138
139			cfam1_i2c4: i2c-bus@4 {
140				reg = <4>;
141			};
142
143			cfam1_i2c5: i2c-bus@5 {
144				reg = <5>;
145			};
146
147			cfam1_i2c6: i2c-bus@6 {
148				reg = <6>;
149			};
150
151			cfam1_i2c7: i2c-bus@7 {
152				reg = <7>;
153			};
154
155			cfam1_i2c8: i2c-bus@8 {
156				reg = <8>;
157			};
158
159			cfam1_i2c9: i2c-bus@9 {
160				reg = <9>;
161			};
162
163			cfam1_i2c10: i2c-bus@a {
164				reg = <10>;
165			};
166
167			cfam1_i2c11: i2c-bus@b {
168				reg = <11>;
169			};
170
171			cfam1_i2c12: i2c-bus@c {
172				reg = <12>;
173			};
174
175			cfam1_i2c13: i2c-bus@d {
176				reg = <13>;
177			};
178
179			cfam1_i2c14: i2c-bus@e {
180				reg = <14>;
181			};
182		};
183
184		sbefifo@2400 {
185			compatible = "ibm,p9-sbefifo";
186			reg = <0x2400 0x400>;
187			#address-cells = <1>;
188			#size-cells = <0>;
189
190			fsi_occ1: occ@2 {
191				compatible = "ibm,p9-occ";
192			};
193		};
194
195		fsi_hub1: hub@3400 {
196			compatible = "fsi-master-hub";
197			reg = <0x3400 0x400>;
198			#address-cells = <2>;
199			#size-cells = <0>;
200
201			no-scan-on-init;
202		};
203	};
204};
205
206/* Legacy OCC numbering (to get rid of when userspace is fixed) */
207&fsi_occ0 {
208	reg = <1>;
209};
210
211&fsi_occ1 {
212	reg = <2>;
213};
214
215/ {
216	aliases {
217		i2c100 = &cfam0_i2c0;
218		i2c101 = &cfam0_i2c1;
219		i2c102 = &cfam0_i2c2;
220		i2c103 = &cfam0_i2c3;
221		i2c104 = &cfam0_i2c4;
222		i2c105 = &cfam0_i2c5;
223		i2c106 = &cfam0_i2c6;
224		i2c107 = &cfam0_i2c7;
225		i2c108 = &cfam0_i2c8;
226		i2c109 = &cfam0_i2c9;
227		i2c110 = &cfam0_i2c10;
228		i2c111 = &cfam0_i2c11;
229		i2c112 = &cfam0_i2c12;
230		i2c113 = &cfam0_i2c13;
231		i2c114 = &cfam0_i2c14;
232		i2c200 = &cfam1_i2c0;
233		i2c201 = &cfam1_i2c1;
234		i2c202 = &cfam1_i2c2;
235		i2c203 = &cfam1_i2c3;
236		i2c204 = &cfam1_i2c4;
237		i2c205 = &cfam1_i2c5;
238		i2c206 = &cfam1_i2c6;
239		i2c207 = &cfam1_i2c7;
240		i2c208 = &cfam1_i2c8;
241		i2c209 = &cfam1_i2c9;
242		i2c210 = &cfam1_i2c10;
243		i2c211 = &cfam1_i2c11;
244		i2c212 = &cfam1_i2c12;
245		i2c213 = &cfam1_i2c13;
246		i2c214 = &cfam1_i2c14;
247	};
248};
249