xref: /linux/scripts/dtc/include-prefixes/arm/aspeed/aspeed-bmc-facebook-greatlakes.dts (revision 724ba6751532055db75992fc6ae21c3e322e94a7)
1*724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0-or-later
2*724ba675SRob Herring// Copyright 2022 Facebook Inc.
3*724ba675SRob Herring
4*724ba675SRob Herring/dts-v1/;
5*724ba675SRob Herring#include "aspeed-g6.dtsi"
6*724ba675SRob Herring#include <dt-bindings/gpio/aspeed-gpio.h>
7*724ba675SRob Herring#include <dt-bindings/leds/leds-pca955x.h>
8*724ba675SRob Herring#include <dt-bindings/i2c/i2c.h>
9*724ba675SRob Herring
10*724ba675SRob Herring/ {
11*724ba675SRob Herring	model = "Facebook Greatlakes BMC";
12*724ba675SRob Herring	compatible = "facebook,greatlakes-bmc", "aspeed,ast2600";
13*724ba675SRob Herring
14*724ba675SRob Herring	aliases {
15*724ba675SRob Herring		serial4 = &uart5;
16*724ba675SRob Herring	};
17*724ba675SRob Herring
18*724ba675SRob Herring	memory@80000000 {
19*724ba675SRob Herring		device_type = "memory";
20*724ba675SRob Herring		reg = <0x80000000 0x80000000>;
21*724ba675SRob Herring	};
22*724ba675SRob Herring
23*724ba675SRob Herring	iio-hwmon {
24*724ba675SRob Herring		compatible = "iio-hwmon";
25*724ba675SRob Herring		io-channels = <&adc0 0>, <&adc0 1>, <&adc0 2>, <&adc0 3>,
26*724ba675SRob Herring				<&adc0 4>, <&adc0 5>, <&adc0 6>, <&adc0 7>,
27*724ba675SRob Herring				<&adc1 0>, <&adc1 2>, <&adc1 3>, <&adc1 4>,
28*724ba675SRob Herring				<&adc1 5>, <&adc1 6>;
29*724ba675SRob Herring	};
30*724ba675SRob Herring};
31*724ba675SRob Herring
32*724ba675SRob Herring&uart1 {
33*724ba675SRob Herring	status = "okay";
34*724ba675SRob Herring};
35*724ba675SRob Herring
36*724ba675SRob Herring&uart2 {
37*724ba675SRob Herring	status = "okay";
38*724ba675SRob Herring};
39*724ba675SRob Herring
40*724ba675SRob Herring&uart3 {
41*724ba675SRob Herring	status = "okay";
42*724ba675SRob Herring};
43*724ba675SRob Herring
44*724ba675SRob Herring&uart4 {
45*724ba675SRob Herring	status = "okay";
46*724ba675SRob Herring};
47*724ba675SRob Herring
48*724ba675SRob Herring&uart5 {
49*724ba675SRob Herring	status = "okay";
50*724ba675SRob Herring};
51*724ba675SRob Herring
52*724ba675SRob Herring&wdt1 {
53*724ba675SRob Herring	status = "okay";
54*724ba675SRob Herring	pinctrl-names = "default";
55*724ba675SRob Herring	pinctrl-0 = <&pinctrl_wdtrst1_default>;
56*724ba675SRob Herring	aspeed,reset-type = "soc";
57*724ba675SRob Herring	aspeed,external-signal;
58*724ba675SRob Herring	aspeed,ext-push-pull;
59*724ba675SRob Herring	aspeed,ext-active-high;
60*724ba675SRob Herring	aspeed,ext-pulse-duration = <256>;
61*724ba675SRob Herring};
62*724ba675SRob Herring
63*724ba675SRob Herring&mac3 {
64*724ba675SRob Herring	status = "okay";
65*724ba675SRob Herring	pinctrl-names = "default";
66*724ba675SRob Herring	pinctrl-0 = <&pinctrl_rmii4_default>;
67*724ba675SRob Herring	no-hw-checksum;
68*724ba675SRob Herring	use-ncsi;
69*724ba675SRob Herring	mlx,multi-host;
70*724ba675SRob Herring	ncsi-ctrl,start-redo-probe;
71*724ba675SRob Herring	ncsi-ctrl,no-channel-monitor;
72*724ba675SRob Herring	ncsi-package = <1>;
73*724ba675SRob Herring	ncsi-channel = <1>;
74*724ba675SRob Herring	ncsi-rexmit = <1>;
75*724ba675SRob Herring	ncsi-timeout = <2>;
76*724ba675SRob Herring};
77*724ba675SRob Herring
78*724ba675SRob Herring&rtc {
79*724ba675SRob Herring	status = "okay";
80*724ba675SRob Herring};
81*724ba675SRob Herring
82*724ba675SRob Herring&fmc {
83*724ba675SRob Herring	status = "okay";
84*724ba675SRob Herring	flash@0 {
85*724ba675SRob Herring		status = "okay";
86*724ba675SRob Herring		m25p,fast-read;
87*724ba675SRob Herring		label = "bmc";
88*724ba675SRob Herring		spi-rx-bus-width = <4>;
89*724ba675SRob Herring		spi-max-frequency = <50000000>;
90*724ba675SRob Herring#include "openbmc-flash-layout-64.dtsi"
91*724ba675SRob Herring	};
92*724ba675SRob Herring	flash@1 {
93*724ba675SRob Herring		status = "okay";
94*724ba675SRob Herring		m25p,fast-read;
95*724ba675SRob Herring		label = "bmc2";
96*724ba675SRob Herring		spi-rx-bus-width = <4>;
97*724ba675SRob Herring		spi-max-frequency = <50000000>;
98*724ba675SRob Herring	};
99*724ba675SRob Herring};
100*724ba675SRob Herring
101*724ba675SRob Herring&i2c0 {
102*724ba675SRob Herring	status = "okay";
103*724ba675SRob Herring	multi-master;
104*724ba675SRob Herring	ipmb@10 {
105*724ba675SRob Herring		compatible = "ipmb-dev";
106*724ba675SRob Herring		reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>;
107*724ba675SRob Herring		i2c-protocol;
108*724ba675SRob Herring	};
109*724ba675SRob Herring};
110*724ba675SRob Herring
111*724ba675SRob Herring&i2c1 {
112*724ba675SRob Herring	status = "okay";
113*724ba675SRob Herring	multi-master;
114*724ba675SRob Herring	ipmb@10 {
115*724ba675SRob Herring		compatible = "ipmb-dev";
116*724ba675SRob Herring		reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>;
117*724ba675SRob Herring		i2c-protocol;
118*724ba675SRob Herring	};
119*724ba675SRob Herring};
120*724ba675SRob Herring
121*724ba675SRob Herring&i2c2 {
122*724ba675SRob Herring	status = "okay";
123*724ba675SRob Herring	multi-master;
124*724ba675SRob Herring	ipmb@10 {
125*724ba675SRob Herring		compatible = "ipmb-dev";
126*724ba675SRob Herring		reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>;
127*724ba675SRob Herring		i2c-protocol;
128*724ba675SRob Herring	};
129*724ba675SRob Herring};
130*724ba675SRob Herring
131*724ba675SRob Herring&i2c3 {
132*724ba675SRob Herring	status = "okay";
133*724ba675SRob Herring	multi-master;
134*724ba675SRob Herring	ipmb@10 {
135*724ba675SRob Herring		compatible = "ipmb-dev";
136*724ba675SRob Herring		reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>;
137*724ba675SRob Herring		i2c-protocol;
138*724ba675SRob Herring	};
139*724ba675SRob Herring};
140*724ba675SRob Herring
141*724ba675SRob Herring&i2c4 {
142*724ba675SRob Herring	status = "okay";
143*724ba675SRob Herring};
144*724ba675SRob Herring
145*724ba675SRob Herring&i2c5 {
146*724ba675SRob Herring	status = "okay";
147*724ba675SRob Herring};
148*724ba675SRob Herring
149*724ba675SRob Herring&i2c6 {
150*724ba675SRob Herring	status = "okay";
151*724ba675SRob Herring};
152*724ba675SRob Herring
153*724ba675SRob Herring&i2c7 {
154*724ba675SRob Herring	status = "okay";
155*724ba675SRob Herring};
156*724ba675SRob Herring
157*724ba675SRob Herring&i2c8 {
158*724ba675SRob Herring	status = "okay";
159*724ba675SRob Herring	mctp-controller;
160*724ba675SRob Herring	temperature-sensor@1f {
161*724ba675SRob Herring		compatible = "ti,tmp421";
162*724ba675SRob Herring		reg = <0x1f>;
163*724ba675SRob Herring	};
164*724ba675SRob Herring	// NIC EEPROM
165*724ba675SRob Herring	eeprom@50 {
166*724ba675SRob Herring		compatible = "st,24c32";
167*724ba675SRob Herring		reg = <0x50>;
168*724ba675SRob Herring	};
169*724ba675SRob Herring	mctp@10 {
170*724ba675SRob Herring		compatible = "mctp-i2c-controller";
171*724ba675SRob Herring		reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>;
172*724ba675SRob Herring	};
173*724ba675SRob Herring};
174*724ba675SRob Herring
175*724ba675SRob Herring&i2c9 {
176*724ba675SRob Herring	status = "okay";
177*724ba675SRob Herring	multi-master;
178*724ba675SRob Herring	ipmb@10 {
179*724ba675SRob Herring		compatible = "ipmb-dev";
180*724ba675SRob Herring		reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>;
181*724ba675SRob Herring		i2c-protocol;
182*724ba675SRob Herring	};
183*724ba675SRob Herring};
184*724ba675SRob Herring
185*724ba675SRob Herring&i2c10 {
186*724ba675SRob Herring	status = "okay";
187*724ba675SRob Herring};
188*724ba675SRob Herring
189*724ba675SRob Herring&i2c11 {
190*724ba675SRob Herring	status = "okay";
191*724ba675SRob Herring	eeprom@51 {
192*724ba675SRob Herring		compatible = "atmel,24c128";
193*724ba675SRob Herring		reg = <0x51>;
194*724ba675SRob Herring	};
195*724ba675SRob Herring	eeprom@54 {
196*724ba675SRob Herring		compatible = "atmel,24c128";
197*724ba675SRob Herring		reg = <0x54>;
198*724ba675SRob Herring	};
199*724ba675SRob Herring};
200*724ba675SRob Herring
201*724ba675SRob Herring&i2c12 {
202*724ba675SRob Herring	status = "okay";
203*724ba675SRob Herring	temperature-sensor@4f {
204*724ba675SRob Herring		compatible = "lm75";
205*724ba675SRob Herring		reg = <0x4f>;
206*724ba675SRob Herring	};
207*724ba675SRob Herring};
208*724ba675SRob Herring
209*724ba675SRob Herring&i2c13 {
210*724ba675SRob Herring	status = "okay";
211*724ba675SRob Herring};
212*724ba675SRob Herring
213*724ba675SRob Herring&adc0 {
214*724ba675SRob Herring	ref_voltage = <2500>;
215*724ba675SRob Herring	status = "okay";
216*724ba675SRob Herring	pinctrl-0 = <&pinctrl_adc0_default &pinctrl_adc1_default
217*724ba675SRob Herring			&pinctrl_adc2_default &pinctrl_adc3_default
218*724ba675SRob Herring			&pinctrl_adc4_default &pinctrl_adc5_default
219*724ba675SRob Herring			&pinctrl_adc6_default &pinctrl_adc7_default>;
220*724ba675SRob Herring};
221*724ba675SRob Herring
222*724ba675SRob Herring&adc1 {
223*724ba675SRob Herring	ref_voltage = <2500>;
224*724ba675SRob Herring	status = "okay";
225*724ba675SRob Herring	pinctrl-0 = <&pinctrl_adc8_default &pinctrl_adc10_default
226*724ba675SRob Herring			&pinctrl_adc11_default &pinctrl_adc12_default
227*724ba675SRob Herring			&pinctrl_adc13_default &pinctrl_adc14_default>;
228*724ba675SRob Herring};
229*724ba675SRob Herring
230*724ba675SRob Herring
231*724ba675SRob Herring&ehci0 {
232*724ba675SRob Herring	status = "okay";
233*724ba675SRob Herring};
234*724ba675SRob Herring
235*724ba675SRob Herring&ehci1 {
236*724ba675SRob Herring	status = "okay";
237*724ba675SRob Herring};
238*724ba675SRob Herring
239*724ba675SRob Herring&uhci {
240*724ba675SRob Herring	status = "okay";
241*724ba675SRob Herring};
242*724ba675SRob Herring
243*724ba675SRob Herring&gpio0 {
244*724ba675SRob Herring	pinctrl-names = "default";
245*724ba675SRob Herring	pinctrl-0 = <&pinctrl_gpiu1_default &pinctrl_gpiu7_default>;
246*724ba675SRob Herring
247*724ba675SRob Herring	gpio-line-names =
248*724ba675SRob Herring	/*A0-A7*/ "","","","","","","","",
249*724ba675SRob Herring	/*B0-B7*/ "power-bmc-nic","presence-ocp-debug",
250*724ba675SRob Herring		  "power-bmc-slot1","power-bmc-slot2",
251*724ba675SRob Herring		  "power-bmc-slot3","power-bmc-slot4","","",
252*724ba675SRob Herring	/*C0-C7*/ "presence-ocp-nic","","","reset-cause-nic-primary",
253*724ba675SRob Herring		  "reset-cause-nic-secondary","","","",
254*724ba675SRob Herring	/*D0-D7*/ "","","","","","","","",
255*724ba675SRob Herring	/*E0-E7*/ "","","","","","","","",
256*724ba675SRob Herring	/*F0-F7*/ "slot1-bmc-reset-button","slot2-bmc-reset-button",
257*724ba675SRob Herring		  "slot3-bmc-reset-button","slot4-bmc-reset-button",
258*724ba675SRob Herring		  "","","","presence-emmc",
259*724ba675SRob Herring	/*G0-G7*/ "","","","","","","","",
260*724ba675SRob Herring	/*H0-H7*/ "","","","",
261*724ba675SRob Herring		  "presence-mb-slot1","presence-mb-slot2",
262*724ba675SRob Herring		  "presence-mb-slot3","presence-mb-slot4",
263*724ba675SRob Herring	/*I0-I7*/ "","","","","","","bb-bmc-button","",
264*724ba675SRob Herring	/*J0-J7*/ "","","","","","","","",
265*724ba675SRob Herring	/*K0-K7*/ "","","","","","","","",
266*724ba675SRob Herring	/*L0-L7*/ "","","","","","","","",
267*724ba675SRob Herring	/*M0-M7*/ "","power-nic-bmc-enable","","usb-bmc-enable","","reset-cause-usb-hub","","",
268*724ba675SRob Herring	/*N0-N7*/ "","","","","bmc-ready","","","",
269*724ba675SRob Herring	/*O0-O7*/ "","","","","","","fan0-bmc-cpld-enable","fan1-bmc-cpld-enable",
270*724ba675SRob Herring	/*P0-P7*/ "fan2-bmc-cpld-enable","fan3-bmc-cpld-enable",
271*724ba675SRob Herring		  "reset-cause-pcie-slot1","reset-cause-pcie-slot2",
272*724ba675SRob Herring		  "reset-cause-pcie-slot3","reset-cause-pcie-slot4","","",
273*724ba675SRob Herring	/*Q0-Q7*/ "","","","","","","","",
274*724ba675SRob Herring	/*R0-R7*/ "","","","","","","","",
275*724ba675SRob Herring	/*S0-S7*/ "","","power-p5v-usb","presence-bmc-tpm","","","","",
276*724ba675SRob Herring	/*T0-T7*/ "","","","","","","","",
277*724ba675SRob Herring	/*U0-U7*/ "","","","","","","","GND",
278*724ba675SRob Herring	/*V0-V7*/ "bmc-slot1-ac-button","bmc-slot2-ac-button",
279*724ba675SRob Herring		  "bmc-slot3-ac-button","bmc-slot4-ac-button",
280*724ba675SRob Herring		  "","","","",
281*724ba675SRob Herring	/*W0-W7*/ "","","","","","","","",
282*724ba675SRob Herring	/*X0-X7*/ "","","","","","","","",
283*724ba675SRob Herring	/*Y0-Y7*/ "","","","reset-cause-emmc","","","","",
284*724ba675SRob Herring	/*Z0-Z7*/ "","","","","","","","";
285*724ba675SRob Herring};
286*724ba675SRob Herring
287*724ba675SRob Herring&gpio1 {
288*724ba675SRob Herring	gpio-line-names =
289*724ba675SRob Herring	/*18A0-18A7*/ "","","","","","","","",
290*724ba675SRob Herring	/*18B0-18B7*/ "","","","","","","","",
291*724ba675SRob Herring	/*18C0-18C7*/ "","","","","","","","",
292*724ba675SRob Herring	/*18D0-18D7*/ "","","","","","","","",
293*724ba675SRob Herring	/*18E0-18E3*/ "","","","","","","","";
294*724ba675SRob Herring};
295