xref: /freebsd-src/sys/contrib/device-tree/src/arm/aspeed/aspeed-bmc-tyan-s7106.dts (revision f126890ac5386406dadf7c4cfa9566cbb56537c5)
1*f126890aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0+
2*f126890aSEmmanuel Vadot/dts-v1/;
3*f126890aSEmmanuel Vadot
4*f126890aSEmmanuel Vadot#include "aspeed-g5.dtsi"
5*f126890aSEmmanuel Vadot#include <dt-bindings/gpio/aspeed-gpio.h>
6*f126890aSEmmanuel Vadot#include <dt-bindings/interrupt-controller/irq.h>
7*f126890aSEmmanuel Vadot
8*f126890aSEmmanuel Vadot/ {
9*f126890aSEmmanuel Vadot	model = "Tyan S7106 BMC";
10*f126890aSEmmanuel Vadot	compatible = "tyan,s7106-bmc", "aspeed,ast2500";
11*f126890aSEmmanuel Vadot
12*f126890aSEmmanuel Vadot	chosen {
13*f126890aSEmmanuel Vadot		stdout-path = &uart5;
14*f126890aSEmmanuel Vadot		bootargs = "console=ttyS4,115200 earlycon";
15*f126890aSEmmanuel Vadot	};
16*f126890aSEmmanuel Vadot
17*f126890aSEmmanuel Vadot	memory@80000000 {
18*f126890aSEmmanuel Vadot		device_type = "memory";
19*f126890aSEmmanuel Vadot		reg = <0x80000000 0x20000000>;
20*f126890aSEmmanuel Vadot	};
21*f126890aSEmmanuel Vadot
22*f126890aSEmmanuel Vadot	reserved-memory {
23*f126890aSEmmanuel Vadot		#address-cells = <1>;
24*f126890aSEmmanuel Vadot		#size-cells = <1>;
25*f126890aSEmmanuel Vadot		ranges;
26*f126890aSEmmanuel Vadot
27*f126890aSEmmanuel Vadot		p2a_memory: region@987f0000 {
28*f126890aSEmmanuel Vadot			no-map;
29*f126890aSEmmanuel Vadot			reg = <0x987f0000 0x00010000>; /* 64KB */
30*f126890aSEmmanuel Vadot		};
31*f126890aSEmmanuel Vadot
32*f126890aSEmmanuel Vadot		vga_memory: framebuffer@9f000000 {
33*f126890aSEmmanuel Vadot			no-map;
34*f126890aSEmmanuel Vadot			reg = <0x9f000000 0x01000000>; /* 16M */
35*f126890aSEmmanuel Vadot		};
36*f126890aSEmmanuel Vadot
37*f126890aSEmmanuel Vadot		gfx_memory: framebuffer {
38*f126890aSEmmanuel Vadot			size = <0x01000000>; /* 16M */
39*f126890aSEmmanuel Vadot			alignment = <0x01000000>;
40*f126890aSEmmanuel Vadot			compatible = "shared-dma-pool";
41*f126890aSEmmanuel Vadot			reusable;
42*f126890aSEmmanuel Vadot		};
43*f126890aSEmmanuel Vadot	};
44*f126890aSEmmanuel Vadot
45*f126890aSEmmanuel Vadot	leds {
46*f126890aSEmmanuel Vadot		compatible = "gpio-leds";
47*f126890aSEmmanuel Vadot
48*f126890aSEmmanuel Vadot		identify {
49*f126890aSEmmanuel Vadot			gpios = <&gpio ASPEED_GPIO(A, 2) GPIO_ACTIVE_LOW>;
50*f126890aSEmmanuel Vadot		};
51*f126890aSEmmanuel Vadot
52*f126890aSEmmanuel Vadot		heartbeat {
53*f126890aSEmmanuel Vadot			gpios = <&gpio ASPEED_GPIO(E, 7) GPIO_ACTIVE_LOW>;
54*f126890aSEmmanuel Vadot		};
55*f126890aSEmmanuel Vadot	};
56*f126890aSEmmanuel Vadot
57*f126890aSEmmanuel Vadot	iio-hwmon {
58*f126890aSEmmanuel Vadot		compatible = "iio-hwmon";
59*f126890aSEmmanuel Vadot		io-channels = <&adc 0>, <&adc 1>, <&adc 2>, <&adc 3>,
60*f126890aSEmmanuel Vadot			<&adc 4>, <&adc 5>, <&adc 6>, <&adc 7>,
61*f126890aSEmmanuel Vadot			<&adc 8>, <&adc 9>, <&adc 10>, <&adc 11>,
62*f126890aSEmmanuel Vadot			<&adc 12>, <&adc 13>, <&adc 14>;
63*f126890aSEmmanuel Vadot	};
64*f126890aSEmmanuel Vadot
65*f126890aSEmmanuel Vadot	iio-hwmon-battery {
66*f126890aSEmmanuel Vadot		compatible = "iio-hwmon";
67*f126890aSEmmanuel Vadot		io-channels = <&adc 15>;
68*f126890aSEmmanuel Vadot	};
69*f126890aSEmmanuel Vadot};
70*f126890aSEmmanuel Vadot
71*f126890aSEmmanuel Vadot&fmc {
72*f126890aSEmmanuel Vadot	status = "okay";
73*f126890aSEmmanuel Vadot	flash@0 {
74*f126890aSEmmanuel Vadot		label = "bmc";
75*f126890aSEmmanuel Vadot		status = "okay";
76*f126890aSEmmanuel Vadot		m25p,fast-read;
77*f126890aSEmmanuel Vadot#include "openbmc-flash-layout.dtsi"
78*f126890aSEmmanuel Vadot	};
79*f126890aSEmmanuel Vadot};
80*f126890aSEmmanuel Vadot
81*f126890aSEmmanuel Vadot&spi1 {
82*f126890aSEmmanuel Vadot	status = "okay";
83*f126890aSEmmanuel Vadot	pinctrl-names = "default";
84*f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_spi1_default>;
85*f126890aSEmmanuel Vadot
86*f126890aSEmmanuel Vadot	flash@0 {
87*f126890aSEmmanuel Vadot		status = "okay";
88*f126890aSEmmanuel Vadot		label = "pnor";
89*f126890aSEmmanuel Vadot		m25p,fast-read;
90*f126890aSEmmanuel Vadot	};
91*f126890aSEmmanuel Vadot};
92*f126890aSEmmanuel Vadot
93*f126890aSEmmanuel Vadot&uart1 {
94*f126890aSEmmanuel Vadot	/* Rear RS-232 connector */
95*f126890aSEmmanuel Vadot	status = "okay";
96*f126890aSEmmanuel Vadot	pinctrl-names = "default";
97*f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_txd1_default
98*f126890aSEmmanuel Vadot			&pinctrl_rxd1_default>;
99*f126890aSEmmanuel Vadot};
100*f126890aSEmmanuel Vadot
101*f126890aSEmmanuel Vadot&uart2 {
102*f126890aSEmmanuel Vadot	/* RS-232 connector on header */
103*f126890aSEmmanuel Vadot	status = "okay";
104*f126890aSEmmanuel Vadot	pinctrl-names = "default";
105*f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_txd2_default
106*f126890aSEmmanuel Vadot			&pinctrl_rxd2_default>;
107*f126890aSEmmanuel Vadot};
108*f126890aSEmmanuel Vadot
109*f126890aSEmmanuel Vadot&uart3 {
110*f126890aSEmmanuel Vadot	/* Alternative to vuart to internally connect (route) to uart1
111*f126890aSEmmanuel Vadot	 * when vuart cannot be used due to BIOS limitations.
112*f126890aSEmmanuel Vadot	 */
113*f126890aSEmmanuel Vadot	status = "okay";
114*f126890aSEmmanuel Vadot};
115*f126890aSEmmanuel Vadot
116*f126890aSEmmanuel Vadot&uart4 {
117*f126890aSEmmanuel Vadot	/* Alternative to vuart to internally connect (route) to the
118*f126890aSEmmanuel Vadot	 * external port usually used by uart1 when vuart cannot be
119*f126890aSEmmanuel Vadot	 * used due to BIOS limitations.
120*f126890aSEmmanuel Vadot	 */
121*f126890aSEmmanuel Vadot	status = "okay";
122*f126890aSEmmanuel Vadot};
123*f126890aSEmmanuel Vadot
124*f126890aSEmmanuel Vadot&uart5 {
125*f126890aSEmmanuel Vadot	/* BMC "debug" (console) UART; connected to RS-232 connector
126*f126890aSEmmanuel Vadot	 * on header; selectable via jumpers as alternative to uart2
127*f126890aSEmmanuel Vadot	 */
128*f126890aSEmmanuel Vadot	status = "okay";
129*f126890aSEmmanuel Vadot};
130*f126890aSEmmanuel Vadot
131*f126890aSEmmanuel Vadot&uart_routing {
132*f126890aSEmmanuel Vadot	status = "okay";
133*f126890aSEmmanuel Vadot};
134*f126890aSEmmanuel Vadot
135*f126890aSEmmanuel Vadot&vuart {
136*f126890aSEmmanuel Vadot	status = "okay";
137*f126890aSEmmanuel Vadot
138*f126890aSEmmanuel Vadot	/* We enable the VUART here, but leave it in a state that does
139*f126890aSEmmanuel Vadot	 * not interfere with the SuperIO. The goal is to have both the
140*f126890aSEmmanuel Vadot	 * VUART and the SuperIO available and decide at runtime whether
141*f126890aSEmmanuel Vadot	 * the VUART should actually be used. For that reason, configure
142*f126890aSEmmanuel Vadot	 * an "invalid" IO address and an IRQ that is not used by the
143*f126890aSEmmanuel Vadot	 * BMC.
144*f126890aSEmmanuel Vadot	 */
145*f126890aSEmmanuel Vadot
146*f126890aSEmmanuel Vadot	aspeed,lpc-io-reg = <0xffff>;
147*f126890aSEmmanuel Vadot	aspeed,lpc-interrupts = <15 IRQ_TYPE_LEVEL_HIGH>;
148*f126890aSEmmanuel Vadot};
149*f126890aSEmmanuel Vadot
150*f126890aSEmmanuel Vadot&lpc_ctrl {
151*f126890aSEmmanuel Vadot	status = "okay";
152*f126890aSEmmanuel Vadot};
153*f126890aSEmmanuel Vadot
154*f126890aSEmmanuel Vadot&p2a {
155*f126890aSEmmanuel Vadot	status = "okay";
156*f126890aSEmmanuel Vadot	memory-region = <&p2a_memory>;
157*f126890aSEmmanuel Vadot};
158*f126890aSEmmanuel Vadot
159*f126890aSEmmanuel Vadot&lpc_snoop {
160*f126890aSEmmanuel Vadot	status = "okay";
161*f126890aSEmmanuel Vadot	snoop-ports = <0x80>;
162*f126890aSEmmanuel Vadot};
163*f126890aSEmmanuel Vadot
164*f126890aSEmmanuel Vadot&adc {
165*f126890aSEmmanuel Vadot	status = "okay";
166*f126890aSEmmanuel Vadot};
167*f126890aSEmmanuel Vadot
168*f126890aSEmmanuel Vadot&vhub {
169*f126890aSEmmanuel Vadot	status = "okay";
170*f126890aSEmmanuel Vadot};
171*f126890aSEmmanuel Vadot
172*f126890aSEmmanuel Vadot&pwm_tacho {
173*f126890aSEmmanuel Vadot	status = "okay";
174*f126890aSEmmanuel Vadot	pinctrl-names = "default";
175*f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_pwm0_default
176*f126890aSEmmanuel Vadot			&pinctrl_pwm1_default
177*f126890aSEmmanuel Vadot			&pinctrl_pwm3_default
178*f126890aSEmmanuel Vadot			&pinctrl_pwm4_default>;
179*f126890aSEmmanuel Vadot
180*f126890aSEmmanuel Vadot	/* CPU fan #0 */
181*f126890aSEmmanuel Vadot	fan@0 {
182*f126890aSEmmanuel Vadot		reg = <0x00>;
183*f126890aSEmmanuel Vadot		aspeed,fan-tach-ch = /bits/ 8 <0x00>;
184*f126890aSEmmanuel Vadot	};
185*f126890aSEmmanuel Vadot
186*f126890aSEmmanuel Vadot	/* CPU fan #1 */
187*f126890aSEmmanuel Vadot	fan@1 {
188*f126890aSEmmanuel Vadot		reg = <0x01>;
189*f126890aSEmmanuel Vadot		aspeed,fan-tach-ch = /bits/ 8 <0x01>;
190*f126890aSEmmanuel Vadot	};
191*f126890aSEmmanuel Vadot
192*f126890aSEmmanuel Vadot	/* PWM group for chassis fans #1, #2, #3 and #4  */
193*f126890aSEmmanuel Vadot	fan@2 {
194*f126890aSEmmanuel Vadot		reg = <0x03>;
195*f126890aSEmmanuel Vadot		aspeed,fan-tach-ch = /bits/ 8 <0x02>;
196*f126890aSEmmanuel Vadot	};
197*f126890aSEmmanuel Vadot
198*f126890aSEmmanuel Vadot	fan@3 {
199*f126890aSEmmanuel Vadot		reg = <0x03>;
200*f126890aSEmmanuel Vadot		aspeed,fan-tach-ch = /bits/ 8 <0x03>;
201*f126890aSEmmanuel Vadot	};
202*f126890aSEmmanuel Vadot
203*f126890aSEmmanuel Vadot	fan@4 {
204*f126890aSEmmanuel Vadot		reg = <0x03>;
205*f126890aSEmmanuel Vadot		aspeed,fan-tach-ch = /bits/ 8 <0x04>;
206*f126890aSEmmanuel Vadot	};
207*f126890aSEmmanuel Vadot
208*f126890aSEmmanuel Vadot	fan@5 {
209*f126890aSEmmanuel Vadot		reg = <0x03>;
210*f126890aSEmmanuel Vadot		aspeed,fan-tach-ch = /bits/ 8 <0x05>;
211*f126890aSEmmanuel Vadot	};
212*f126890aSEmmanuel Vadot
213*f126890aSEmmanuel Vadot	/* PWM group for chassis fans #5 and #6  */
214*f126890aSEmmanuel Vadot	fan@6 {
215*f126890aSEmmanuel Vadot		reg = <0x04>;
216*f126890aSEmmanuel Vadot		aspeed,fan-tach-ch = /bits/ 8 <0x06>;
217*f126890aSEmmanuel Vadot	};
218*f126890aSEmmanuel Vadot
219*f126890aSEmmanuel Vadot	fan@7 {
220*f126890aSEmmanuel Vadot		reg = <0x04>;
221*f126890aSEmmanuel Vadot		aspeed,fan-tach-ch = /bits/ 8 <0x07>;
222*f126890aSEmmanuel Vadot	};
223*f126890aSEmmanuel Vadot};
224*f126890aSEmmanuel Vadot
225*f126890aSEmmanuel Vadot&i2c0 {
226*f126890aSEmmanuel Vadot	status = "okay";
227*f126890aSEmmanuel Vadot
228*f126890aSEmmanuel Vadot	/* Hardware monitor with temperature sensors */
229*f126890aSEmmanuel Vadot	nct7802@28 {
230*f126890aSEmmanuel Vadot		compatible = "nuvoton,nct7802";
231*f126890aSEmmanuel Vadot		reg = <0x28>;
232*f126890aSEmmanuel Vadot
233*f126890aSEmmanuel Vadot		#address-cells = <1>;
234*f126890aSEmmanuel Vadot		#size-cells = <0>;
235*f126890aSEmmanuel Vadot
236*f126890aSEmmanuel Vadot		channel@0 { /* LTD */
237*f126890aSEmmanuel Vadot			reg = <0>;
238*f126890aSEmmanuel Vadot		};
239*f126890aSEmmanuel Vadot
240*f126890aSEmmanuel Vadot		channel@1 { /* RTD1 */
241*f126890aSEmmanuel Vadot			reg = <1>;
242*f126890aSEmmanuel Vadot			sensor-type = "temperature";
243*f126890aSEmmanuel Vadot			temperature-mode = "thermistor";
244*f126890aSEmmanuel Vadot		};
245*f126890aSEmmanuel Vadot
246*f126890aSEmmanuel Vadot		channel@2 { /* RTD2 */
247*f126890aSEmmanuel Vadot			reg = <2>;
248*f126890aSEmmanuel Vadot			sensor-type = "temperature";
249*f126890aSEmmanuel Vadot			temperature-mode = "thermistor";
250*f126890aSEmmanuel Vadot		};
251*f126890aSEmmanuel Vadot
252*f126890aSEmmanuel Vadot		channel@3 { /* RTD3 */
253*f126890aSEmmanuel Vadot			reg = <3>;
254*f126890aSEmmanuel Vadot			sensor-type = "temperature";
255*f126890aSEmmanuel Vadot		};
256*f126890aSEmmanuel Vadot	};
257*f126890aSEmmanuel Vadot
258*f126890aSEmmanuel Vadot	/* Also connected to:
259*f126890aSEmmanuel Vadot	 * - IPMB pin header
260*f126890aSEmmanuel Vadot	 * - CPU #0 memory error LED @ 0x3A
261*f126890aSEmmanuel Vadot	 * - CPU #1 memory error LED @ 0x3C
262*f126890aSEmmanuel Vadot	 */
263*f126890aSEmmanuel Vadot};
264*f126890aSEmmanuel Vadot
265*f126890aSEmmanuel Vadot&i2c1 {
266*f126890aSEmmanuel Vadot	/* Directly connected to PCH SMBUS #0 */
267*f126890aSEmmanuel Vadot	status = "okay";
268*f126890aSEmmanuel Vadot};
269*f126890aSEmmanuel Vadot
270*f126890aSEmmanuel Vadot&i2c2 {
271*f126890aSEmmanuel Vadot	status = "okay";
272*f126890aSEmmanuel Vadot
273*f126890aSEmmanuel Vadot	/* BMC EEPROM, incl. mainboard FRU */
274*f126890aSEmmanuel Vadot	eeprom@50 {
275*f126890aSEmmanuel Vadot		compatible = "atmel,24c256";
276*f126890aSEmmanuel Vadot		reg = <0x50>;
277*f126890aSEmmanuel Vadot	};
278*f126890aSEmmanuel Vadot
279*f126890aSEmmanuel Vadot	/* Also connected to:
280*f126890aSEmmanuel Vadot	 * - fan header
281*f126890aSEmmanuel Vadot	 * - mini-SAS HD connector
282*f126890aSEmmanuel Vadot	 * - SSATA SGPIO
283*f126890aSEmmanuel Vadot	 * - via switch (BMC_SMB3_PCH_IE_SML3_EN, active low)
284*f126890aSEmmanuel Vadot	 *   to PCH SMBUS #3
285*f126890aSEmmanuel Vadot	 */
286*f126890aSEmmanuel Vadot};
287*f126890aSEmmanuel Vadot
288*f126890aSEmmanuel Vadot&i2c3 {
289*f126890aSEmmanuel Vadot	status = "okay";
290*f126890aSEmmanuel Vadot
291*f126890aSEmmanuel Vadot	/* PSU1 FRU @ 0xA0 */
292*f126890aSEmmanuel Vadot	eeprom@50 {
293*f126890aSEmmanuel Vadot		compatible = "atmel,24c02";
294*f126890aSEmmanuel Vadot		reg = <0x50>;
295*f126890aSEmmanuel Vadot	};
296*f126890aSEmmanuel Vadot
297*f126890aSEmmanuel Vadot	/* PSU2 FRU @ 0xA2 */
298*f126890aSEmmanuel Vadot	eeprom@51 {
299*f126890aSEmmanuel Vadot		compatible = "atmel,24c02";
300*f126890aSEmmanuel Vadot		reg = <0x51>;
301*f126890aSEmmanuel Vadot	};
302*f126890aSEmmanuel Vadot
303*f126890aSEmmanuel Vadot	/* PSU1 @ 0xB0 */
304*f126890aSEmmanuel Vadot	power-supply@58 {
305*f126890aSEmmanuel Vadot		compatible = "pmbus";
306*f126890aSEmmanuel Vadot		reg = <0x58>;
307*f126890aSEmmanuel Vadot	};
308*f126890aSEmmanuel Vadot
309*f126890aSEmmanuel Vadot	/* PSU2 @ 0xB2 */
310*f126890aSEmmanuel Vadot	power-supply@59 {
311*f126890aSEmmanuel Vadot		compatible = "pmbus";
312*f126890aSEmmanuel Vadot		reg = <0x59>;
313*f126890aSEmmanuel Vadot	};
314*f126890aSEmmanuel Vadot
315*f126890aSEmmanuel Vadot	/* Also connected to:
316*f126890aSEmmanuel Vadot	 * - PCH SMBUS #1
317*f126890aSEmmanuel Vadot	 */
318*f126890aSEmmanuel Vadot};
319*f126890aSEmmanuel Vadot
320*f126890aSEmmanuel Vadot&i2c4 {
321*f126890aSEmmanuel Vadot	status = "okay";
322*f126890aSEmmanuel Vadot
323*f126890aSEmmanuel Vadot	/* Connected to:
324*f126890aSEmmanuel Vadot	 * - PCH SMBUS #2
325*f126890aSEmmanuel Vadot	 */
326*f126890aSEmmanuel Vadot
327*f126890aSEmmanuel Vadot	/* Connected via switch to:
328*f126890aSEmmanuel Vadot	 * - CPU #0 channels ABC VDDQ @ 0x80
329*f126890aSEmmanuel Vadot	 * - CPU #0 channels DEF VDDQ @ 0x81
330*f126890aSEmmanuel Vadot	 * - CPU #1 channels ABC VDDQ @ 0x82
331*f126890aSEmmanuel Vadot	 * - CPU #1 channels DEF VDDQ @ 0x83
332*f126890aSEmmanuel Vadot	 * - CPU #0 VCCIO & VMCP @ 0x52
333*f126890aSEmmanuel Vadot	 * - CPU #1 VCCIO & VMCP @ 0x53
334*f126890aSEmmanuel Vadot	 * - CPU #0 VCCIN @ 0xC0
335*f126890aSEmmanuel Vadot	 * - CPU #0 VSA @ 0xC2
336*f126890aSEmmanuel Vadot	 * - CPU #1 VCCIN @ 0xC4
337*f126890aSEmmanuel Vadot	 * - CPU #1 VSA @ 0xC6
338*f126890aSEmmanuel Vadot	 * - J110
339*f126890aSEmmanuel Vadot	 */
340*f126890aSEmmanuel Vadot};
341*f126890aSEmmanuel Vadot
342*f126890aSEmmanuel Vadot&i2c5 {
343*f126890aSEmmanuel Vadot	status = "okay";
344*f126890aSEmmanuel Vadot
345*f126890aSEmmanuel Vadot	/* Connected via switch (PCH_BMC_SMB_SW_P) to:
346*f126890aSEmmanuel Vadot	 * - mainboard FRU @ 0xAE
347*f126890aSEmmanuel Vadot	 * - XDP connector
348*f126890aSEmmanuel Vadot	 * - ME debug header
349*f126890aSEmmanuel Vadot	 * - clock buffer @ 0xD8
350*f126890aSEmmanuel Vadot	 * - i2c4 via switch (PCH_VR_SMBUS_SW_P; controlled by PCH)
351*f126890aSEmmanuel Vadot	 * - PCH SMBUS
352*f126890aSEmmanuel Vadot	 */
353*f126890aSEmmanuel Vadot};
354*f126890aSEmmanuel Vadot
355*f126890aSEmmanuel Vadot&i2c6 {
356*f126890aSEmmanuel Vadot	status = "okay";
357*f126890aSEmmanuel Vadot
358*f126890aSEmmanuel Vadot	/* Connected via switch (BMC_PE_SMB_EN_1_N) to
359*f126890aSEmmanuel Vadot	 * bus mux (selector BMC_PE_SMB_SW_BIT[1..0]) to:
360*f126890aSEmmanuel Vadot	 * - 0,0: PCIE slot 1, SMB #1
361*f126890aSEmmanuel Vadot	 * - 0,1: PCIE slot 1, SMB #2
362*f126890aSEmmanuel Vadot	 * - 1,0: PCIE slot 2, SMB #1
363*f126890aSEmmanuel Vadot	 * - 1,1: PCIE slot 2, SMB #2
364*f126890aSEmmanuel Vadot	 */
365*f126890aSEmmanuel Vadot
366*f126890aSEmmanuel Vadot	/* Connected via switch (BMC_PE_SMB_EN_2_N) to
367*f126890aSEmmanuel Vadot	 * bus mux (selector BMC_PE_SMB_SW_BIT[1..0]) to:
368*f126890aSEmmanuel Vadot	 * - 0,0: OCP0 (A) SMB
369*f126890aSEmmanuel Vadot	 * - 0,1: OCP0 (C) SMB
370*f126890aSEmmanuel Vadot	 * - 1,0: OCP1 (A) SMB
371*f126890aSEmmanuel Vadot	 * - 1,1: NC
372*f126890aSEmmanuel Vadot	 */
373*f126890aSEmmanuel Vadot};
374*f126890aSEmmanuel Vadot
375*f126890aSEmmanuel Vadot&i2c7 {
376*f126890aSEmmanuel Vadot	status = "okay";
377*f126890aSEmmanuel Vadot
378*f126890aSEmmanuel Vadot	/* Connected to:
379*f126890aSEmmanuel Vadot	 * - PCH SMBUS #4
380*f126890aSEmmanuel Vadot	 */
381*f126890aSEmmanuel Vadot};
382*f126890aSEmmanuel Vadot
383*f126890aSEmmanuel Vadot&i2c8 {
384*f126890aSEmmanuel Vadot	status = "okay";
385*f126890aSEmmanuel Vadot
386*f126890aSEmmanuel Vadot	/* Not connected */
387*f126890aSEmmanuel Vadot};
388*f126890aSEmmanuel Vadot
389*f126890aSEmmanuel Vadot&mac0 {
390*f126890aSEmmanuel Vadot	status = "okay";
391*f126890aSEmmanuel Vadot	use-ncsi;
392*f126890aSEmmanuel Vadot	pinctrl-names = "default";
393*f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_rmii1_default>;
394*f126890aSEmmanuel Vadot};
395*f126890aSEmmanuel Vadot
396*f126890aSEmmanuel Vadot&mac1 {
397*f126890aSEmmanuel Vadot	status = "okay";
398*f126890aSEmmanuel Vadot	pinctrl-names = "default";
399*f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_rgmii2_default &pinctrl_mdio2_default>;
400*f126890aSEmmanuel Vadot};
401*f126890aSEmmanuel Vadot
402*f126890aSEmmanuel Vadot&ibt {
403*f126890aSEmmanuel Vadot	status = "okay";
404*f126890aSEmmanuel Vadot};
405*f126890aSEmmanuel Vadot
406*f126890aSEmmanuel Vadot&kcs1 {
407*f126890aSEmmanuel Vadot	status = "okay";
408*f126890aSEmmanuel Vadot	aspeed,lpc-io-reg = <0xca8>;
409*f126890aSEmmanuel Vadot};
410*f126890aSEmmanuel Vadot
411*f126890aSEmmanuel Vadot&kcs3 {
412*f126890aSEmmanuel Vadot	status = "okay";
413*f126890aSEmmanuel Vadot	aspeed,lpc-io-reg = <0xca2>;
414*f126890aSEmmanuel Vadot};
415*f126890aSEmmanuel Vadot
416*f126890aSEmmanuel Vadot/* Enable BMC VGA output to show an early (pre-BIOS) boot screen */
417*f126890aSEmmanuel Vadot&gfx {
418*f126890aSEmmanuel Vadot	status = "okay";
419*f126890aSEmmanuel Vadot	memory-region = <&gfx_memory>;
420*f126890aSEmmanuel Vadot};
421*f126890aSEmmanuel Vadot
422*f126890aSEmmanuel Vadot/* We're following the GPIO naming as defined at
423*f126890aSEmmanuel Vadot * https://github.com/openbmc/docs/blob/master/designs/device-tree-gpio-naming.md.
424*f126890aSEmmanuel Vadot *
425*f126890aSEmmanuel Vadot * Notes on led-identify and id-button:
426*f126890aSEmmanuel Vadot * - A physical button is connected to id-button which
427*f126890aSEmmanuel Vadot *   triggers the clock on a D flip-flop. The /Q output of the
428*f126890aSEmmanuel Vadot *   flip-flop drives its D input.
429*f126890aSEmmanuel Vadot * - The flip-flop's Q output drives led-identify which is
430*f126890aSEmmanuel Vadot *   connected to LEDs.
431*f126890aSEmmanuel Vadot * - With that, every button press toggles the LED between on and off.
432*f126890aSEmmanuel Vadot *
433*f126890aSEmmanuel Vadot * Notes on power-, reset- and nmi- button and control:
434*f126890aSEmmanuel Vadot * - The -button signals can be used to monitor physical buttons.
435*f126890aSEmmanuel Vadot * - The -control signals can be used to actuate the specific
436*f126890aSEmmanuel Vadot *   operation.
437*f126890aSEmmanuel Vadot * - In hardware, the -button signals are connected to the -control
438*f126890aSEmmanuel Vadot *   signals through drivers with the -control signals being
439*f126890aSEmmanuel Vadot *   protected through diodes.
440*f126890aSEmmanuel Vadot */
441*f126890aSEmmanuel Vadot&gpio {
442*f126890aSEmmanuel Vadot	status = "okay";
443*f126890aSEmmanuel Vadot	gpio-line-names =
444*f126890aSEmmanuel Vadot	/*A0*/		"",
445*f126890aSEmmanuel Vadot	/*A1*/		"",
446*f126890aSEmmanuel Vadot	/*A2*/		"led-identify", /* in/out: BMC_IDLED_ON_N */
447*f126890aSEmmanuel Vadot	/*A3*/		"",
448*f126890aSEmmanuel Vadot	/*A4*/		"",
449*f126890aSEmmanuel Vadot	/*A5*/		"",
450*f126890aSEmmanuel Vadot	/*A6*/		"",
451*f126890aSEmmanuel Vadot	/*A7*/		"",
452*f126890aSEmmanuel Vadot	/*B0-B7*/	"","","","","","","","",
453*f126890aSEmmanuel Vadot	/*C0*/		"",
454*f126890aSEmmanuel Vadot	/*C1*/		"",
455*f126890aSEmmanuel Vadot	/*C2*/		"",
456*f126890aSEmmanuel Vadot	/*C3*/		"",
457*f126890aSEmmanuel Vadot	/*C4*/		"id-button", /* in/out: BMC_IDBTN_IN_OUT_N */
458*f126890aSEmmanuel Vadot	/*C5*/		"post-complete", /* in: FM_BIOS_POST_CMPLT_N */
459*f126890aSEmmanuel Vadot	/*C6*/		"",
460*f126890aSEmmanuel Vadot	/*C7*/		"",
461*f126890aSEmmanuel Vadot	/*D0*/		"",
462*f126890aSEmmanuel Vadot	/*D1*/		"",
463*f126890aSEmmanuel Vadot	/*D2*/		"power-chassis-good", /* in: SYS_PWROK_BUF */
464*f126890aSEmmanuel Vadot	/*D3*/		"platform-reset", /* in: SYS_PLTRST_N */
465*f126890aSEmmanuel Vadot	/*D4*/		"",
466*f126890aSEmmanuel Vadot	/*D5*/		"",
467*f126890aSEmmanuel Vadot	/*D6*/		"",
468*f126890aSEmmanuel Vadot	/*D7*/		"",
469*f126890aSEmmanuel Vadot	/*E0*/		"power-button", /* in: BMC_PWBTN_IN_N */
470*f126890aSEmmanuel Vadot	/*E1*/		"power-chassis-control", /* out: BMC_PWRBTN_OUT_N */
471*f126890aSEmmanuel Vadot	/*E2*/		"reset-button", /* in: BMC_RSTBTN_IN_N */
472*f126890aSEmmanuel Vadot	/*E3*/		"reset-control", /* out: BMC_RSTBTN_OUT_N */
473*f126890aSEmmanuel Vadot	/*E4*/		"nmi-button", /* in: BMC_NMIBTN_IN_N */
474*f126890aSEmmanuel Vadot	/*E5*/		"nmi-control", /* out: BMC_NMIBTN_OUT_N */
475*f126890aSEmmanuel Vadot	/*E6*/		"",
476*f126890aSEmmanuel Vadot	/*E7*/		"led-heartbeat", /* out: BMC_HEARTBRAT_LED_N */
477*f126890aSEmmanuel Vadot	/*F0*/		"",
478*f126890aSEmmanuel Vadot	/*F1*/		"clear-cmos-control", /* out: BMC_CLR_CMOS_N */
479*f126890aSEmmanuel Vadot	/*F2*/		"",
480*f126890aSEmmanuel Vadot	/*F3*/		"",
481*f126890aSEmmanuel Vadot	/*F4*/		"led-fault", /* out: AST_HW_FAULT_N */
482*f126890aSEmmanuel Vadot	/*F5*/		"",
483*f126890aSEmmanuel Vadot	/*F6*/		"",
484*f126890aSEmmanuel Vadot	/*F7*/		"",
485*f126890aSEmmanuel Vadot	/*G0*/		"BMC_PE_SMB_EN_1_N", /* out */
486*f126890aSEmmanuel Vadot	/*G1*/		"BMC_PE_SMB_EN_2_N", /* out */
487*f126890aSEmmanuel Vadot	/*G2*/		"",
488*f126890aSEmmanuel Vadot	/*G3*/		"",
489*f126890aSEmmanuel Vadot	/*G4*/		"",
490*f126890aSEmmanuel Vadot	/*G5*/		"",
491*f126890aSEmmanuel Vadot	/*G6*/		"",
492*f126890aSEmmanuel Vadot	/*G7*/		"",
493*f126890aSEmmanuel Vadot	/*H0-H7*/	"","","","","","","","",
494*f126890aSEmmanuel Vadot	/*I0-I7*/	"","","","","","","","",
495*f126890aSEmmanuel Vadot	/*J0-J7*/	"","","","","","","","",
496*f126890aSEmmanuel Vadot	/*K0-K7*/	"","","","","","","","",
497*f126890aSEmmanuel Vadot	/*L0-L7*/	"","","","","","","","",
498*f126890aSEmmanuel Vadot	/*M0-M7*/	"","","","","","","","",
499*f126890aSEmmanuel Vadot	/*N0-N7*/	"","","","","","","","",
500*f126890aSEmmanuel Vadot	/*O0-O7*/	"","","","","","","","",
501*f126890aSEmmanuel Vadot	/*P0-P7*/	"","","","","","","","",
502*f126890aSEmmanuel Vadot	/*Q0*/		"",
503*f126890aSEmmanuel Vadot	/*Q1*/		"",
504*f126890aSEmmanuel Vadot	/*Q2*/		"",
505*f126890aSEmmanuel Vadot	/*Q3*/		"",
506*f126890aSEmmanuel Vadot	/*Q4*/		"BMC_PE_SMB_SW_BIT0", /* out */
507*f126890aSEmmanuel Vadot	/*Q5*/		"BMC_PE_SMB_SW_BIT1", /* out */
508*f126890aSEmmanuel Vadot	/*Q6*/		"",
509*f126890aSEmmanuel Vadot	/*Q7*/		"",
510*f126890aSEmmanuel Vadot	/*R0-R7*/	"","","","","","","","",
511*f126890aSEmmanuel Vadot	/*S0-S7*/	"","","","","","","","",
512*f126890aSEmmanuel Vadot	/*T0-T7*/	"","","","","","","","",
513*f126890aSEmmanuel Vadot	/*U0-U7*/	"","","","","","","","",
514*f126890aSEmmanuel Vadot	/*V0-V7*/	"","","","","","","","",
515*f126890aSEmmanuel Vadot	/*W0-W7*/	"","","","","","","","",
516*f126890aSEmmanuel Vadot	/*X0-X7*/	"","","","","","","","",
517*f126890aSEmmanuel Vadot	/*Y0-Y7*/	"","","","","","","","",
518*f126890aSEmmanuel Vadot	/*Z0-Z7*/	"","","","","","","","",
519*f126890aSEmmanuel Vadot	/*AA0*/		"",
520*f126890aSEmmanuel Vadot	/*AA1*/		"",
521*f126890aSEmmanuel Vadot	/*AA2*/		"",
522*f126890aSEmmanuel Vadot	/*AA3*/		"BMC_SMB3_PCH_IE_SML3_EN", /* out */
523*f126890aSEmmanuel Vadot	/*AA4*/		"",
524*f126890aSEmmanuel Vadot	/*AA5*/		"",
525*f126890aSEmmanuel Vadot	/*AA6*/		"",
526*f126890aSEmmanuel Vadot	/*AA7*/		"",
527*f126890aSEmmanuel Vadot	/*AB0-AB7*/	"","","","","","","","";
528*f126890aSEmmanuel Vadot};
529