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