xref: /openbmc/linux/arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-bletchley.dts (revision 563571bf4790a48424b5ddfb3da8b57b43858e9f)
1// SPDX-License-Identifier: GPL-2.0+
2// Copyright (c) 2021 Facebook Inc.
3/dts-v1/;
4
5#include "aspeed-g6.dtsi"
6#include <dt-bindings/gpio/aspeed-gpio.h>
7#include <dt-bindings/usb/pd.h>
8#include <dt-bindings/leds/leds-pca955x.h>
9#include <dt-bindings/interrupt-controller/irq.h>
10#include <dt-bindings/i2c/i2c.h>
11
12/ {
13	model = "Facebook Bletchley BMC";
14	compatible = "facebook,bletchley-bmc", "aspeed,ast2600";
15
16	aliases {
17		serial4 = &uart5;
18	};
19
20	chosen {
21		bootargs = "console=ttyS4,57600n8";
22	};
23
24	memory@80000000 {
25		device_type = "memory";
26		reg = <0x80000000 0x80000000>;
27	};
28
29	iio-hwmon {
30		compatible = "iio-hwmon";
31		io-channels = <&adc0 0>, <&adc0 1>, <&adc0 2>, <&adc0 3>,
32			<&adc0 4>, <&adc0 5>, <&adc0 6>, <&adc0 7>,
33			<&adc1 0>, <&adc1 1>, <&adc1 2>, <&adc1 3>,
34			<&adc1 4>, <&adc1 5>, <&adc1 6>, <&adc1 7>;
35	};
36
37	spi1_gpio: spi1-gpio {
38		compatible = "spi-gpio";
39		#address-cells = <1>;
40		#size-cells = <0>;
41
42		gpio-sck = <&gpio0 ASPEED_GPIO(Z, 3) GPIO_ACTIVE_HIGH>;
43		gpio-mosi = <&gpio0 ASPEED_GPIO(Z, 4) GPIO_ACTIVE_HIGH>;
44		gpio-miso = <&gpio0 ASPEED_GPIO(Z, 5) GPIO_ACTIVE_HIGH>;
45		num-chipselects = <1>;
46		cs-gpios = <&gpio0 ASPEED_GPIO(Z, 0) GPIO_ACTIVE_LOW>;
47
48		tpm@0 {
49			compatible = "infineon,slb9670", "tcg,tpm_tis-spi";
50			spi-max-frequency = <33000000>;
51			reg = <0>;
52		};
53	};
54
55	front_gpio_leds {
56		compatible = "gpio-leds";
57		sys_log_id {
58			default-state = "off";
59			gpios = <&front_leds 0 GPIO_ACTIVE_LOW>;
60		};
61	};
62
63	fan_gpio_leds {
64		compatible = "gpio-leds";
65		fan0_blue {
66			retain-state-shutdown;
67			default-state = "on";
68			gpios = <&fan_leds 8 GPIO_ACTIVE_HIGH>;
69		};
70		fan1_blue {
71			retain-state-shutdown;
72			default-state = "on";
73			gpios = <&fan_leds 9 GPIO_ACTIVE_HIGH>;
74		};
75		fan2_blue {
76			retain-state-shutdown;
77			default-state = "on";
78			gpios = <&fan_leds 10 GPIO_ACTIVE_HIGH>;
79		};
80		fan3_blue {
81			retain-state-shutdown;
82			default-state = "on";
83			gpios = <&fan_leds 11 GPIO_ACTIVE_HIGH>;
84		};
85		fan0_amber {
86			retain-state-shutdown;
87			default-state = "off";
88			gpios = <&fan_leds 12 GPIO_ACTIVE_HIGH>;
89		};
90		fan1_amber {
91			retain-state-shutdown;
92			default-state = "off";
93			gpios = <&fan_leds 13 GPIO_ACTIVE_HIGH>;
94		};
95		fan2_amber {
96			retain-state-shutdown;
97			default-state = "off";
98			gpios = <&fan_leds 14 GPIO_ACTIVE_HIGH>;
99		};
100		fan3_amber {
101			retain-state-shutdown;
102			default-state = "off";
103			gpios = <&fan_leds 15 GPIO_ACTIVE_HIGH>;
104		};
105	};
106
107	sled1_gpio_leds {
108		compatible = "gpio-leds";
109		sled1_amber {
110			retain-state-shutdown;
111			default-state = "keep";
112			gpios = <&sled1_leds 0 GPIO_ACTIVE_LOW>;
113		};
114		sled1_blue {
115			retain-state-shutdown;
116			default-state = "keep";
117			gpios = <&sled1_leds 1 GPIO_ACTIVE_LOW>;
118		};
119	};
120
121	sled2_gpio_leds {
122		compatible = "gpio-leds";
123		sled2_amber {
124			retain-state-shutdown;
125			default-state = "keep";
126			gpios = <&sled2_leds 0 GPIO_ACTIVE_LOW>;
127		};
128		sled2_blue {
129			retain-state-shutdown;
130			default-state = "keep";
131			gpios = <&sled2_leds 1 GPIO_ACTIVE_LOW>;
132		};
133	};
134
135	sled3_gpio_leds {
136		compatible = "gpio-leds";
137		sled3_amber {
138			retain-state-shutdown;
139			default-state = "keep";
140			gpios = <&sled3_leds 0 GPIO_ACTIVE_LOW>;
141		};
142		sled3_blue {
143			retain-state-shutdown;
144			default-state = "keep";
145			gpios = <&sled3_leds 1 GPIO_ACTIVE_LOW>;
146		};
147	};
148
149	sled4_gpio_leds {
150		compatible = "gpio-leds";
151		sled4_amber {
152			retain-state-shutdown;
153			default-state = "keep";
154			gpios = <&sled4_leds 0 GPIO_ACTIVE_LOW>;
155		};
156		sled4_blue {
157			retain-state-shutdown;
158			default-state = "keep";
159			gpios = <&sled4_leds 1 GPIO_ACTIVE_LOW>;
160		};
161	};
162
163	sled5_gpio_leds {
164		compatible = "gpio-leds";
165		sled5_amber {
166			retain-state-shutdown;
167			default-state = "keep";
168			gpios = <&sled5_leds 0 GPIO_ACTIVE_LOW>;
169		};
170		sled5_blue {
171			retain-state-shutdown;
172			default-state = "keep";
173			gpios = <&sled5_leds 1 GPIO_ACTIVE_LOW>;
174		};
175	};
176
177	sled6_gpio_leds {
178		compatible = "gpio-leds";
179		sled6_amber {
180			retain-state-shutdown;
181			default-state = "keep";
182			gpios = <&sled6_leds 0 GPIO_ACTIVE_LOW>;
183		};
184		sled6_blue {
185			retain-state-shutdown;
186			default-state = "keep";
187			gpios = <&sled6_leds 1 GPIO_ACTIVE_LOW>;
188		};
189	};
190
191	gpio-keys {
192		compatible = "gpio-keys";
193
194		presence-sled1 {
195			label = "presence-sled1";
196			gpios = <&gpio0 ASPEED_GPIO(H, 2) GPIO_ACTIVE_LOW>;
197			linux,code = <ASPEED_GPIO(H, 2)>;
198		};
199		presence-sled2 {
200			label = "presence-sled2";
201			gpios = <&gpio0 ASPEED_GPIO(H, 3) GPIO_ACTIVE_LOW>;
202			linux,code = <ASPEED_GPIO(H, 3)>;
203		};
204		presence-sled3 {
205			label = "presence-sled3";
206			gpios = <&gpio0 ASPEED_GPIO(H, 4) GPIO_ACTIVE_LOW>;
207			linux,code = <ASPEED_GPIO(H, 4)>;
208		};
209		presence-sled4 {
210			label = "presence-sled4";
211			gpios = <&gpio0 ASPEED_GPIO(H, 5) GPIO_ACTIVE_LOW>;
212			linux,code = <ASPEED_GPIO(H, 5)>;
213		};
214		presence-sled5 {
215			label = "presence-sled5";
216			gpios = <&gpio0 ASPEED_GPIO(H, 6) GPIO_ACTIVE_LOW>;
217			linux,code = <ASPEED_GPIO(H, 6)>;
218		};
219		presence-sled6 {
220			label = "presence-sled6";
221			gpios = <&gpio0 ASPEED_GPIO(H, 7) GPIO_ACTIVE_LOW>;
222			linux,code = <ASPEED_GPIO(H, 7)>;
223		};
224	};
225
226	vbus_sled1: vbus_sled1 {
227		compatible = "regulator-fixed";
228		regulator-name = "vbus_sled1";
229		regulator-min-microvolt = <5000000>;
230		regulator-max-microvolt = <5000000>;
231		gpio = <&sled1_ioexp 1 GPIO_ACTIVE_HIGH>;
232		enable-active-high;
233	};
234
235	vbus_sled2: vbus_sled2 {
236		compatible = "regulator-fixed";
237		regulator-name = "vbus_sled2";
238		regulator-min-microvolt = <5000000>;
239		regulator-max-microvolt = <5000000>;
240		gpio = <&sled2_ioexp 1 GPIO_ACTIVE_HIGH>;
241		enable-active-high;
242	};
243
244	vbus_sled3: vbus_sled3 {
245		compatible = "regulator-fixed";
246		regulator-name = "vbus_sled3";
247		regulator-min-microvolt = <5000000>;
248		regulator-max-microvolt = <5000000>;
249		gpio = <&sled3_ioexp 1 GPIO_ACTIVE_HIGH>;
250		enable-active-high;
251	};
252
253	vbus_sled4: vbus_sled4 {
254		compatible = "regulator-fixed";
255		regulator-name = "vbus_sled4";
256		regulator-min-microvolt = <5000000>;
257		regulator-max-microvolt = <5000000>;
258		gpio = <&sled4_ioexp 1 GPIO_ACTIVE_HIGH>;
259		enable-active-high;
260	};
261
262	vbus_sled5: vbus_sled5 {
263		compatible = "regulator-fixed";
264		regulator-name = "vbus_sled5";
265		regulator-min-microvolt = <5000000>;
266		regulator-max-microvolt = <5000000>;
267		gpio = <&sled5_ioexp 1 GPIO_ACTIVE_HIGH>;
268		enable-active-high;
269	};
270
271	vbus_sled6: vbus_sled6 {
272		compatible = "regulator-fixed";
273		regulator-name = "vbus_sled6";
274		regulator-min-microvolt = <5000000>;
275		regulator-max-microvolt = <5000000>;
276		gpio = <&sled6_ioexp 1 GPIO_ACTIVE_HIGH>;
277		enable-active-high;
278	};
279};
280
281&mac2 {
282	status = "okay";
283	phy-mode = "rgmii";
284	pinctrl-names = "default";
285	pinctrl-0 = <&pinctrl_rgmii3_default>;
286
287	fixed-link {
288		speed = <1000>;
289		full-duplex;
290	};
291};
292
293&fmc {
294	status = "okay";
295	flash@0 {
296		status = "okay";
297		m25p,fast-read;
298		label = "bmc";
299		spi-max-frequency = <50000000>;
300#include "openbmc-flash-layout-128.dtsi"
301	};
302	flash@1 {
303		status = "okay";
304		m25p,fast-read;
305		label = "alt-bmc";
306		spi-max-frequency = <50000000>;
307	};
308};
309
310&spi2 {
311	status = "okay";
312	pinctrl-names = "default";
313	pinctrl-0 = <&pinctrl_spi2_default>;
314
315	flash@0 {
316		status = "okay";
317		m25p,fast-read;
318		label = "pnor";
319		spi-max-frequency = <50000000>;
320	};
321};
322
323&i2c0 {
324	status = "okay";
325	ina230@45 {
326		compatible = "ti,ina230";
327		reg = <0x45>;
328		shunt-resistor = <2000>;
329	};
330
331	mp5023@40 {
332		compatible = "mps,mp5023";
333		reg = <0x40>;
334	};
335
336	tmp421@4f {
337		compatible = "ti,tmp421";
338		reg = <0x4f>;
339	};
340
341	sled1_ioexp41: pca9536@41 {
342		compatible = "nxp,pca9536";
343		reg = <0x41>;
344		gpio-controller;
345		#gpio-cells = <2>;
346
347		gpio-line-names =
348		"SLED1_SWD_MUX", "SLED1_XRES_SWD_N",
349		"SLED1_CLKREQ_N", "SLED1_PCIE_PWR_EN";
350	};
351
352	sled1_ioexp: pca9539@76 {
353		compatible = "nxp,pca9539";
354		reg = <0x76>;
355		#address-cells = <1>;
356		#size-cells = <0>;
357		gpio-controller;
358		#gpio-cells = <2>;
359
360		interrupt-parent = <&gpio0>;
361		interrupts = <ASPEED_GPIO(M, 0) IRQ_TYPE_LEVEL_LOW>;
362
363		gpio-line-names =
364		"SLED1_MS_DETECT1","SLED1_VBUS_BMC_EN","SLED1_INA230_ALERT","SLED1_P12V_STBY_ALERT",
365		"SLED1_SSD_ALERT","SLED1_MS_DETECT0","SLED1_RST_CCG5","SLED1_FUSB302_INT",
366		"SLED1_MD_STBY_RESET","SLED1_MD_IOEXP_EN_FAULT","SLED1_MD_DIR","SLED1_MD_DECAY",
367		"SLED1_MD_MODE1","SLED1_MD_MODE2","SLED1_MD_MODE3","power-host1";
368	};
369
370	sled1_leds: pca9552@67 {
371		compatible = "nxp,pca9552";
372		reg = <0x67>;
373		#address-cells = <1>;
374		#size-cells = <0>;
375		gpio-controller;
376		#gpio-cells = <2>;
377
378		gpio-line-names =
379		"led-sled1-amber","led-sled1-blue","SLED1_RST_IOEXP","SLED1_MD_REF_PWM",
380		"","","","",
381		"","","","",
382		"","","","";
383	};
384
385	sled1_fusb302: typec-portc@22 {
386		compatible = "fcs,fusb302";
387		reg = <0x22>;
388
389		interrupt-parent = <&gpio0>;
390		interrupts = <ASPEED_GPIO(B, 0) IRQ_TYPE_LEVEL_LOW>;
391		vbus-supply = <&vbus_sled1>;
392
393		connector {
394			compatible = "usb-c-connector";
395			label = "USB-C";
396			power-role = "source";
397			data-role = "host";
398			pd-disable;
399			typec-power-opmode = "default";
400		};
401	};
402
403	eeprom@54 {
404		compatible = "atmel,24c64";
405		reg = <0x54>;
406	};
407};
408
409&i2c1 {
410	status = "okay";
411	ina230@45 {
412		compatible = "ti,ina230";
413		reg = <0x45>;
414		shunt-resistor = <2000>;
415	};
416
417	mp5023@40 {
418		compatible = "mps,mp5023";
419		reg = <0x40>;
420	};
421
422	tmp421@4f {
423		compatible = "ti,tmp421";
424		reg = <0x4f>;
425	};
426
427	sled2_ioexp41: pca9536@41 {
428		compatible = "nxp,pca9536";
429		reg = <0x41>;
430		gpio-controller;
431		#gpio-cells = <2>;
432
433		gpio-line-names =
434		"SLED2_SWD_MUX", "SLED2_XRES_SWD_N",
435		"SLED2_CLKREQ_N", "SLED2_PCIE_PWR_EN";
436	};
437
438	sled2_ioexp: pca9539@76 {
439		compatible = "nxp,pca9539";
440		reg = <0x76>;
441		#address-cells = <1>;
442		#size-cells = <0>;
443		gpio-controller;
444		#gpio-cells = <2>;
445
446		interrupt-parent = <&gpio0>;
447		interrupts = <ASPEED_GPIO(M, 1) IRQ_TYPE_LEVEL_LOW>;
448
449		gpio-line-names =
450		"SLED2_MS_DETECT1","SLED2_VBUS_BMC_EN","SLED2_INA230_ALERT","SLED2_P12V_STBY_ALERT",
451		"SLED2_SSD_ALERT","SLED2_MS_DETECT0","SLED2_RST_CCG5","SLED2_FUSB302_INT",
452		"SLED2_MD_STBY_RESET","SLED2_MD_IOEXP_EN_FAULT","SLED2_MD_DIR","SLED2_MD_DECAY",
453		"SLED2_MD_MODE1","SLED2_MD_MODE2","SLED2_MD_MODE3","power-host2";
454	};
455
456	sled2_leds: pca9552@67 {
457		compatible = "nxp,pca9552";
458		reg = <0x67>;
459		#address-cells = <1>;
460		#size-cells = <0>;
461		gpio-controller;
462		#gpio-cells = <2>;
463
464		gpio-line-names =
465		"led-sled2-amber","led-sled2-blue","SLED2_RST_IOEXP","SLED2_MD_REF_PWM",
466		"","","","",
467		"","","","",
468		"","","","";
469	};
470
471	sled2_fusb302: typec-portc@22 {
472		compatible = "fcs,fusb302";
473		reg = <0x22>;
474
475		interrupt-parent = <&gpio0>;
476		interrupts = <ASPEED_GPIO(B, 1) IRQ_TYPE_LEVEL_LOW>;
477		vbus-supply = <&vbus_sled2>;
478
479		connector {
480			compatible = "usb-c-connector";
481			label = "USB-C";
482			power-role = "source";
483			data-role = "host";
484			pd-disable;
485			typec-power-opmode = "default";
486		};
487	};
488
489	eeprom@54 {
490		compatible = "atmel,24c64";
491		reg = <0x54>;
492	};
493};
494
495&i2c2 {
496	status = "okay";
497	ina230@45 {
498		compatible = "ti,ina230";
499		reg = <0x45>;
500		shunt-resistor = <2000>;
501	};
502
503	mp5023@40 {
504		compatible = "mps,mp5023";
505		reg = <0x40>;
506	};
507
508	tmp421@4f {
509		compatible = "ti,tmp421";
510		reg = <0x4f>;
511	};
512
513	sled3_ioexp41: pca9536@41 {
514		compatible = "nxp,pca9536";
515		reg = <0x41>;
516		gpio-controller;
517		#gpio-cells = <2>;
518
519		gpio-line-names =
520		"SLED3_SWD_MUX", "SLED3_XRES_SWD_N",
521		"SLED3_CLKREQ_N", "SLED3_PCIE_PWR_EN";
522	};
523
524	sled3_ioexp: pca9539@76 {
525		compatible = "nxp,pca9539";
526		reg = <0x76>;
527		#address-cells = <1>;
528		#size-cells = <0>;
529		gpio-controller;
530		#gpio-cells = <2>;
531
532		interrupt-parent = <&gpio0>;
533		interrupts = <ASPEED_GPIO(M, 2) IRQ_TYPE_LEVEL_LOW>;
534
535		gpio-line-names =
536		"SLED3_MS_DETECT1","SLED3_VBUS_BMC_EN","SLED3_INA230_ALERT","SLED3_P12V_STBY_ALERT",
537		"SLED3_SSD_ALERT","SLED3_MS_DETECT0","SLED3_RST_CCG5","SLED3_FUSB302_INT",
538		"SLED3_MD_STBY_RESET","SLED3_MD_IOEXP_EN_FAULT","SLED3_MD_DIR","SLED3_MD_DECAY",
539		"SLED3_MD_MODE1","SLED3_MD_MODE2","SLED3_MD_MODE3","power-host3";
540	};
541
542	sled3_leds: pca9552@67 {
543		compatible = "nxp,pca9552";
544		reg = <0x67>;
545		#address-cells = <1>;
546		#size-cells = <0>;
547		gpio-controller;
548		#gpio-cells = <2>;
549
550		gpio-line-names =
551		"led-sled3-amber","led-sled3-blue","SLED3_RST_IOEXP","SLED3_MD_REF_PWM",
552		"","","","",
553		"","","","",
554		"","","","";
555	};
556
557	sled3_fusb302: typec-portc@22 {
558		compatible = "fcs,fusb302";
559		reg = <0x22>;
560
561		interrupt-parent = <&gpio0>;
562		interrupts = <ASPEED_GPIO(B, 7) IRQ_TYPE_LEVEL_LOW>;
563		vbus-supply = <&vbus_sled3>;
564
565		connector {
566			compatible = "usb-c-connector";
567			label = "USB-C";
568			power-role = "source";
569			data-role = "host";
570			pd-disable;
571			typec-power-opmode = "default";
572		};
573	};
574
575	eeprom@54 {
576		compatible = "atmel,24c64";
577		reg = <0x54>;
578	};
579};
580
581&i2c3 {
582	status = "okay";
583	ina230@45 {
584		compatible = "ti,ina230";
585		reg = <0x45>;
586		shunt-resistor = <2000>;
587	};
588
589	mp5023@40 {
590		compatible = "mps,mp5023";
591		reg = <0x40>;
592	};
593
594	tmp421@4f {
595		compatible = "ti,tmp421";
596		reg = <0x4f>;
597	};
598
599	sled4_ioexp41: pca9536@41 {
600		compatible = "nxp,pca9536";
601		reg = <0x41>;
602		gpio-controller;
603		#gpio-cells = <2>;
604
605		gpio-line-names =
606		"SLED4_SWD_MUX", "SLED4_XRES_SWD_N",
607		"SLED4_CLKREQ_N", "SLED4_PCIE_PWR_EN";
608	};
609
610	sled4_ioexp: pca9539@76 {
611		compatible = "nxp,pca9539";
612		reg = <0x76>;
613		#address-cells = <1>;
614		#size-cells = <0>;
615		gpio-controller;
616		#gpio-cells = <2>;
617
618		interrupt-parent = <&gpio0>;
619		interrupts = <ASPEED_GPIO(M, 3) IRQ_TYPE_LEVEL_LOW>;
620
621		gpio-line-names =
622		"SLED4_MS_DETECT1","SLED4_VBUS_BMC_EN","SLED4_INA230_ALERT","SLED4_P12V_STBY_ALERT",
623		"SLED4_SSD_ALERT","SLED4_MS_DETECT0","SLED4_RST_CCG5","SLED4_FUSB302_INT",
624		"SLED4_MD_STBY_RESET","SLED4_MD_IOEXP_EN_FAULT","SLED4_MD_DIR","SLED4_MD_DECAY",
625		"SLED4_MD_MODE1","SLED4_MD_MODE2","SLED4_MD_MODE3","power-host4";
626	};
627
628	sled4_leds: pca9552@67 {
629		compatible = "nxp,pca9552";
630		reg = <0x67>;
631		#address-cells = <1>;
632		#size-cells = <0>;
633		gpio-controller;
634		#gpio-cells = <2>;
635
636		gpio-line-names =
637		"led-sled4-amber","led-sled4-blue","SLED4_RST_IOEXP","SLED4_MD_REF_PWM",
638		"","","","",
639		"","","","",
640		"","","","";
641	};
642
643	sled4_fusb302: typec-portc@22 {
644		compatible = "fcs,fusb302";
645		reg = <0x22>;
646
647		interrupt-parent = <&gpio0>;
648		interrupts = <ASPEED_GPIO(S, 7) IRQ_TYPE_LEVEL_LOW>;
649		vbus-supply = <&vbus_sled4>;
650
651		connector {
652			compatible = "usb-c-connector";
653			label = "USB-C";
654			power-role = "source";
655			data-role = "host";
656			pd-disable;
657			typec-power-opmode = "default";
658		};
659	};
660
661	eeprom@54 {
662		compatible = "atmel,24c64";
663		reg = <0x54>;
664	};
665};
666
667&i2c4 {
668	status = "okay";
669	ina230@45 {
670		compatible = "ti,ina230";
671		reg = <0x45>;
672		shunt-resistor = <2000>;
673	};
674
675	mp5023@40 {
676		compatible = "mps,mp5023";
677		reg = <0x40>;
678	};
679
680	tmp421@4f {
681		compatible = "ti,tmp421";
682		reg = <0x4f>;
683	};
684
685	sled5_ioexp41: pca9536@41 {
686		compatible = "nxp,pca9536";
687		reg = <0x41>;
688		gpio-controller;
689		#gpio-cells = <2>;
690
691		gpio-line-names =
692		"SLED5_SWD_MUX", "SLED5_XRES_SWD_N",
693		"SLED5_CLKREQ_N", "SLED5_PCIE_PWR_EN";
694	};
695
696	sled5_ioexp: pca9539@76 {
697		compatible = "nxp,pca9539";
698		reg = <0x76>;
699		#address-cells = <1>;
700		#size-cells = <0>;
701		gpio-controller;
702		#gpio-cells = <2>;
703
704		interrupt-parent = <&gpio0>;
705		interrupts = <ASPEED_GPIO(M, 4) IRQ_TYPE_LEVEL_LOW>;
706
707		gpio-line-names =
708		"SLED5_MS_DETECT1","SLED5_VBUS_BMC_EN","SLED5_INA230_ALERT","SLED5_P12V_STBY_ALERT",
709		"SLED5_SSD_ALERT","SLED5_MS_DETECT0","SLED5_RST_CCG5","SLED5_FUSB302_INT",
710		"SLED5_MD_STBY_RESET","SLED5_MD_IOEXP_EN_FAULT","SLED5_MD_DIR","SLED5_MD_DECAY",
711		"SLED5_MD_MODE1","SLED5_MD_MODE2","SLED5_MD_MODE3","power-host5";
712	};
713
714	sled5_leds: pca9552@67 {
715		compatible = "nxp,pca9552";
716		reg = <0x67>;
717		#address-cells = <1>;
718		#size-cells = <0>;
719		gpio-controller;
720		#gpio-cells = <2>;
721
722		gpio-line-names =
723		"led-sled5-amber","led-sled5-blue","SLED5_RST_IOEXP","SLED5_MD_REF_PWM",
724		"","","","",
725		"","","","",
726		"","","","";
727	};
728
729	sled5_fusb302: typec-portc@22 {
730		compatible = "fcs,fusb302";
731		reg = <0x22>;
732
733		interrupt-parent = <&gpio0>;
734		interrupts = <ASPEED_GPIO(Y, 3) IRQ_TYPE_LEVEL_LOW>;
735		vbus-supply = <&vbus_sled5>;
736
737		connector {
738			compatible = "usb-c-connector";
739			label = "USB-C";
740			power-role = "source";
741			data-role = "host";
742			pd-disable;
743			typec-power-opmode = "default";
744		};
745	};
746
747	eeprom@54 {
748		compatible = "atmel,24c64";
749		reg = <0x54>;
750	};
751};
752
753&i2c5 {
754	status = "okay";
755	ina230@45 {
756		compatible = "ti,ina230";
757		reg = <0x45>;
758		shunt-resistor = <2000>;
759	};
760
761	mp5023@40 {
762		compatible = "mps,mp5023";
763		reg = <0x40>;
764	};
765
766	tmp421@4f {
767		compatible = "ti,tmp421";
768		reg = <0x4f>;
769	};
770
771	sled6_ioexp41: pca9536@41 {
772		compatible = "nxp,pca9536";
773		reg = <0x41>;
774		gpio-controller;
775		#gpio-cells = <2>;
776
777		gpio-line-names =
778		"SLED6_SWD_MUX", "SLED6_XRES_SWD_N",
779		"SLED6_CLKREQ_N", "SLED6_PCIE_PWR_EN";
780	};
781
782	sled6_ioexp: pca9539@76 {
783		compatible = "nxp,pca9539";
784		reg = <0x76>;
785		#address-cells = <1>;
786		#size-cells = <0>;
787		gpio-controller;
788		#gpio-cells = <2>;
789
790		interrupt-parent = <&gpio0>;
791		interrupts = <ASPEED_GPIO(M, 5) IRQ_TYPE_LEVEL_LOW>;
792
793		gpio-line-names =
794		"SLED6_MS_DETECT1","SLED6_VBUS_BMC_EN","SLED6_INA230_ALERT","SLED6_P12V_STBY_ALERT",
795		"SLED6_SSD_ALERT","SLED6_MS_DETECT0","SLED6_RST_CCG5","SLED6_FUSB302_INT",
796		"SLED6_MD_STBY_RESET","SLED6_MD_IOEXP_EN_FAULT","SLED6_MD_DIR","SLED6_MD_DECAY",
797		"SLED6_MD_MODE1","SLED6_MD_MODE2","SLED6_MD_MODE3","power-host6";
798	};
799
800	sled6_leds: pca9552@67 {
801		compatible = "nxp,pca9552";
802		reg = <0x67>;
803		#address-cells = <1>;
804		#size-cells = <0>;
805		gpio-controller;
806		#gpio-cells = <2>;
807
808		gpio-line-names =
809		"led-sled6-amber","led-sled6-blue","SLED6_RST_IOEXP","SLED6_MD_REF_PWM",
810		"","","","",
811		"","","","",
812		"","","","";
813	};
814
815	sled6_fusb302: typec-portc@22 {
816		compatible = "fcs,fusb302";
817		reg = <0x22>;
818
819		interrupt-parent = <&gpio0>;
820		interrupts = <ASPEED_GPIO(I, 7) IRQ_TYPE_LEVEL_LOW>;
821		vbus-supply = <&vbus_sled6>;
822
823		connector {
824			compatible = "usb-c-connector";
825			label = "USB-C";
826			power-role = "source";
827			data-role = "host";
828			pd-disable;
829			typec-power-opmode = "default";
830		};
831	};
832
833	eeprom@54 {
834		compatible = "atmel,24c64";
835		reg = <0x54>;
836	};
837};
838
839&i2c6 {
840	status = "okay";
841
842	eeprom@56 {
843		compatible = "atmel,24c64";
844		reg = <0x56>;
845	};
846
847	rtc@51 {
848		/* in-chip rtc disabled, use external rtc (battery-backed) */
849		compatible = "nxp,pcf85263";
850		reg = <0x51>;
851	};
852};
853
854&i2c7 {
855	status = "okay";
856
857	eeprom@54 {
858		compatible = "atmel,24c64";
859		reg = <0x54>;
860	};
861};
862
863&i2c9 {
864	status = "okay";
865
866	tmp421@4f {
867		compatible = "ti,tmp421";
868		reg = <0x4f>;
869	};
870};
871
872&i2c10 {
873	status = "okay";
874
875	tmp421@4f {
876		compatible = "ti,tmp421";
877		reg = <0x4f>;
878	};
879
880	front_leds: pca9552@67 {
881		compatible = "nxp,pca9552";
882		reg = <0x67>;
883		#address-cells = <1>;
884		#size-cells = <0>;
885		gpio-controller;
886		#gpio-cells = <2>;
887
888		gpio-line-names =
889		"led-fault-identify","power-p5v-stby-good",
890		"power-p1v0-dvdd-good","power-p1v0-avdd-good",
891		"","","","",
892		"","","","",
893		"","","","";
894	};
895};
896
897&i2c12 {
898	status = "okay";
899
900	adm1278@11 {
901		compatible = "adi,adm1278";
902		reg = <0x11>;
903		shunt-resistor-micro-ohms = <300>;
904		adi,volt-curr-sample-average = <128>;
905		adi,power-sample-average = <128>;
906	};
907
908	tmp421@4c {
909		compatible = "ti,tmp421";
910		reg = <0x4c>;
911	};
912
913	tmp421@4d {
914		compatible = "ti,tmp421";
915		reg = <0x4d>;
916	};
917
918	fan_leds: pca9552@67 {
919		compatible = "nxp,pca9552";
920		reg = <0x67>;
921		#address-cells = <1>;
922		#size-cells = <0>;
923		gpio-controller;
924		#gpio-cells = <2>;
925
926		gpio-line-names =
927		"presence-fan0","presence-fan1",
928		"presence-fan2","presence-fan3",
929		"power-fan0-good","power-fan1-good",
930		"power-fan2-good","power-fan3-good",
931		"","","","",
932		"","","","";
933	};
934};
935
936&i2c13 {
937	multi-master;
938	aspeed,hw-timeout-ms = <1000>;
939	status = "okay";
940
941	//USB Debug Connector
942	ipmb13@10 {
943		compatible = "ipmb-dev";
944		reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>;
945		i2c-protocol;
946	};
947};
948
949&gpio0 {
950	pinctrl-names = "default";
951	pinctrl-0 = <&pinctrl_gpiov2_unbiased_default>;
952
953	gpio-line-names =
954	/*A0-A7*/	"","","","","","","","",
955	/*B0-B7*/	"FUSB302_SLED1_INT_N","FUSB302_SLED2_INT_N",
956			"SEL_SPI2_MUX","SPI2_MUX1",
957			"SPI2_MUX2","SPI2_MUX3",
958			"","FUSB302_SLED3_INT_N",
959	/*C0-C7*/	"","","","","","","","",
960	/*D0-D7*/	"","","","","","","","",
961	/*E0-E7*/	"","","","","","","","",
962	/*F0-F7*/	"BMC_SLED1_STCK","BMC_SLED2_STCK",
963			"BMC_SLED3_STCK","BMC_SLED4_STCK",
964			"BMC_SLED5_STCK","BMC_SLED6_STCK",
965			"","",
966	/*G0-G7*/	"BSM_FRU_WP","SWITCH_FRU_MUX","","FM_SOL_UART_CH_SEL",
967			"PWRGD_P1V05_VDDCORE","PWRGD_P1V5_VDD","","",
968	/*H0-H7*/	"presence-riser1","presence-riser2",
969			"presence-sled1","presence-sled2",
970			"presence-sled3","presence-sled4",
971			"presence-sled5","presence-sled6",
972	/*I0-I7*/	"REV_ID0","",
973			"REV_ID1","REV_ID2",
974			"","BSM_FLASH_WP_STATUS",
975			"BMC_TPM_PRES_N","FUSB302_SLED6_INT_N",
976	/*J0-J7*/	"","","","","","","","",
977	/*K0-K7*/	"","","","","","","","",
978	/*L0-L7*/	"","","","","","BMC_RTC_INT","","",
979	/*M0-M7*/	"ALERT_SLED1_N","ALERT_SLED2_N",
980			"ALERT_SLED3_N","ALERT_SLED4_N",
981			"ALERT_SLED5_N","ALERT_SLED6_N",
982			"","USB_DEBUG_PWR_BTN_N",
983	/*N0-N7*/	"LED_POSTCODE_0","LED_POSTCODE_1",
984			"LED_POSTCODE_2","LED_POSTCODE_3",
985			"LED_POSTCODE_4","LED_POSTCODE_5",
986			"LED_POSTCODE_6","LED_POSTCODE_7",
987	/*O0-O7*/	"","","","",
988			"","BOARD_ID0","BOARD_ID1","BOARD_ID2",
989	/*P0-P7*/	"","","","","","","","BMC_HEARTBEAT",
990	/*Q0-Q7*/	"","","","","","","","",
991	/*R0-R7*/	"","","","","","","","",
992	/*S0-S7*/	"","","","BAT_DETECT",
993			"BMC_BT_WP0_N","BMC_BT_WP1_N","","FUSB302_SLED4_INT_N",
994	/*T0-T7*/	"","","","","","","","",
995	/*U0-U7*/	"","","","","","","","",
996	/*V0-V7*/	"PWRGD_CNS_PSU","RST_BMC_MVL_N",
997			"P12V_AUX_ALERT1_N","PSU_PRSNT",
998			"USB2_SEL0_A","USB2_SEL1_A",
999			"USB2_SEL0_B","USB2_SEL1_B",
1000	/*W0-W7*/	"RST_FRONT_IOEXP_N","","","","","","","",
1001	/*X0-X7*/	"","","","","","","","",
1002	/*Y0-Y7*/	"BMC_SELF_HW_RST","BSM_PRSNT_N",
1003			"BSM_FLASH_LATCH_N","FUSB302_SLED5_INT_N",
1004			"","","","",
1005	/*Z0-Z7*/	"","","","","","","","";
1006};
1007
1008&adc0 {
1009	vref = <1800>;
1010	status = "okay";
1011
1012	pinctrl-names = "default";
1013	pinctrl-0 = <&pinctrl_adc0_default &pinctrl_adc1_default
1014		&pinctrl_adc2_default &pinctrl_adc3_default
1015		&pinctrl_adc4_default &pinctrl_adc5_default
1016		&pinctrl_adc6_default &pinctrl_adc7_default>;
1017};
1018
1019&adc1 {
1020	vref = <2500>;
1021	status = "okay";
1022
1023	pinctrl-names = "default";
1024	pinctrl-0 = <&pinctrl_adc8_default &pinctrl_adc9_default
1025		&pinctrl_adc10_default &pinctrl_adc11_default
1026		&pinctrl_adc12_default &pinctrl_adc13_default
1027		&pinctrl_adc14_default &pinctrl_adc15_default>;
1028};
1029
1030&mdio0 {
1031	status = "okay";
1032	/* TODO: Add Marvell 88E6191X */
1033};
1034
1035&mdio3 {
1036	status = "okay";
1037	/* TODO: Add Marvell 88X3310 */
1038};
1039
1040&ehci0 {
1041	status = "okay";
1042};
1043
1044&ehci1 {
1045	status = "okay";
1046};
1047
1048&emmc_controller {
1049	status = "okay";
1050};
1051
1052&emmc {
1053	status = "okay";
1054};
1055
1056&pinctrl {
1057	pinctrl_gpiov2_unbiased_default: gpiov2 {
1058		pins = "AD14";
1059		bias-disable;
1060	};
1061};
1062
1063&wdt1 {
1064	status = "okay";
1065	pinctrl-names = "default";
1066	pinctrl-0 = <&pinctrl_wdtrst1_default>;
1067	aspeed,reset-type = "soc";
1068	aspeed,external-signal;
1069	aspeed,ext-push-pull;
1070	aspeed,ext-active-high;
1071	aspeed,ext-pulse-duration = <256>;
1072};
1073