xref: /linux/arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-bletchley.dts (revision 6e9a12f85a7567bb9a41d5230468886bd6a27b20)
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			pd-revision = /bits/ 8 <0x2 0x0 0x1 0x20>;
397			power-role = "dual";
398			try-power-role = "sink";
399			data-role = "dual";
400			source-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
401			sink-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
402			op-sink-microwatt = <10000000>;
403		};
404	};
405
406	eeprom@54 {
407		compatible = "atmel,24c64";
408		reg = <0x54>;
409	};
410};
411
412&i2c1 {
413	status = "okay";
414	ina230@45 {
415		compatible = "ti,ina230";
416		reg = <0x45>;
417		shunt-resistor = <2000>;
418	};
419
420	mp5023@40 {
421		compatible = "mps,mp5023";
422		reg = <0x40>;
423	};
424
425	tmp421@4f {
426		compatible = "ti,tmp421";
427		reg = <0x4f>;
428	};
429
430	sled2_ioexp41: pca9536@41 {
431		compatible = "nxp,pca9536";
432		reg = <0x41>;
433		gpio-controller;
434		#gpio-cells = <2>;
435
436		gpio-line-names =
437		"SLED2_SWD_MUX", "SLED2_XRES_SWD_N",
438		"SLED2_CLKREQ_N", "SLED2_PCIE_PWR_EN";
439	};
440
441	sled2_ioexp: pca9539@76 {
442		compatible = "nxp,pca9539";
443		reg = <0x76>;
444		#address-cells = <1>;
445		#size-cells = <0>;
446		gpio-controller;
447		#gpio-cells = <2>;
448
449		interrupt-parent = <&gpio0>;
450		interrupts = <ASPEED_GPIO(M, 1) IRQ_TYPE_LEVEL_LOW>;
451
452		gpio-line-names =
453		"SLED2_MS_DETECT1","SLED2_VBUS_BMC_EN","SLED2_INA230_ALERT","SLED2_P12V_STBY_ALERT",
454		"SLED2_SSD_ALERT","SLED2_MS_DETECT0","SLED2_RST_CCG5","SLED2_FUSB302_INT",
455		"SLED2_MD_STBY_RESET","SLED2_MD_IOEXP_EN_FAULT","SLED2_MD_DIR","SLED2_MD_DECAY",
456		"SLED2_MD_MODE1","SLED2_MD_MODE2","SLED2_MD_MODE3","power-host2";
457	};
458
459	sled2_leds: pca9552@67 {
460		compatible = "nxp,pca9552";
461		reg = <0x67>;
462		#address-cells = <1>;
463		#size-cells = <0>;
464		gpio-controller;
465		#gpio-cells = <2>;
466
467		gpio-line-names =
468		"led-sled2-amber","led-sled2-blue","SLED2_RST_IOEXP","SLED2_MD_REF_PWM",
469		"","","","",
470		"","","","",
471		"","","","";
472	};
473
474	sled2_fusb302: typec-portc@22 {
475		compatible = "fcs,fusb302";
476		reg = <0x22>;
477
478		interrupt-parent = <&gpio0>;
479		interrupts = <ASPEED_GPIO(B, 1) IRQ_TYPE_LEVEL_LOW>;
480		vbus-supply = <&vbus_sled2>;
481
482		connector {
483			compatible = "usb-c-connector";
484			label = "USB-C";
485			pd-revision = /bits/ 8 <0x2 0x0 0x1 0x20>;
486			power-role = "dual";
487			try-power-role = "sink";
488			data-role = "dual";
489			source-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
490			sink-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
491			op-sink-microwatt = <10000000>;
492		};
493	};
494
495	eeprom@54 {
496		compatible = "atmel,24c64";
497		reg = <0x54>;
498	};
499};
500
501&i2c2 {
502	status = "okay";
503	ina230@45 {
504		compatible = "ti,ina230";
505		reg = <0x45>;
506		shunt-resistor = <2000>;
507	};
508
509	mp5023@40 {
510		compatible = "mps,mp5023";
511		reg = <0x40>;
512	};
513
514	tmp421@4f {
515		compatible = "ti,tmp421";
516		reg = <0x4f>;
517	};
518
519	sled3_ioexp41: pca9536@41 {
520		compatible = "nxp,pca9536";
521		reg = <0x41>;
522		gpio-controller;
523		#gpio-cells = <2>;
524
525		gpio-line-names =
526		"SLED3_SWD_MUX", "SLED3_XRES_SWD_N",
527		"SLED3_CLKREQ_N", "SLED3_PCIE_PWR_EN";
528	};
529
530	sled3_ioexp: pca9539@76 {
531		compatible = "nxp,pca9539";
532		reg = <0x76>;
533		#address-cells = <1>;
534		#size-cells = <0>;
535		gpio-controller;
536		#gpio-cells = <2>;
537
538		interrupt-parent = <&gpio0>;
539		interrupts = <ASPEED_GPIO(M, 2) IRQ_TYPE_LEVEL_LOW>;
540
541		gpio-line-names =
542		"SLED3_MS_DETECT1","SLED3_VBUS_BMC_EN","SLED3_INA230_ALERT","SLED3_P12V_STBY_ALERT",
543		"SLED3_SSD_ALERT","SLED3_MS_DETECT0","SLED3_RST_CCG5","SLED3_FUSB302_INT",
544		"SLED3_MD_STBY_RESET","SLED3_MD_IOEXP_EN_FAULT","SLED3_MD_DIR","SLED3_MD_DECAY",
545		"SLED3_MD_MODE1","SLED3_MD_MODE2","SLED3_MD_MODE3","power-host3";
546	};
547
548	sled3_leds: pca9552@67 {
549		compatible = "nxp,pca9552";
550		reg = <0x67>;
551		#address-cells = <1>;
552		#size-cells = <0>;
553		gpio-controller;
554		#gpio-cells = <2>;
555
556		gpio-line-names =
557		"led-sled3-amber","led-sled3-blue","SLED3_RST_IOEXP","SLED3_MD_REF_PWM",
558		"","","","",
559		"","","","",
560		"","","","";
561	};
562
563	sled3_fusb302: typec-portc@22 {
564		compatible = "fcs,fusb302";
565		reg = <0x22>;
566
567		interrupt-parent = <&gpio0>;
568		interrupts = <ASPEED_GPIO(B, 7) IRQ_TYPE_LEVEL_LOW>;
569		vbus-supply = <&vbus_sled3>;
570
571		connector {
572			compatible = "usb-c-connector";
573			label = "USB-C";
574			pd-revision = /bits/ 8 <0x2 0x0 0x1 0x20>;
575			power-role = "dual";
576			try-power-role = "sink";
577			data-role = "dual";
578			source-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
579			sink-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
580			op-sink-microwatt = <10000000>;
581		};
582	};
583
584	eeprom@54 {
585		compatible = "atmel,24c64";
586		reg = <0x54>;
587	};
588};
589
590&i2c3 {
591	status = "okay";
592	ina230@45 {
593		compatible = "ti,ina230";
594		reg = <0x45>;
595		shunt-resistor = <2000>;
596	};
597
598	mp5023@40 {
599		compatible = "mps,mp5023";
600		reg = <0x40>;
601	};
602
603	tmp421@4f {
604		compatible = "ti,tmp421";
605		reg = <0x4f>;
606	};
607
608	sled4_ioexp41: pca9536@41 {
609		compatible = "nxp,pca9536";
610		reg = <0x41>;
611		gpio-controller;
612		#gpio-cells = <2>;
613
614		gpio-line-names =
615		"SLED4_SWD_MUX", "SLED4_XRES_SWD_N",
616		"SLED4_CLKREQ_N", "SLED4_PCIE_PWR_EN";
617	};
618
619	sled4_ioexp: pca9539@76 {
620		compatible = "nxp,pca9539";
621		reg = <0x76>;
622		#address-cells = <1>;
623		#size-cells = <0>;
624		gpio-controller;
625		#gpio-cells = <2>;
626
627		interrupt-parent = <&gpio0>;
628		interrupts = <ASPEED_GPIO(M, 3) IRQ_TYPE_LEVEL_LOW>;
629
630		gpio-line-names =
631		"SLED4_MS_DETECT1","SLED4_VBUS_BMC_EN","SLED4_INA230_ALERT","SLED4_P12V_STBY_ALERT",
632		"SLED4_SSD_ALERT","SLED4_MS_DETECT0","SLED4_RST_CCG5","SLED4_FUSB302_INT",
633		"SLED4_MD_STBY_RESET","SLED4_MD_IOEXP_EN_FAULT","SLED4_MD_DIR","SLED4_MD_DECAY",
634		"SLED4_MD_MODE1","SLED4_MD_MODE2","SLED4_MD_MODE3","power-host4";
635	};
636
637	sled4_leds: pca9552@67 {
638		compatible = "nxp,pca9552";
639		reg = <0x67>;
640		#address-cells = <1>;
641		#size-cells = <0>;
642		gpio-controller;
643		#gpio-cells = <2>;
644
645		gpio-line-names =
646		"led-sled4-amber","led-sled4-blue","SLED4_RST_IOEXP","SLED4_MD_REF_PWM",
647		"","","","",
648		"","","","",
649		"","","","";
650	};
651
652	sled4_fusb302: typec-portc@22 {
653		compatible = "fcs,fusb302";
654		reg = <0x22>;
655
656		interrupt-parent = <&gpio0>;
657		interrupts = <ASPEED_GPIO(S, 7) IRQ_TYPE_LEVEL_LOW>;
658		vbus-supply = <&vbus_sled4>;
659
660		connector {
661			compatible = "usb-c-connector";
662			label = "USB-C";
663			pd-revision = /bits/ 8 <0x2 0x0 0x1 0x20>;
664			power-role = "dual";
665			try-power-role = "sink";
666			data-role = "dual";
667			source-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
668			sink-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
669			op-sink-microwatt = <10000000>;
670		};
671	};
672
673	eeprom@54 {
674		compatible = "atmel,24c64";
675		reg = <0x54>;
676	};
677};
678
679&i2c4 {
680	status = "okay";
681	ina230@45 {
682		compatible = "ti,ina230";
683		reg = <0x45>;
684		shunt-resistor = <2000>;
685	};
686
687	mp5023@40 {
688		compatible = "mps,mp5023";
689		reg = <0x40>;
690	};
691
692	tmp421@4f {
693		compatible = "ti,tmp421";
694		reg = <0x4f>;
695	};
696
697	sled5_ioexp41: pca9536@41 {
698		compatible = "nxp,pca9536";
699		reg = <0x41>;
700		gpio-controller;
701		#gpio-cells = <2>;
702
703		gpio-line-names =
704		"SLED5_SWD_MUX", "SLED5_XRES_SWD_N",
705		"SLED5_CLKREQ_N", "SLED5_PCIE_PWR_EN";
706	};
707
708	sled5_ioexp: pca9539@76 {
709		compatible = "nxp,pca9539";
710		reg = <0x76>;
711		#address-cells = <1>;
712		#size-cells = <0>;
713		gpio-controller;
714		#gpio-cells = <2>;
715
716		interrupt-parent = <&gpio0>;
717		interrupts = <ASPEED_GPIO(M, 4) IRQ_TYPE_LEVEL_LOW>;
718
719		gpio-line-names =
720		"SLED5_MS_DETECT1","SLED5_VBUS_BMC_EN","SLED5_INA230_ALERT","SLED5_P12V_STBY_ALERT",
721		"SLED5_SSD_ALERT","SLED5_MS_DETECT0","SLED5_RST_CCG5","SLED5_FUSB302_INT",
722		"SLED5_MD_STBY_RESET","SLED5_MD_IOEXP_EN_FAULT","SLED5_MD_DIR","SLED5_MD_DECAY",
723		"SLED5_MD_MODE1","SLED5_MD_MODE2","SLED5_MD_MODE3","power-host5";
724	};
725
726	sled5_leds: pca9552@67 {
727		compatible = "nxp,pca9552";
728		reg = <0x67>;
729		#address-cells = <1>;
730		#size-cells = <0>;
731		gpio-controller;
732		#gpio-cells = <2>;
733
734		gpio-line-names =
735		"led-sled5-amber","led-sled5-blue","SLED5_RST_IOEXP","SLED5_MD_REF_PWM",
736		"","","","",
737		"","","","",
738		"","","","";
739	};
740
741	sled5_fusb302: typec-portc@22 {
742		compatible = "fcs,fusb302";
743		reg = <0x22>;
744
745		interrupt-parent = <&gpio0>;
746		interrupts = <ASPEED_GPIO(Y, 3) IRQ_TYPE_LEVEL_LOW>;
747		vbus-supply = <&vbus_sled5>;
748
749		connector {
750			compatible = "usb-c-connector";
751			label = "USB-C";
752			pd-revision = /bits/ 8 <0x2 0x0 0x1 0x20>;
753			power-role = "dual";
754			try-power-role = "sink";
755			data-role = "dual";
756			source-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
757			sink-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
758			op-sink-microwatt = <10000000>;
759		};
760	};
761
762	eeprom@54 {
763		compatible = "atmel,24c64";
764		reg = <0x54>;
765	};
766};
767
768&i2c5 {
769	status = "okay";
770	ina230@45 {
771		compatible = "ti,ina230";
772		reg = <0x45>;
773		shunt-resistor = <2000>;
774	};
775
776	mp5023@40 {
777		compatible = "mps,mp5023";
778		reg = <0x40>;
779	};
780
781	tmp421@4f {
782		compatible = "ti,tmp421";
783		reg = <0x4f>;
784	};
785
786	sled6_ioexp41: pca9536@41 {
787		compatible = "nxp,pca9536";
788		reg = <0x41>;
789		gpio-controller;
790		#gpio-cells = <2>;
791
792		gpio-line-names =
793		"SLED6_SWD_MUX", "SLED6_XRES_SWD_N",
794		"SLED6_CLKREQ_N", "SLED6_PCIE_PWR_EN";
795	};
796
797	sled6_ioexp: pca9539@76 {
798		compatible = "nxp,pca9539";
799		reg = <0x76>;
800		#address-cells = <1>;
801		#size-cells = <0>;
802		gpio-controller;
803		#gpio-cells = <2>;
804
805		interrupt-parent = <&gpio0>;
806		interrupts = <ASPEED_GPIO(M, 5) IRQ_TYPE_LEVEL_LOW>;
807
808		gpio-line-names =
809		"SLED6_MS_DETECT1","SLED6_VBUS_BMC_EN","SLED6_INA230_ALERT","SLED6_P12V_STBY_ALERT",
810		"SLED6_SSD_ALERT","SLED6_MS_DETECT0","SLED6_RST_CCG5","SLED6_FUSB302_INT",
811		"SLED6_MD_STBY_RESET","SLED6_MD_IOEXP_EN_FAULT","SLED6_MD_DIR","SLED6_MD_DECAY",
812		"SLED6_MD_MODE1","SLED6_MD_MODE2","SLED6_MD_MODE3","power-host6";
813	};
814
815	sled6_leds: pca9552@67 {
816		compatible = "nxp,pca9552";
817		reg = <0x67>;
818		#address-cells = <1>;
819		#size-cells = <0>;
820		gpio-controller;
821		#gpio-cells = <2>;
822
823		gpio-line-names =
824		"led-sled6-amber","led-sled6-blue","SLED6_RST_IOEXP","SLED6_MD_REF_PWM",
825		"","","","",
826		"","","","",
827		"","","","";
828	};
829
830	sled6_fusb302: typec-portc@22 {
831		compatible = "fcs,fusb302";
832		reg = <0x22>;
833
834		interrupt-parent = <&gpio0>;
835		interrupts = <ASPEED_GPIO(I, 7) IRQ_TYPE_LEVEL_LOW>;
836		vbus-supply = <&vbus_sled6>;
837
838		connector {
839			compatible = "usb-c-connector";
840			label = "USB-C";
841			pd-revision = /bits/ 8 <0x2 0x0 0x1 0x20>;
842			power-role = "dual";
843			try-power-role = "sink";
844			data-role = "dual";
845			source-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
846			sink-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
847			op-sink-microwatt = <10000000>;
848		};
849	};
850
851	eeprom@54 {
852		compatible = "atmel,24c64";
853		reg = <0x54>;
854	};
855};
856
857&i2c6 {
858	status = "okay";
859
860	eeprom@56 {
861		compatible = "atmel,24c64";
862		reg = <0x56>;
863	};
864
865	rtc@51 {
866		/* in-chip rtc disabled, use external rtc (battery-backed) */
867		compatible = "nxp,pcf85263";
868		reg = <0x51>;
869	};
870};
871
872&i2c7 {
873	status = "okay";
874
875	eeprom@54 {
876		compatible = "atmel,24c64";
877		reg = <0x54>;
878	};
879};
880
881&i2c9 {
882	status = "okay";
883
884	tmp421@4f {
885		compatible = "ti,tmp421";
886		reg = <0x4f>;
887	};
888};
889
890&i2c10 {
891	status = "okay";
892
893	tmp421@4f {
894		compatible = "ti,tmp421";
895		reg = <0x4f>;
896	};
897
898	front_leds: pca9552@67 {
899		compatible = "nxp,pca9552";
900		reg = <0x67>;
901		#address-cells = <1>;
902		#size-cells = <0>;
903		gpio-controller;
904		#gpio-cells = <2>;
905
906		gpio-line-names =
907		"led-fault-identify","power-p5v-stby-good",
908		"power-p1v0-dvdd-good","power-p1v0-avdd-good",
909		"","","","",
910		"","","","",
911		"","","","";
912	};
913};
914
915&i2c12 {
916	status = "okay";
917
918	adm1278@11 {
919		compatible = "adi,adm1278";
920		reg = <0x11>;
921		shunt-resistor-micro-ohms = <300>;
922		adi,volt-curr-sample-average = <128>;
923		adi,power-sample-average = <128>;
924	};
925
926	tmp421@4c {
927		compatible = "ti,tmp421";
928		reg = <0x4c>;
929	};
930
931	tmp421@4d {
932		compatible = "ti,tmp421";
933		reg = <0x4d>;
934	};
935
936	fan_leds: pca9552@67 {
937		compatible = "nxp,pca9552";
938		reg = <0x67>;
939		#address-cells = <1>;
940		#size-cells = <0>;
941		gpio-controller;
942		#gpio-cells = <2>;
943
944		gpio-line-names =
945		"presence-fan0","presence-fan1",
946		"presence-fan2","presence-fan3",
947		"power-fan0-good","power-fan1-good",
948		"power-fan2-good","power-fan3-good",
949		"","","","",
950		"","","","";
951	};
952};
953
954&i2c13 {
955	multi-master;
956	aspeed,hw-timeout-ms = <1000>;
957	status = "okay";
958
959	//USB Debug Connector
960	ipmb13@10 {
961		compatible = "ipmb-dev";
962		reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>;
963		i2c-protocol;
964	};
965};
966
967&gpio0 {
968	pinctrl-names = "default";
969	pinctrl-0 = <&pinctrl_gpiov2_unbiased_default>;
970
971	gpio-line-names =
972	/*A0-A7*/	"","","","","","","","",
973	/*B0-B7*/	"FUSB302_SLED1_INT_N","FUSB302_SLED2_INT_N",
974			"SEL_SPI2_MUX","SPI2_MUX1",
975			"SPI2_MUX2","SPI2_MUX3",
976			"","FUSB302_SLED3_INT_N",
977	/*C0-C7*/	"","","","","","","","",
978	/*D0-D7*/	"","","","","","","","",
979	/*E0-E7*/	"","","","","","","","",
980	/*F0-F7*/	"BMC_SLED1_STCK","BMC_SLED2_STCK",
981			"BMC_SLED3_STCK","BMC_SLED4_STCK",
982			"BMC_SLED5_STCK","BMC_SLED6_STCK",
983			"","",
984	/*G0-G7*/	"BSM_FRU_WP","SWITCH_FRU_MUX","","FM_SOL_UART_CH_SEL",
985			"PWRGD_P1V05_VDDCORE","PWRGD_P1V5_VDD","","",
986	/*H0-H7*/	"presence-riser1","presence-riser2",
987			"presence-sled1","presence-sled2",
988			"presence-sled3","presence-sled4",
989			"presence-sled5","presence-sled6",
990	/*I0-I7*/	"REV_ID0","",
991			"REV_ID1","REV_ID2",
992			"","BSM_FLASH_WP_STATUS",
993			"BMC_TPM_PRES_N","FUSB302_SLED6_INT_N",
994	/*J0-J7*/	"","","","","","","","",
995	/*K0-K7*/	"","","","","","","","",
996	/*L0-L7*/	"","","","","","BMC_RTC_INT","","",
997	/*M0-M7*/	"ALERT_SLED1_N","ALERT_SLED2_N",
998			"ALERT_SLED3_N","ALERT_SLED4_N",
999			"ALERT_SLED5_N","ALERT_SLED6_N",
1000			"","USB_DEBUG_PWR_BTN_N",
1001	/*N0-N7*/	"LED_POSTCODE_0","LED_POSTCODE_1",
1002			"LED_POSTCODE_2","LED_POSTCODE_3",
1003			"LED_POSTCODE_4","LED_POSTCODE_5",
1004			"LED_POSTCODE_6","LED_POSTCODE_7",
1005	/*O0-O7*/	"","","","",
1006			"","BOARD_ID0","BOARD_ID1","BOARD_ID2",
1007	/*P0-P7*/	"","","","","","","","BMC_HEARTBEAT",
1008	/*Q0-Q7*/	"","","","","","","","",
1009	/*R0-R7*/	"","","","","","","","",
1010	/*S0-S7*/	"","","","BAT_DETECT",
1011			"BMC_BT_WP0_N","BMC_BT_WP1_N","","FUSB302_SLED4_INT_N",
1012	/*T0-T7*/	"","","","","","","","",
1013	/*U0-U7*/	"","","","","","","","",
1014	/*V0-V7*/	"PWRGD_CNS_PSU","RST_BMC_MVL_N",
1015			"P12V_AUX_ALERT1_N","PSU_PRSNT",
1016			"USB2_SEL0_A","USB2_SEL1_A",
1017			"USB2_SEL0_B","USB2_SEL1_B",
1018	/*W0-W7*/	"RST_FRONT_IOEXP_N","","","","","","","",
1019	/*X0-X7*/	"","","","","","","","",
1020	/*Y0-Y7*/	"BMC_SELF_HW_RST","BSM_PRSNT_N",
1021			"BSM_FLASH_LATCH_N","FUSB302_SLED5_INT_N",
1022			"","","","",
1023	/*Z0-Z7*/	"","","","","","","","";
1024};
1025
1026&adc0 {
1027	vref = <1800>;
1028	status = "okay";
1029
1030	pinctrl-names = "default";
1031	pinctrl-0 = <&pinctrl_adc0_default &pinctrl_adc1_default
1032		&pinctrl_adc2_default &pinctrl_adc3_default
1033		&pinctrl_adc4_default &pinctrl_adc5_default
1034		&pinctrl_adc6_default &pinctrl_adc7_default>;
1035};
1036
1037&adc1 {
1038	vref = <2500>;
1039	status = "okay";
1040
1041	pinctrl-names = "default";
1042	pinctrl-0 = <&pinctrl_adc8_default &pinctrl_adc9_default
1043		&pinctrl_adc10_default &pinctrl_adc11_default
1044		&pinctrl_adc12_default &pinctrl_adc13_default
1045		&pinctrl_adc14_default &pinctrl_adc15_default>;
1046};
1047
1048&mdio0 {
1049	status = "okay";
1050	/* TODO: Add Marvell 88E6191X */
1051};
1052
1053&mdio3 {
1054	status = "okay";
1055	/* TODO: Add Marvell 88X3310 */
1056};
1057
1058&ehci0 {
1059	status = "okay";
1060};
1061
1062&ehci1 {
1063	status = "okay";
1064};
1065
1066&emmc_controller {
1067	status = "okay";
1068};
1069
1070&emmc {
1071	status = "okay";
1072};
1073
1074&pinctrl {
1075	pinctrl_gpiov2_unbiased_default: gpiov2 {
1076		pins = "AD14";
1077		bias-disable;
1078	};
1079};
1080
1081&wdt1 {
1082	status = "okay";
1083	pinctrl-names = "default";
1084	pinctrl-0 = <&pinctrl_wdtrst1_default>;
1085	aspeed,reset-type = "soc";
1086	aspeed,external-signal;
1087	aspeed,ext-push-pull;
1088	aspeed,ext-active-high;
1089	aspeed,ext-pulse-duration = <256>;
1090};
1091