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