• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// SPDX-License-Identifier: GPL-2.0+
2/dts-v1/;
3#include "aspeed-g5.dtsi"
4#include <dt-bindings/gpio/aspeed-gpio.h>
5#include <dt-bindings/leds/leds-pca955x.h>
6
7/ {
8	model = "Witherspoon BMC";
9	compatible = "ibm,witherspoon-bmc", "aspeed,ast2500";
10
11	chosen {
12		stdout-path = &uart5;
13		bootargs = "console=ttyS4,115200 earlyprintk";
14	};
15
16	memory@80000000 {
17		reg = <0x80000000 0x20000000>;
18	};
19
20	reserved-memory {
21		#address-cells = <1>;
22		#size-cells = <1>;
23		ranges;
24
25		flash_memory: region@98000000 {
26			no-map;
27			reg = <0x98000000 0x04000000>; /* 64M */
28		};
29	};
30
31	gpio-keys {
32		compatible = "gpio-keys";
33
34		air-water {
35			label = "air-water";
36			gpios = <&gpio ASPEED_GPIO(B, 5) GPIO_ACTIVE_LOW>;
37			linux,code = <ASPEED_GPIO(B, 5)>;
38		};
39
40		checkstop {
41			label = "checkstop";
42			gpios = <&gpio ASPEED_GPIO(J, 2) GPIO_ACTIVE_LOW>;
43			linux,code = <ASPEED_GPIO(J, 2)>;
44		};
45
46		ps0-presence {
47			label = "ps0-presence";
48			gpios = <&gpio ASPEED_GPIO(P, 7) GPIO_ACTIVE_LOW>;
49			linux,code = <ASPEED_GPIO(P, 7)>;
50		};
51
52		ps1-presence {
53			label = "ps1-presence";
54			gpios = <&gpio ASPEED_GPIO(N, 0) GPIO_ACTIVE_LOW>;
55			linux,code = <ASPEED_GPIO(N, 0)>;
56		};
57	};
58
59	gpio-keys-polled {
60		compatible = "gpio-keys-polled";
61		#address-cells = <1>;
62		#size-cells = <0>;
63		poll-interval = <1000>;
64
65		fan0-presence {
66			label = "fan0-presence";
67			gpios = <&pca0 4 GPIO_ACTIVE_LOW>;
68			linux,code = <4>;
69		};
70
71		fan1-presence {
72			label = "fan1-presence";
73			gpios = <&pca0 5 GPIO_ACTIVE_LOW>;
74			linux,code = <5>;
75		};
76
77		fan2-presence {
78			label = "fan2-presence";
79			gpios = <&pca0 6 GPIO_ACTIVE_LOW>;
80			linux,code = <6>;
81		};
82
83		fan3-presence {
84			label = "fan3-presence";
85			gpios = <&pca0 7 GPIO_ACTIVE_LOW>;
86			linux,code = <7>;
87		};
88	};
89
90	leds {
91		compatible = "gpio-leds";
92
93		fan0 {
94			retain-state-shutdown;
95			default-state = "keep";
96			gpios = <&pca0 0 GPIO_ACTIVE_LOW>;
97		};
98
99		fan1 {
100			retain-state-shutdown;
101			default-state = "keep";
102			gpios = <&pca0 1 GPIO_ACTIVE_LOW>;
103		};
104
105		fan2 {
106			retain-state-shutdown;
107			default-state = "keep";
108			gpios = <&pca0 2 GPIO_ACTIVE_LOW>;
109		};
110
111		fan3 {
112			retain-state-shutdown;
113			default-state = "keep";
114			gpios = <&pca0 3 GPIO_ACTIVE_LOW>;
115		};
116
117		front-fault {
118			retain-state-shutdown;
119			default-state = "keep";
120			gpios = <&pca0 13 GPIO_ACTIVE_LOW>;
121		};
122
123		front-power {
124			retain-state-shutdown;
125			default-state = "keep";
126			gpios = <&pca0 14 GPIO_ACTIVE_LOW>;
127		};
128
129		front-id {
130			retain-state-shutdown;
131			default-state = "keep";
132			gpios = <&pca0 15 GPIO_ACTIVE_LOW>;
133		};
134
135		rear-fault {
136			gpios = <&gpio ASPEED_GPIO(N, 2) GPIO_ACTIVE_LOW>;
137		};
138
139		rear-id {
140			gpios = <&gpio ASPEED_GPIO(N, 4) GPIO_ACTIVE_LOW>;
141		};
142
143		rear-power {
144			gpios = <&gpio ASPEED_GPIO(N, 3) GPIO_ACTIVE_LOW>;
145		};
146
147		power-button {
148			gpios = <&gpio ASPEED_GPIO(R, 5) GPIO_ACTIVE_LOW>;
149		};
150	};
151
152	fsi: gpio-fsi {
153		compatible = "fsi-master-gpio", "fsi-master";
154		#address-cells = <2>;
155		#size-cells = <0>;
156		no-gpio-delays;
157
158		clock-gpios = <&gpio ASPEED_GPIO(AA, 0) GPIO_ACTIVE_HIGH>;
159		data-gpios = <&gpio ASPEED_GPIO(E, 0) GPIO_ACTIVE_HIGH>;
160		mux-gpios = <&gpio ASPEED_GPIO(A, 6) GPIO_ACTIVE_HIGH>;
161		enable-gpios = <&gpio ASPEED_GPIO(D, 0) GPIO_ACTIVE_HIGH>;
162		trans-gpios = <&gpio ASPEED_GPIO(R, 2) GPIO_ACTIVE_HIGH>;
163	};
164
165	iio-hwmon-dps310 {
166		compatible = "iio-hwmon";
167		io-channels = <&dps 0>;
168	};
169
170	iio-hwmon-bmp280 {
171		compatible = "iio-hwmon";
172		io-channels = <&bmp 1>;
173	};
174
175};
176
177&fmc {
178	status = "okay";
179
180	flash@0 {
181		status = "okay";
182		label = "bmc";
183		m25p,fast-read;
184#include "openbmc-flash-layout.dtsi"
185	};
186
187	flash@1 {
188		status = "okay";
189		label = "alt";
190		m25p,fast-read;
191	};
192};
193
194&spi1 {
195	status = "okay";
196	pinctrl-names = "default";
197	pinctrl-0 = <&pinctrl_spi1_default>;
198
199	flash@0 {
200		status = "okay";
201		label = "pnor";
202		m25p,fast-read;
203	};
204};
205
206&uart1 {
207	/* Rear RS-232 connector */
208	status = "okay";
209	pinctrl-names = "default";
210	pinctrl-0 = <&pinctrl_txd1_default
211			&pinctrl_rxd1_default
212			&pinctrl_nrts1_default
213			&pinctrl_ndtr1_default
214			&pinctrl_ndsr1_default
215			&pinctrl_ncts1_default
216			&pinctrl_ndcd1_default
217			&pinctrl_nri1_default>;
218};
219
220&uart2 {
221	/* APSS */
222	status = "okay";
223	pinctrl-names = "default";
224	pinctrl-0 = <&pinctrl_txd2_default &pinctrl_rxd2_default>;
225};
226
227&uart5 {
228	status = "okay";
229};
230
231&lpc_ctrl {
232	status = "okay";
233	memory-region = <&flash_memory>;
234	flash = <&spi1>;
235};
236
237&mac0 {
238	status = "okay";
239	pinctrl-names = "default";
240	pinctrl-0 = <&pinctrl_rmii1_default>;
241	use-ncsi;
242};
243
244&i2c2 {
245	status = "okay";
246
247	/* MUX ->
248	 *    Samtec 1
249	 *    Samtec 2
250	 */
251};
252
253&i2c3 {
254	status = "okay";
255
256	bmp: bmp280@77 {
257		compatible = "bosch,bmp280";
258		reg = <0x77>;
259		#io-channel-cells = <1>;
260	};
261
262	max31785@52 {
263		compatible = "maxim,max31785a";
264		reg = <0x52>;
265		#address-cells = <1>;
266		#size-cells = <0>;
267	};
268
269	dps: dps310@76 {
270		compatible = "infineon,dps310";
271		reg = <0x76>;
272		#io-channel-cells = <0>;
273	};
274
275	pca0: pca9552@60 {
276		compatible = "nxp,pca9552";
277		reg = <0x60>;
278		#address-cells = <1>;
279		#size-cells = <0>;
280
281		gpio-controller;
282		#gpio-cells = <2>;
283
284		gpio@0 {
285			reg = <0>;
286			type = <PCA955X_TYPE_GPIO>;
287		};
288
289		gpio@1 {
290			reg = <1>;
291			type = <PCA955X_TYPE_GPIO>;
292		};
293
294		gpio@2 {
295			reg = <2>;
296			type = <PCA955X_TYPE_GPIO>;
297		};
298
299		gpio@3 {
300			reg = <3>;
301			type = <PCA955X_TYPE_GPIO>;
302		};
303
304		gpio@4 {
305			reg = <4>;
306			type = <PCA955X_TYPE_GPIO>;
307		};
308
309		gpio@5 {
310			reg = <5>;
311			type = <PCA955X_TYPE_GPIO>;
312		};
313
314		gpio@6 {
315			reg = <6>;
316			type = <PCA955X_TYPE_GPIO>;
317		};
318
319		gpio@7 {
320			reg = <7>;
321			type = <PCA955X_TYPE_GPIO>;
322		};
323
324		gpio@8 {
325			reg = <8>;
326			type = <PCA955X_TYPE_GPIO>;
327		};
328
329		gpio@9 {
330			reg = <9>;
331			type = <PCA955X_TYPE_GPIO>;
332		};
333
334		gpio@10 {
335			reg = <10>;
336			type = <PCA955X_TYPE_GPIO>;
337		};
338
339		gpio@11 {
340			reg = <11>;
341			type = <PCA955X_TYPE_GPIO>;
342		};
343
344		gpio@12 {
345			reg = <12>;
346			type = <PCA955X_TYPE_GPIO>;
347		};
348
349		gpio@13 {
350			reg = <13>;
351			type = <PCA955X_TYPE_GPIO>;
352		};
353
354		gpio@14 {
355			reg = <14>;
356			type = <PCA955X_TYPE_GPIO>;
357		};
358
359		gpio@15 {
360			reg = <15>;
361			type = <PCA955X_TYPE_GPIO>;
362		};
363	};
364
365	power-supply@68 {
366		compatible = "ibm,cffps1";
367		reg = <0x68>;
368	};
369
370	power-supply@69 {
371		compatible = "ibm,cffps1";
372		reg = <0x69>;
373	};
374};
375
376&i2c4 {
377	status = "okay";
378
379	tmp423a@4c {
380		compatible = "ti,tmp423";
381		reg = <0x4c>;
382	};
383
384	ir35221@70 {
385		compatible = "infineon,ir35221";
386		reg = <0x70>;
387	};
388
389	ir35221@71 {
390		compatible = "infineon,ir35221";
391		reg = <0x71>;
392	};
393};
394
395
396&i2c5 {
397	status = "okay";
398
399	tmp423a@4c {
400		compatible = "ti,tmp423";
401		reg = <0x4c>;
402	};
403
404	ir35221@70 {
405		compatible = "infineon,ir35221";
406		reg = <0x70>;
407	};
408
409	ir35221@71 {
410		compatible = "infineon,ir35221";
411		reg = <0x71>;
412	};
413};
414
415&i2c9 {
416	status = "okay";
417
418	tmp275@4a {
419		compatible = "ti,tmp275";
420		reg = <0x4a>;
421	};
422};
423
424&i2c10 {
425	/* MUX
426	 *   -> PCIe Slot 3
427	 *   -> PCIe Slot 4
428	 */
429	status = "okay";
430};
431
432&i2c11 {
433	status = "okay";
434
435	pca9552: pca9552@60 {
436		compatible = "nxp,pca9552";
437		reg = <0x60>;
438		#address-cells = <1>;
439		#size-cells = <0>;
440		gpio-controller;
441		#gpio-cells = <2>;
442
443		gpio-line-names = "PS_SMBUS_RESET_N", "APSS_RESET_N",
444			"GPU0_TH_OVERT_N_BUFF",	"GPU1_TH_OVERT_N_BUFF",
445			"GPU2_TH_OVERT_N_BUFF", "GPU3_TH_OVERT_N_BUFF",
446			"GPU4_TH_OVERT_N_BUFF",	"GPU5_TH_OVERT_N_BUFF",
447			"GPU0_PWR_GOOD_BUFF", "GPU1_PWR_GOOD_BUFF",
448			"GPU2_PWR_GOOD_BUFF", "GPU3_PWR_GOOD_BUFF",
449			"GPU4_PWR_GOOD_BUFF", "GPU5_PWR_GOOD_BUFF",
450			"12V_BREAKER_FLT_N", "THROTTLE_UNLATCHED_N";
451
452		gpio@0 {
453			reg = <0>;
454			type = <PCA955X_TYPE_GPIO>;
455		};
456
457		gpio@1 {
458			reg = <1>;
459			type = <PCA955X_TYPE_GPIO>;
460		};
461
462		gpio@2 {
463			reg = <2>;
464			type = <PCA955X_TYPE_GPIO>;
465		};
466
467		gpio@3 {
468			reg = <3>;
469			type = <PCA955X_TYPE_GPIO>;
470		};
471
472		gpio@4 {
473			reg = <4>;
474			type = <PCA955X_TYPE_GPIO>;
475		};
476
477		gpio@5 {
478			reg = <5>;
479			type = <PCA955X_TYPE_GPIO>;
480		};
481
482		gpio@6 {
483			reg = <6>;
484			type = <PCA955X_TYPE_GPIO>;
485		};
486
487		gpio@7 {
488			reg = <7>;
489			type = <PCA955X_TYPE_GPIO>;
490		};
491
492		gpio@8 {
493			reg = <8>;
494			type = <PCA955X_TYPE_GPIO>;
495		};
496
497		gpio@9 {
498			reg = <9>;
499			type = <PCA955X_TYPE_GPIO>;
500		};
501
502		gpio@10 {
503			reg = <10>;
504			type = <PCA955X_TYPE_GPIO>;
505		};
506
507		gpio@11 {
508			reg = <11>;
509			type = <PCA955X_TYPE_GPIO>;
510		};
511
512		gpio@12 {
513			reg = <12>;
514			type = <PCA955X_TYPE_GPIO>;
515		};
516
517		gpio@13 {
518			reg = <13>;
519			type = <PCA955X_TYPE_GPIO>;
520		};
521
522		gpio@14 {
523			reg = <14>;
524			type = <PCA955X_TYPE_GPIO>;
525		};
526
527		gpio@15 {
528			reg = <15>;
529			type = <PCA955X_TYPE_GPIO>;
530		};
531	};
532
533	rtc@32 {
534		compatible = "epson,rx8900";
535		reg = <0x32>;
536	};
537
538	eeprom@51 {
539		compatible = "atmel,24c64";
540		reg = <0x51>;
541	};
542
543	ucd90160@64 {
544		compatible = "ti,ucd90160";
545		reg = <0x64>;
546	};
547};
548
549&i2c12 {
550	status = "okay";
551};
552
553&i2c13 {
554	status = "okay";
555};
556
557&vuart {
558	status = "okay";
559};
560
561&gfx {
562	status = "okay";
563};
564
565&pinctrl {
566	aspeed,external-nodes = <&gfx &lhc>;
567};
568
569&wdt1 {
570	aspeed,reset-type = "none";
571	aspeed,external-signal;
572	aspeed,ext-push-pull;
573	aspeed,ext-active-high;
574
575	pinctrl-names = "default";
576	pinctrl-0 = <&pinctrl_wdtrst1_default>;
577};
578
579&wdt2 {
580	aspeed,alt-boot;
581};
582
583&ibt {
584	status = "okay";
585};
586