xref: /freebsd-src/sys/contrib/device-tree/src/arm/aspeed/aspeed-bmc-facebook-minerva-cmc.dts (revision 84943d6f38e936ac3b7a3947ca26eeb27a39f938)
1*84943d6fSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0+
2*84943d6fSEmmanuel Vadot// Copyright (c) 2023 Facebook Inc.
3*84943d6fSEmmanuel Vadot/dts-v1/;
4*84943d6fSEmmanuel Vadot
5*84943d6fSEmmanuel Vadot#include "aspeed-g6.dtsi"
6*84943d6fSEmmanuel Vadot#include <dt-bindings/gpio/aspeed-gpio.h>
7*84943d6fSEmmanuel Vadot#include <dt-bindings/i2c/i2c.h>
8*84943d6fSEmmanuel Vadot
9*84943d6fSEmmanuel Vadot/ {
10*84943d6fSEmmanuel Vadot	model = "Facebook Minerva CMC";
11*84943d6fSEmmanuel Vadot	compatible = "facebook,minerva-cmc", "aspeed,ast2600";
12*84943d6fSEmmanuel Vadot
13*84943d6fSEmmanuel Vadot	aliases {
14*84943d6fSEmmanuel Vadot		serial5 = &uart5;
15*84943d6fSEmmanuel Vadot	};
16*84943d6fSEmmanuel Vadot
17*84943d6fSEmmanuel Vadot	chosen {
18*84943d6fSEmmanuel Vadot		stdout-path = "serial5:57600n8";
19*84943d6fSEmmanuel Vadot	};
20*84943d6fSEmmanuel Vadot
21*84943d6fSEmmanuel Vadot	memory@80000000 {
22*84943d6fSEmmanuel Vadot		device_type = "memory";
23*84943d6fSEmmanuel Vadot		reg = <0x80000000 0x80000000>;
24*84943d6fSEmmanuel Vadot	};
25*84943d6fSEmmanuel Vadot
26*84943d6fSEmmanuel Vadot	iio-hwmon {
27*84943d6fSEmmanuel Vadot		compatible = "iio-hwmon";
28*84943d6fSEmmanuel Vadot		io-channels = <&adc0 0>, <&adc0 1>, <&adc0 2>, <&adc0 3>,
29*84943d6fSEmmanuel Vadot			<&adc0 4>, <&adc0 5>, <&adc0 6>, <&adc0 7>,
30*84943d6fSEmmanuel Vadot			<&adc1 2>;
31*84943d6fSEmmanuel Vadot	};
32*84943d6fSEmmanuel Vadot};
33*84943d6fSEmmanuel Vadot
34*84943d6fSEmmanuel Vadot&uart6 {
35*84943d6fSEmmanuel Vadot	status = "okay";
36*84943d6fSEmmanuel Vadot};
37*84943d6fSEmmanuel Vadot
38*84943d6fSEmmanuel Vadot&wdt1 {
39*84943d6fSEmmanuel Vadot	status = "okay";
40*84943d6fSEmmanuel Vadot	pinctrl-names = "default";
41*84943d6fSEmmanuel Vadot	pinctrl-0 = <&pinctrl_wdtrst1_default>;
42*84943d6fSEmmanuel Vadot	aspeed,reset-type = "soc";
43*84943d6fSEmmanuel Vadot	aspeed,external-signal;
44*84943d6fSEmmanuel Vadot	aspeed,ext-push-pull;
45*84943d6fSEmmanuel Vadot	aspeed,ext-active-high;
46*84943d6fSEmmanuel Vadot	aspeed,ext-pulse-duration = <256>;
47*84943d6fSEmmanuel Vadot};
48*84943d6fSEmmanuel Vadot
49*84943d6fSEmmanuel Vadot&mac3 {
50*84943d6fSEmmanuel Vadot	status = "okay";
51*84943d6fSEmmanuel Vadot	pinctrl-names = "default";
52*84943d6fSEmmanuel Vadot	pinctrl-0 = <&pinctrl_rmii4_default>;
53*84943d6fSEmmanuel Vadot	use-ncsi;
54*84943d6fSEmmanuel Vadot	mlx,multi-host;
55*84943d6fSEmmanuel Vadot};
56*84943d6fSEmmanuel Vadot
57*84943d6fSEmmanuel Vadot&fmc {
58*84943d6fSEmmanuel Vadot	status = "okay";
59*84943d6fSEmmanuel Vadot	flash@0 {
60*84943d6fSEmmanuel Vadot		status = "okay";
61*84943d6fSEmmanuel Vadot		m25p,fast-read;
62*84943d6fSEmmanuel Vadot		label = "bmc";
63*84943d6fSEmmanuel Vadot		spi-max-frequency = <50000000>;
64*84943d6fSEmmanuel Vadot#include "openbmc-flash-layout-128.dtsi"
65*84943d6fSEmmanuel Vadot	};
66*84943d6fSEmmanuel Vadot	flash@1 {
67*84943d6fSEmmanuel Vadot		status = "okay";
68*84943d6fSEmmanuel Vadot		m25p,fast-read;
69*84943d6fSEmmanuel Vadot		label = "alt-bmc";
70*84943d6fSEmmanuel Vadot		spi-max-frequency = <50000000>;
71*84943d6fSEmmanuel Vadot	};
72*84943d6fSEmmanuel Vadot};
73*84943d6fSEmmanuel Vadot
74*84943d6fSEmmanuel Vadot&rtc {
75*84943d6fSEmmanuel Vadot	status = "okay";
76*84943d6fSEmmanuel Vadot};
77*84943d6fSEmmanuel Vadot
78*84943d6fSEmmanuel Vadot&sgpiom1 {
79*84943d6fSEmmanuel Vadot	status = "okay";
80*84943d6fSEmmanuel Vadot	ngpios = <128>;
81*84943d6fSEmmanuel Vadot	bus-frequency = <2000000>;
82*84943d6fSEmmanuel Vadot};
83*84943d6fSEmmanuel Vadot
84*84943d6fSEmmanuel Vadot&i2c0 {
85*84943d6fSEmmanuel Vadot	status = "okay";
86*84943d6fSEmmanuel Vadot};
87*84943d6fSEmmanuel Vadot
88*84943d6fSEmmanuel Vadot&i2c1 {
89*84943d6fSEmmanuel Vadot	status = "okay";
90*84943d6fSEmmanuel Vadot
91*84943d6fSEmmanuel Vadot	temperature-sensor@4b {
92*84943d6fSEmmanuel Vadot		compatible = "ti,tmp75";
93*84943d6fSEmmanuel Vadot		reg = <0x4B>;
94*84943d6fSEmmanuel Vadot	};
95*84943d6fSEmmanuel Vadot
96*84943d6fSEmmanuel Vadot	eeprom@51 {
97*84943d6fSEmmanuel Vadot		compatible = "atmel,24c128";
98*84943d6fSEmmanuel Vadot		reg = <0x51>;
99*84943d6fSEmmanuel Vadot	};
100*84943d6fSEmmanuel Vadot};
101*84943d6fSEmmanuel Vadot
102*84943d6fSEmmanuel Vadot&i2c2 {
103*84943d6fSEmmanuel Vadot	status = "okay";
104*84943d6fSEmmanuel Vadot
105*84943d6fSEmmanuel Vadot	i2c-mux@77 {
106*84943d6fSEmmanuel Vadot		compatible = "nxp,pca9548";
107*84943d6fSEmmanuel Vadot		reg = <0x77>;
108*84943d6fSEmmanuel Vadot		#address-cells = <1>;
109*84943d6fSEmmanuel Vadot		#size-cells = <0>;
110*84943d6fSEmmanuel Vadot		i2c-mux-idle-disconnect;
111*84943d6fSEmmanuel Vadot
112*84943d6fSEmmanuel Vadot		i2c@0 {
113*84943d6fSEmmanuel Vadot			#address-cells = <1>;
114*84943d6fSEmmanuel Vadot			#size-cells = <0>;
115*84943d6fSEmmanuel Vadot			reg = <0>;
116*84943d6fSEmmanuel Vadot
117*84943d6fSEmmanuel Vadot			eeprom@50 {
118*84943d6fSEmmanuel Vadot				compatible = "atmel,24c128";
119*84943d6fSEmmanuel Vadot				reg = <0x50>;
120*84943d6fSEmmanuel Vadot			};
121*84943d6fSEmmanuel Vadot		};
122*84943d6fSEmmanuel Vadot
123*84943d6fSEmmanuel Vadot		i2c@1 {
124*84943d6fSEmmanuel Vadot			#address-cells = <1>;
125*84943d6fSEmmanuel Vadot			#size-cells = <0>;
126*84943d6fSEmmanuel Vadot			reg = <1>;
127*84943d6fSEmmanuel Vadot
128*84943d6fSEmmanuel Vadot			eeprom@50 {
129*84943d6fSEmmanuel Vadot				compatible = "atmel,24c128";
130*84943d6fSEmmanuel Vadot				reg = <0x50>;
131*84943d6fSEmmanuel Vadot			};
132*84943d6fSEmmanuel Vadot		};
133*84943d6fSEmmanuel Vadot
134*84943d6fSEmmanuel Vadot		i2c@2 {
135*84943d6fSEmmanuel Vadot			#address-cells = <1>;
136*84943d6fSEmmanuel Vadot			#size-cells = <0>;
137*84943d6fSEmmanuel Vadot			reg = <2>;
138*84943d6fSEmmanuel Vadot
139*84943d6fSEmmanuel Vadot			eeprom@50 {
140*84943d6fSEmmanuel Vadot				compatible = "atmel,24c128";
141*84943d6fSEmmanuel Vadot				reg = <0x50>;
142*84943d6fSEmmanuel Vadot			};
143*84943d6fSEmmanuel Vadot		};
144*84943d6fSEmmanuel Vadot
145*84943d6fSEmmanuel Vadot		i2c@3 {
146*84943d6fSEmmanuel Vadot			#address-cells = <1>;
147*84943d6fSEmmanuel Vadot			#size-cells = <0>;
148*84943d6fSEmmanuel Vadot			reg = <3>;
149*84943d6fSEmmanuel Vadot
150*84943d6fSEmmanuel Vadot			eeprom@50 {
151*84943d6fSEmmanuel Vadot				compatible = "atmel,24c128";
152*84943d6fSEmmanuel Vadot				reg = <0x50>;
153*84943d6fSEmmanuel Vadot			};
154*84943d6fSEmmanuel Vadot		};
155*84943d6fSEmmanuel Vadot
156*84943d6fSEmmanuel Vadot		i2c@4 {
157*84943d6fSEmmanuel Vadot			#address-cells = <1>;
158*84943d6fSEmmanuel Vadot			#size-cells = <0>;
159*84943d6fSEmmanuel Vadot			reg = <4>;
160*84943d6fSEmmanuel Vadot
161*84943d6fSEmmanuel Vadot			eeprom@50 {
162*84943d6fSEmmanuel Vadot				compatible = "atmel,24c128";
163*84943d6fSEmmanuel Vadot				reg = <0x50>;
164*84943d6fSEmmanuel Vadot			};
165*84943d6fSEmmanuel Vadot		};
166*84943d6fSEmmanuel Vadot
167*84943d6fSEmmanuel Vadot		i2c@5 {
168*84943d6fSEmmanuel Vadot			#address-cells = <1>;
169*84943d6fSEmmanuel Vadot			#size-cells = <0>;
170*84943d6fSEmmanuel Vadot			reg = <5>;
171*84943d6fSEmmanuel Vadot
172*84943d6fSEmmanuel Vadot			eeprom@50 {
173*84943d6fSEmmanuel Vadot				compatible = "atmel,24c128";
174*84943d6fSEmmanuel Vadot				reg = <0x50>;
175*84943d6fSEmmanuel Vadot			};
176*84943d6fSEmmanuel Vadot		};
177*84943d6fSEmmanuel Vadot	};
178*84943d6fSEmmanuel Vadot};
179*84943d6fSEmmanuel Vadot
180*84943d6fSEmmanuel Vadot&i2c3 {
181*84943d6fSEmmanuel Vadot	status = "okay";
182*84943d6fSEmmanuel Vadot};
183*84943d6fSEmmanuel Vadot
184*84943d6fSEmmanuel Vadot&i2c4 {
185*84943d6fSEmmanuel Vadot	status = "okay";
186*84943d6fSEmmanuel Vadot};
187*84943d6fSEmmanuel Vadot
188*84943d6fSEmmanuel Vadot&i2c5 {
189*84943d6fSEmmanuel Vadot	status = "okay";
190*84943d6fSEmmanuel Vadot};
191*84943d6fSEmmanuel Vadot
192*84943d6fSEmmanuel Vadot&i2c6 {
193*84943d6fSEmmanuel Vadot	status = "okay";
194*84943d6fSEmmanuel Vadot};
195*84943d6fSEmmanuel Vadot
196*84943d6fSEmmanuel Vadot&i2c7 {
197*84943d6fSEmmanuel Vadot	status = "okay";
198*84943d6fSEmmanuel Vadot};
199*84943d6fSEmmanuel Vadot
200*84943d6fSEmmanuel Vadot&i2c8 {
201*84943d6fSEmmanuel Vadot	status = "okay";
202*84943d6fSEmmanuel Vadot};
203*84943d6fSEmmanuel Vadot
204*84943d6fSEmmanuel Vadot&i2c9 {
205*84943d6fSEmmanuel Vadot	status = "okay";
206*84943d6fSEmmanuel Vadot};
207*84943d6fSEmmanuel Vadot
208*84943d6fSEmmanuel Vadot&i2c10 {
209*84943d6fSEmmanuel Vadot	status = "okay";
210*84943d6fSEmmanuel Vadot};
211*84943d6fSEmmanuel Vadot
212*84943d6fSEmmanuel Vadot&i2c11 {
213*84943d6fSEmmanuel Vadot	status = "okay";
214*84943d6fSEmmanuel Vadot};
215*84943d6fSEmmanuel Vadot
216*84943d6fSEmmanuel Vadot&i2c12 {
217*84943d6fSEmmanuel Vadot	status = "okay";
218*84943d6fSEmmanuel Vadot};
219*84943d6fSEmmanuel Vadot
220*84943d6fSEmmanuel Vadot&i2c13 {
221*84943d6fSEmmanuel Vadot	status = "okay";
222*84943d6fSEmmanuel Vadot};
223*84943d6fSEmmanuel Vadot
224*84943d6fSEmmanuel Vadot&i2c14 {
225*84943d6fSEmmanuel Vadot	status = "okay";
226*84943d6fSEmmanuel Vadot	multi-master;
227*84943d6fSEmmanuel Vadot
228*84943d6fSEmmanuel Vadot	ipmb@10 {
229*84943d6fSEmmanuel Vadot		compatible = "ipmb-dev";
230*84943d6fSEmmanuel Vadot		reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>;
231*84943d6fSEmmanuel Vadot		i2c-protocol;
232*84943d6fSEmmanuel Vadot	};
233*84943d6fSEmmanuel Vadot};
234*84943d6fSEmmanuel Vadot
235*84943d6fSEmmanuel Vadot&i2c15 {
236*84943d6fSEmmanuel Vadot	status = "okay";
237*84943d6fSEmmanuel Vadot
238*84943d6fSEmmanuel Vadot	eeprom@50 {
239*84943d6fSEmmanuel Vadot		compatible = "atmel,24c128";
240*84943d6fSEmmanuel Vadot		reg = <0x50>;
241*84943d6fSEmmanuel Vadot	};
242*84943d6fSEmmanuel Vadot};
243*84943d6fSEmmanuel Vadot
244*84943d6fSEmmanuel Vadot&adc0 {
245*84943d6fSEmmanuel Vadot	aspeed,int-vref-microvolt = <2500000>;
246*84943d6fSEmmanuel Vadot	status = "okay";
247*84943d6fSEmmanuel Vadot	pinctrl-0 = <&pinctrl_adc0_default &pinctrl_adc1_default
248*84943d6fSEmmanuel Vadot		&pinctrl_adc2_default &pinctrl_adc3_default
249*84943d6fSEmmanuel Vadot		&pinctrl_adc4_default &pinctrl_adc5_default
250*84943d6fSEmmanuel Vadot		&pinctrl_adc6_default &pinctrl_adc7_default>;
251*84943d6fSEmmanuel Vadot};
252*84943d6fSEmmanuel Vadot
253*84943d6fSEmmanuel Vadot&adc1 {
254*84943d6fSEmmanuel Vadot	aspeed,int-vref-microvolt = <2500000>;
255*84943d6fSEmmanuel Vadot	status = "okay";
256*84943d6fSEmmanuel Vadot	pinctrl-0 = <&pinctrl_adc10_default>;
257*84943d6fSEmmanuel Vadot};
258*84943d6fSEmmanuel Vadot
259*84943d6fSEmmanuel Vadot&ehci1 {
260*84943d6fSEmmanuel Vadot	status = "okay";
261*84943d6fSEmmanuel Vadot};
262*84943d6fSEmmanuel Vadot
263*84943d6fSEmmanuel Vadot&uhci {
264*84943d6fSEmmanuel Vadot	status = "okay";
265*84943d6fSEmmanuel Vadot};
266