1fa9d3b8bSEddie James// SPDX-License-Identifier: GPL-2.0-or-later
2fa9d3b8bSEddie James// Copyright 2023 IBM Corp.
3fa9d3b8bSEddie James
4fa9d3b8bSEddie James&fsim0 {
5fa9d3b8bSEddie James	status = "okay";
6fa9d3b8bSEddie James
7fa9d3b8bSEddie James	#address-cells = <2>;
8fa9d3b8bSEddie James	#size-cells = <0>;
9fa9d3b8bSEddie James
10fa9d3b8bSEddie James	cfam-reset-gpios = <&gpio0 ASPEED_GPIO(Q, 0) GPIO_ACTIVE_HIGH>;
11fa9d3b8bSEddie James
12fa9d3b8bSEddie James	cfam@0,0 {
13fa9d3b8bSEddie James		reg = <0 0>;
14fa9d3b8bSEddie James		#address-cells = <1>;
15fa9d3b8bSEddie James		#size-cells = <1>;
16fa9d3b8bSEddie James		chip-id = <0>;
17fa9d3b8bSEddie James
18fa9d3b8bSEddie James		scom@1000 {
19fa9d3b8bSEddie James			compatible = "ibm,fsi2pib";
20fa9d3b8bSEddie James			reg = <0x1000 0x400>;
21fa9d3b8bSEddie James		};
22fa9d3b8bSEddie James
23fa9d3b8bSEddie James		i2c@1800 {
24fa9d3b8bSEddie James			compatible = "ibm,fsi-i2c-master";
25fa9d3b8bSEddie James			reg = <0x1800 0x400>;
26fa9d3b8bSEddie James			#address-cells = <1>;
27fa9d3b8bSEddie James			#size-cells = <0>;
28fa9d3b8bSEddie James
29fa9d3b8bSEddie James			cfam0_i2c0: i2c-bus@0 {
30fa9d3b8bSEddie James				#address-cells = <1>;
31fa9d3b8bSEddie James				#size-cells = <0>;
32fa9d3b8bSEddie James				reg = <0>;	/* OMI01 */
33fa9d3b8bSEddie James			};
34fa9d3b8bSEddie James
35fa9d3b8bSEddie James			cfam0_i2c1: i2c-bus@1 {
36fa9d3b8bSEddie James				#address-cells = <1>;
37fa9d3b8bSEddie James				#size-cells = <0>;
38fa9d3b8bSEddie James				reg = <1>;	/* OMI23 */
39fa9d3b8bSEddie James			};
40fa9d3b8bSEddie James
41fa9d3b8bSEddie James			cfam0_i2c10: i2c-bus@a {
42fa9d3b8bSEddie James				#address-cells = <1>;
43fa9d3b8bSEddie James				#size-cells = <0>;
44fa9d3b8bSEddie James				reg = <10>;	/* OP3A */
45fa9d3b8bSEddie James			};
46fa9d3b8bSEddie James
47fa9d3b8bSEddie James			cfam0_i2c11: i2c-bus@b {
48fa9d3b8bSEddie James				#address-cells = <1>;
49fa9d3b8bSEddie James				#size-cells = <0>;
50fa9d3b8bSEddie James				reg = <11>;	/* OP3B */
51fa9d3b8bSEddie James			};
52fa9d3b8bSEddie James
53fa9d3b8bSEddie James			cfam0_i2c12: i2c-bus@c {
54fa9d3b8bSEddie James				#address-cells = <1>;
55fa9d3b8bSEddie James				#size-cells = <0>;
56fa9d3b8bSEddie James				reg = <12>;	/* OP4A */
57fa9d3b8bSEddie James			};
58fa9d3b8bSEddie James
59fa9d3b8bSEddie James			cfam0_i2c13: i2c-bus@d {
60fa9d3b8bSEddie James				#address-cells = <1>;
61fa9d3b8bSEddie James				#size-cells = <0>;
62fa9d3b8bSEddie James				reg = <13>;	/* OP4B */
63fa9d3b8bSEddie James			};
64fa9d3b8bSEddie James
65fa9d3b8bSEddie James			cfam0_i2c14: i2c-bus@e {
66fa9d3b8bSEddie James				#address-cells = <1>;
67fa9d3b8bSEddie James				#size-cells = <0>;
68fa9d3b8bSEddie James				reg = <14>;	/* OP5A */
69fa9d3b8bSEddie James			};
70fa9d3b8bSEddie James
71fa9d3b8bSEddie James			cfam0_i2c15: i2c-bus@f {
72fa9d3b8bSEddie James				#address-cells = <1>;
73fa9d3b8bSEddie James				#size-cells = <0>;
74fa9d3b8bSEddie James				reg = <15>;	/* OP5B */
75fa9d3b8bSEddie James			};
76fa9d3b8bSEddie James		};
77fa9d3b8bSEddie James
78fa9d3b8bSEddie James		fsi2spi@1c00 {
79fa9d3b8bSEddie James			compatible = "ibm,fsi2spi";
80fa9d3b8bSEddie James			reg = <0x1c00 0x400>;
81fa9d3b8bSEddie James			#address-cells = <1>;
82fa9d3b8bSEddie James			#size-cells = <0>;
83fa9d3b8bSEddie James
84fa9d3b8bSEddie James			cfam0_spi0: spi@0 {
85fa9d3b8bSEddie James				reg = <0x0>;
86fa9d3b8bSEddie James				#address-cells = <1>;
87fa9d3b8bSEddie James				#size-cells = <0>;
88fa9d3b8bSEddie James
89fa9d3b8bSEddie James				eeprom@0 {
90fa9d3b8bSEddie James					at25,byte-len = <0x80000>;
91fa9d3b8bSEddie James					at25,addr-mode = <4>;
92fa9d3b8bSEddie James					at25,page-size = <256>;
93fa9d3b8bSEddie James
94fa9d3b8bSEddie James					compatible = "atmel,at25";
95fa9d3b8bSEddie James					reg = <0>;
96fa9d3b8bSEddie James					spi-max-frequency = <1000000>;
97fa9d3b8bSEddie James				};
98fa9d3b8bSEddie James			};
99fa9d3b8bSEddie James
100fa9d3b8bSEddie James			cfam0_spi1: spi@20 {
101fa9d3b8bSEddie James				reg = <0x20>;
102fa9d3b8bSEddie James				#address-cells = <1>;
103fa9d3b8bSEddie James				#size-cells = <0>;
104fa9d3b8bSEddie James
105fa9d3b8bSEddie James				eeprom@0 {
106fa9d3b8bSEddie James					at25,byte-len = <0x80000>;
107fa9d3b8bSEddie James					at25,addr-mode = <4>;
108fa9d3b8bSEddie James					at25,page-size = <256>;
109fa9d3b8bSEddie James
110fa9d3b8bSEddie James					compatible = "atmel,at25";
111fa9d3b8bSEddie James					reg = <0>;
112fa9d3b8bSEddie James					spi-max-frequency = <1000000>;
113fa9d3b8bSEddie James				};
114fa9d3b8bSEddie James			};
115fa9d3b8bSEddie James
116fa9d3b8bSEddie James			cfam0_spi2: spi@40 {
117fa9d3b8bSEddie James				reg = <0x40>;
118fa9d3b8bSEddie James				compatible =  "ibm,fsi2spi";
119fa9d3b8bSEddie James				#address-cells = <1>;
120fa9d3b8bSEddie James				#size-cells = <0>;
121fa9d3b8bSEddie James
122fa9d3b8bSEddie James				eeprom@0 {
123fa9d3b8bSEddie James					at25,byte-len = <0x80000>;
124fa9d3b8bSEddie James					at25,addr-mode = <4>;
125fa9d3b8bSEddie James					at25,page-size = <256>;
126fa9d3b8bSEddie James
127fa9d3b8bSEddie James					compatible = "atmel,at25";
128fa9d3b8bSEddie James					reg = <0>;
129fa9d3b8bSEddie James					spi-max-frequency = <1000000>;
130fa9d3b8bSEddie James				};
131fa9d3b8bSEddie James			};
132fa9d3b8bSEddie James
133fa9d3b8bSEddie James			cfam0_spi3: spi@60 {
134fa9d3b8bSEddie James				reg = <0x60>;
135fa9d3b8bSEddie James				compatible =  "ibm,fsi2spi";
136fa9d3b8bSEddie James				#address-cells = <1>;
137fa9d3b8bSEddie James				#size-cells = <0>;
138fa9d3b8bSEddie James
139fa9d3b8bSEddie James				eeprom@0 {
140fa9d3b8bSEddie James					at25,byte-len = <0x80000>;
141fa9d3b8bSEddie James					at25,addr-mode = <4>;
142fa9d3b8bSEddie James					at25,page-size = <256>;
143fa9d3b8bSEddie James
144fa9d3b8bSEddie James					compatible = "atmel,at25";
145fa9d3b8bSEddie James					reg = <0>;
146fa9d3b8bSEddie James					spi-max-frequency = <1000000>;
147fa9d3b8bSEddie James				};
148fa9d3b8bSEddie James			};
149fa9d3b8bSEddie James		};
150fa9d3b8bSEddie James
151fa9d3b8bSEddie James		sbefifo@2400 {
152fa9d3b8bSEddie James			compatible = "ibm,p9-sbefifo";
153fa9d3b8bSEddie James			reg = <0x2400 0x400>;
154fa9d3b8bSEddie James			#address-cells = <1>;
155fa9d3b8bSEddie James			#size-cells = <0>;
156fa9d3b8bSEddie James
157fa9d3b8bSEddie James			fsi_occ0: occ {
158fa9d3b8bSEddie James				compatible = "ibm,p10-occ";
159fa9d3b8bSEddie James
160fa9d3b8bSEddie James				occ-hwmon {
161fa9d3b8bSEddie James					compatible = "ibm,p10-occ-hwmon";
162fa9d3b8bSEddie James					ibm,no-poll-on-init;
163fa9d3b8bSEddie James				};
164fa9d3b8bSEddie James			};
165fa9d3b8bSEddie James		};
166fa9d3b8bSEddie James
167fa9d3b8bSEddie James		fsi_hub0: hub@3400 {
168f33722b0SEddie James			#interrupt-cells = <1>;
169fa9d3b8bSEddie James			compatible = "fsi-master-hub";
170fa9d3b8bSEddie James			reg = <0x3400 0x400>;
171fa9d3b8bSEddie James			#address-cells = <2>;
172fa9d3b8bSEddie James			#size-cells = <0>;
173f33722b0SEddie James			interrupt-controller;
174fa9d3b8bSEddie James		};
175fa9d3b8bSEddie James	};
176fa9d3b8bSEddie James};
177fa9d3b8bSEddie James
178fa9d3b8bSEddie James&fsi_hub0 {
179fa9d3b8bSEddie James	cfam@1,0 {
180fa9d3b8bSEddie James		reg = <1 0>;
181fa9d3b8bSEddie James		#address-cells = <1>;
182fa9d3b8bSEddie James		#size-cells = <1>;
183fa9d3b8bSEddie James		chip-id = <1>;
184fa9d3b8bSEddie James
185fa9d3b8bSEddie James		scom@1000 {
186fa9d3b8bSEddie James			compatible = "ibm,fsi2pib";
187fa9d3b8bSEddie James			reg = <0x1000 0x400>;
188fa9d3b8bSEddie James		};
189fa9d3b8bSEddie James
190fa9d3b8bSEddie James		i2c@1800 {
191fa9d3b8bSEddie James			compatible = "ibm,fsi-i2c-master";
192fa9d3b8bSEddie James			reg = <0x1800 0x400>;
193fa9d3b8bSEddie James			#address-cells = <1>;
194fa9d3b8bSEddie James			#size-cells = <0>;
195fa9d3b8bSEddie James
196fa9d3b8bSEddie James			cfam1_i2c2: i2c-bus@2 {
197fa9d3b8bSEddie James				#address-cells = <1>;
198fa9d3b8bSEddie James				#size-cells = <0>;
199fa9d3b8bSEddie James				reg = <2>;	/* OMI45 */
200fa9d3b8bSEddie James			};
201fa9d3b8bSEddie James
202fa9d3b8bSEddie James			cfam1_i2c3: i2c-bus@3 {
203fa9d3b8bSEddie James				#address-cells = <1>;
204fa9d3b8bSEddie James				#size-cells = <0>;
205fa9d3b8bSEddie James				reg = <3>;	/* OMI67 */
206fa9d3b8bSEddie James			};
207fa9d3b8bSEddie James
208fa9d3b8bSEddie James			cfam1_i2c10: i2c-bus@a {
209fa9d3b8bSEddie James				#address-cells = <1>;
210fa9d3b8bSEddie James				#size-cells = <0>;
211fa9d3b8bSEddie James				reg = <10>;	/* OP3A */
212fa9d3b8bSEddie James			};
213fa9d3b8bSEddie James
214fa9d3b8bSEddie James			cfam1_i2c11: i2c-bus@b {
215fa9d3b8bSEddie James				#address-cells = <1>;
216fa9d3b8bSEddie James				#size-cells = <0>;
217fa9d3b8bSEddie James				reg = <11>;	/* OP3B */
218fa9d3b8bSEddie James			};
219fa9d3b8bSEddie James
220fa9d3b8bSEddie James			cfam1_i2c14: i2c-bus@e {
221fa9d3b8bSEddie James				#address-cells = <1>;
222fa9d3b8bSEddie James				#size-cells = <0>;
223fa9d3b8bSEddie James				reg = <14>;	/* OP5A */
224fa9d3b8bSEddie James			};
225fa9d3b8bSEddie James
226fa9d3b8bSEddie James			cfam1_i2c15: i2c-bus@f {
227fa9d3b8bSEddie James				#address-cells = <1>;
228fa9d3b8bSEddie James				#size-cells = <0>;
229fa9d3b8bSEddie James				reg = <15>;	/* OP5B */
230fa9d3b8bSEddie James			};
231fa9d3b8bSEddie James
232fa9d3b8bSEddie James			cfam1_i2c16: i2c-bus@10 {
233fa9d3b8bSEddie James				#address-cells = <1>;
234fa9d3b8bSEddie James				#size-cells = <0>;
235fa9d3b8bSEddie James				reg = <16>;	/* OP6A */
236fa9d3b8bSEddie James			};
237fa9d3b8bSEddie James
238fa9d3b8bSEddie James			cfam1_i2c17: i2c-bus@11 {
239fa9d3b8bSEddie James				#address-cells = <1>;
240fa9d3b8bSEddie James				#size-cells = <0>;
241fa9d3b8bSEddie James				reg = <17>;	/* OP6B */
242fa9d3b8bSEddie James			};
243fa9d3b8bSEddie James		};
244fa9d3b8bSEddie James
245fa9d3b8bSEddie James		fsi2spi@1c00 {
246fa9d3b8bSEddie James			compatible = "ibm,fsi2spi";
247fa9d3b8bSEddie James			reg = <0x1c00 0x400>;
248fa9d3b8bSEddie James			#address-cells = <1>;
249fa9d3b8bSEddie James			#size-cells = <0>;
250fa9d3b8bSEddie James
251fa9d3b8bSEddie James			cfam1_spi0: spi@0 {
252fa9d3b8bSEddie James				reg = <0x0>;
253fa9d3b8bSEddie James				#address-cells = <1>;
254fa9d3b8bSEddie James				#size-cells = <0>;
255fa9d3b8bSEddie James
256fa9d3b8bSEddie James				eeprom@0 {
257fa9d3b8bSEddie James					at25,byte-len = <0x80000>;
258fa9d3b8bSEddie James					at25,addr-mode = <4>;
259fa9d3b8bSEddie James					at25,page-size = <256>;
260fa9d3b8bSEddie James
261fa9d3b8bSEddie James					compatible = "atmel,at25";
262fa9d3b8bSEddie James					reg = <0>;
263fa9d3b8bSEddie James					spi-max-frequency = <1000000>;
264fa9d3b8bSEddie James				};
265fa9d3b8bSEddie James			};
266fa9d3b8bSEddie James
267fa9d3b8bSEddie James			cfam1_spi1: spi@20 {
268fa9d3b8bSEddie James				reg = <0x20>;
269fa9d3b8bSEddie James				#address-cells = <1>;
270fa9d3b8bSEddie James				#size-cells = <0>;
271fa9d3b8bSEddie James
272fa9d3b8bSEddie James				eeprom@0 {
273fa9d3b8bSEddie James					at25,byte-len = <0x80000>;
274fa9d3b8bSEddie James					at25,addr-mode = <4>;
275fa9d3b8bSEddie James					at25,page-size = <256>;
276fa9d3b8bSEddie James
277fa9d3b8bSEddie James					compatible = "atmel,at25";
278fa9d3b8bSEddie James					reg = <0>;
279fa9d3b8bSEddie James					spi-max-frequency = <1000000>;
280fa9d3b8bSEddie James				};
281fa9d3b8bSEddie James			};
282fa9d3b8bSEddie James
283fa9d3b8bSEddie James			cfam1_spi2: spi@40 {
284fa9d3b8bSEddie James				reg = <0x40>;
285fa9d3b8bSEddie James				compatible =  "ibm,fsi2spi";
286fa9d3b8bSEddie James				#address-cells = <1>;
287fa9d3b8bSEddie James				#size-cells = <0>;
288fa9d3b8bSEddie James
289fa9d3b8bSEddie James				eeprom@0 {
290fa9d3b8bSEddie James					at25,byte-len = <0x80000>;
291fa9d3b8bSEddie James					at25,addr-mode = <4>;
292fa9d3b8bSEddie James					at25,page-size = <256>;
293fa9d3b8bSEddie James
294fa9d3b8bSEddie James					compatible = "atmel,at25";
295fa9d3b8bSEddie James					reg = <0>;
296fa9d3b8bSEddie James					spi-max-frequency = <1000000>;
297fa9d3b8bSEddie James				};
298fa9d3b8bSEddie James			};
299fa9d3b8bSEddie James
300fa9d3b8bSEddie James			cfam1_spi3: spi@60 {
301fa9d3b8bSEddie James				reg = <0x60>;
302fa9d3b8bSEddie James				compatible =  "ibm,fsi2spi";
303fa9d3b8bSEddie James				#address-cells = <1>;
304fa9d3b8bSEddie James				#size-cells = <0>;
305fa9d3b8bSEddie James
306fa9d3b8bSEddie James				eeprom@0 {
307fa9d3b8bSEddie James					at25,byte-len = <0x80000>;
308fa9d3b8bSEddie James					at25,addr-mode = <4>;
309fa9d3b8bSEddie James					at25,page-size = <256>;
310fa9d3b8bSEddie James
311fa9d3b8bSEddie James					compatible = "atmel,at25";
312fa9d3b8bSEddie James					reg = <0>;
313fa9d3b8bSEddie James					spi-max-frequency = <1000000>;
314fa9d3b8bSEddie James				};
315fa9d3b8bSEddie James			};
316fa9d3b8bSEddie James		};
317fa9d3b8bSEddie James
318fa9d3b8bSEddie James		sbefifo@2400 {
319fa9d3b8bSEddie James			compatible = "ibm,p9-sbefifo";
320fa9d3b8bSEddie James			reg = <0x2400 0x400>;
321fa9d3b8bSEddie James			#address-cells = <1>;
322fa9d3b8bSEddie James			#size-cells = <0>;
323fa9d3b8bSEddie James
324fa9d3b8bSEddie James			fsi_occ1: occ {
325fa9d3b8bSEddie James				compatible = "ibm,p10-occ";
326fa9d3b8bSEddie James
327fa9d3b8bSEddie James				occ-hwmon {
328fa9d3b8bSEddie James					compatible = "ibm,p10-occ-hwmon";
329fa9d3b8bSEddie James					ibm,no-poll-on-init;
330fa9d3b8bSEddie James				};
331fa9d3b8bSEddie James			};
332fa9d3b8bSEddie James		};
333fa9d3b8bSEddie James
334fa9d3b8bSEddie James		fsi_hub1: hub@3400 {
335fa9d3b8bSEddie James			compatible = "fsi-master-hub";
336fa9d3b8bSEddie James			reg = <0x3400 0x400>;
337fa9d3b8bSEddie James			#address-cells = <2>;
338fa9d3b8bSEddie James			#size-cells = <0>;
339fa9d3b8bSEddie James
340fa9d3b8bSEddie James			no-scan-on-init;
341fa9d3b8bSEddie James		};
342fa9d3b8bSEddie James	};
343fa9d3b8bSEddie James};
344fa9d3b8bSEddie James
345fa9d3b8bSEddie James/* Legacy OCC numbering (to get rid of when userspace is fixed) */
346fa9d3b8bSEddie James&fsi_occ0 {
347fa9d3b8bSEddie James	reg = <1>;
348fa9d3b8bSEddie James};
349fa9d3b8bSEddie James
350fa9d3b8bSEddie James&fsi_occ1 {
351fa9d3b8bSEddie James	reg = <2>;
352fa9d3b8bSEddie James};
353fa9d3b8bSEddie James
354fa9d3b8bSEddie James/ {
355fa9d3b8bSEddie James	aliases {
356fa9d3b8bSEddie James		i2c100 = &cfam0_i2c0;
357fa9d3b8bSEddie James		i2c101 = &cfam0_i2c1;
358fa9d3b8bSEddie James		i2c110 = &cfam0_i2c10;
359fa9d3b8bSEddie James		i2c111 = &cfam0_i2c11;
360fa9d3b8bSEddie James		i2c112 = &cfam0_i2c12;
361fa9d3b8bSEddie James		i2c113 = &cfam0_i2c13;
362fa9d3b8bSEddie James		i2c114 = &cfam0_i2c14;
363fa9d3b8bSEddie James		i2c115 = &cfam0_i2c15;
364fa9d3b8bSEddie James		i2c202 = &cfam1_i2c2;
365fa9d3b8bSEddie James		i2c203 = &cfam1_i2c3;
366fa9d3b8bSEddie James		i2c210 = &cfam1_i2c10;
367fa9d3b8bSEddie James		i2c211 = &cfam1_i2c11;
368fa9d3b8bSEddie James		i2c214 = &cfam1_i2c14;
369fa9d3b8bSEddie James		i2c215 = &cfam1_i2c15;
370fa9d3b8bSEddie James		i2c216 = &cfam1_i2c16;
371fa9d3b8bSEddie James		i2c217 = &cfam1_i2c17;
372fa9d3b8bSEddie James
373fa9d3b8bSEddie James		spi10 = &cfam0_spi0;
374fa9d3b8bSEddie James		spi11 = &cfam0_spi1;
375fa9d3b8bSEddie James		spi12 = &cfam0_spi2;
376fa9d3b8bSEddie James		spi13 = &cfam0_spi3;
377fa9d3b8bSEddie James		spi20 = &cfam1_spi0;
378fa9d3b8bSEddie James		spi21 = &cfam1_spi1;
379fa9d3b8bSEddie James		spi22 = &cfam1_spi2;
380fa9d3b8bSEddie James		spi23 = &cfam1_spi3;
381fa9d3b8bSEddie James	};
382fa9d3b8bSEddie James};
383