xref: /openbmc/linux/arch/arm/boot/dts/aspeed/aspeed-bmc-ampere-mtjefferson.dts (revision 04b28a15e7e85be5a18b561988f8f36b233b577c)
1*04b28a15SChanh Nguyen// SPDX-License-Identifier: GPL-2.0-only
2*04b28a15SChanh Nguyen// Copyright 2024 Ampere Computing LLC.
3*04b28a15SChanh Nguyen
4*04b28a15SChanh Nguyen/dts-v1/;
5*04b28a15SChanh Nguyen
6*04b28a15SChanh Nguyen#include "aspeed-g6.dtsi"
7*04b28a15SChanh Nguyen#include <dt-bindings/i2c/i2c.h>
8*04b28a15SChanh Nguyen#include <dt-bindings/gpio/aspeed-gpio.h>
9*04b28a15SChanh Nguyen
10*04b28a15SChanh Nguyen/ {
11*04b28a15SChanh Nguyen	model = "Ampere Mt. Jefferson BMC";
12*04b28a15SChanh Nguyen	compatible = "ampere,mtjefferson-bmc", "aspeed,ast2600";
13*04b28a15SChanh Nguyen
14*04b28a15SChanh Nguyen	aliases {
15*04b28a15SChanh Nguyen		i2c20 = &i2c4_bus70_chn0;
16*04b28a15SChanh Nguyen		i2c22 = &i2c4_bus70_chn2;
17*04b28a15SChanh Nguyen
18*04b28a15SChanh Nguyen		/*
19*04b28a15SChanh Nguyen		 *  I2C OCP alias port
20*04b28a15SChanh Nguyen		 */
21*04b28a15SChanh Nguyen		i2c30 = &ocpslot;
22*04b28a15SChanh Nguyen
23*04b28a15SChanh Nguyen		/*
24*04b28a15SChanh Nguyen		 *  I2C NVMe alias port
25*04b28a15SChanh Nguyen		 */
26*04b28a15SChanh Nguyen		i2c48 = &nvmeslot_0;
27*04b28a15SChanh Nguyen		i2c49 = &nvmeslot_1;
28*04b28a15SChanh Nguyen		i2c50 = &nvmeslot_2;
29*04b28a15SChanh Nguyen		i2c51 = &nvmeslot_3;
30*04b28a15SChanh Nguyen		i2c52 = &nvmeslot_4;
31*04b28a15SChanh Nguyen		i2c53 = &nvmeslot_5;
32*04b28a15SChanh Nguyen		i2c54 = &nvmeslot_6;
33*04b28a15SChanh Nguyen		i2c55 = &nvmeslot_7;
34*04b28a15SChanh Nguyen		i2c56 = &nvmeslot_8;
35*04b28a15SChanh Nguyen		i2c57 = &nvmeslot_9;
36*04b28a15SChanh Nguyen		i2c58 = &nvmeslot_10;
37*04b28a15SChanh Nguyen		i2c59 = &nvmeslot_11;
38*04b28a15SChanh Nguyen	};
39*04b28a15SChanh Nguyen
40*04b28a15SChanh Nguyen	chosen {
41*04b28a15SChanh Nguyen		stdout-path = &uart5;
42*04b28a15SChanh Nguyen	};
43*04b28a15SChanh Nguyen
44*04b28a15SChanh Nguyen	memory@80000000 {
45*04b28a15SChanh Nguyen		device_type = "memory";
46*04b28a15SChanh Nguyen		reg = <0x80000000 0x80000000>;
47*04b28a15SChanh Nguyen	};
48*04b28a15SChanh Nguyen
49*04b28a15SChanh Nguyen	reserved-memory {
50*04b28a15SChanh Nguyen		#address-cells = <1>;
51*04b28a15SChanh Nguyen		#size-cells = <1>;
52*04b28a15SChanh Nguyen		ranges;
53*04b28a15SChanh Nguyen
54*04b28a15SChanh Nguyen		gfx_memory: framebuffer {
55*04b28a15SChanh Nguyen			size = <0x01000000>;
56*04b28a15SChanh Nguyen			alignment = <0x01000000>;
57*04b28a15SChanh Nguyen			compatible = "shared-dma-pool";
58*04b28a15SChanh Nguyen			reusable;
59*04b28a15SChanh Nguyen		};
60*04b28a15SChanh Nguyen
61*04b28a15SChanh Nguyen		video_engine_memory: video {
62*04b28a15SChanh Nguyen			size = <0x04000000>;
63*04b28a15SChanh Nguyen			alignment = <0x01000000>;
64*04b28a15SChanh Nguyen			compatible = "shared-dma-pool";
65*04b28a15SChanh Nguyen			reusable;
66*04b28a15SChanh Nguyen		};
67*04b28a15SChanh Nguyen
68*04b28a15SChanh Nguyen		vga_memory: region@bf000000 {
69*04b28a15SChanh Nguyen			no-map;
70*04b28a15SChanh Nguyen			compatible = "shared-dma-pool";
71*04b28a15SChanh Nguyen			reg = <0xbf000000 0x01000000>;  /* 16M */
72*04b28a15SChanh Nguyen		};
73*04b28a15SChanh Nguyen	};
74*04b28a15SChanh Nguyen
75*04b28a15SChanh Nguyen	voltage_mon_reg: voltage-mon-regulator {
76*04b28a15SChanh Nguyen		compatible = "regulator-fixed";
77*04b28a15SChanh Nguyen		regulator-name = "ltc2497_reg";
78*04b28a15SChanh Nguyen		regulator-min-microvolt = <3300000>;
79*04b28a15SChanh Nguyen		regulator-max-microvolt = <3300000>;
80*04b28a15SChanh Nguyen		regulator-always-on;
81*04b28a15SChanh Nguyen	};
82*04b28a15SChanh Nguyen
83*04b28a15SChanh Nguyen	leds {
84*04b28a15SChanh Nguyen		compatible = "gpio-leds";
85*04b28a15SChanh Nguyen		led-bmc-ready {
86*04b28a15SChanh Nguyen			gpios = <&gpio0 ASPEED_GPIO(W, 5) (GPIO_ACTIVE_HIGH | GPIO_TRANSITORY)>;
87*04b28a15SChanh Nguyen		};
88*04b28a15SChanh Nguyen
89*04b28a15SChanh Nguyen		led-sw-heartbeat {
90*04b28a15SChanh Nguyen			gpios = <&gpio0 ASPEED_GPIO(N, 3) GPIO_ACTIVE_HIGH>;
91*04b28a15SChanh Nguyen		};
92*04b28a15SChanh Nguyen
93*04b28a15SChanh Nguyen		led-identify {
94*04b28a15SChanh Nguyen			gpios = <&gpio0 ASPEED_GPIO(S, 3) GPIO_ACTIVE_HIGH>;
95*04b28a15SChanh Nguyen		};
96*04b28a15SChanh Nguyen
97*04b28a15SChanh Nguyen		led-fault {
98*04b28a15SChanh Nguyen			gpios = <&gpio0 ASPEED_GPIO(P, 4) GPIO_ACTIVE_HIGH>;
99*04b28a15SChanh Nguyen		};
100*04b28a15SChanh Nguyen	};
101*04b28a15SChanh Nguyen
102*04b28a15SChanh Nguyen	iio-hwmon {
103*04b28a15SChanh Nguyen		compatible = "iio-hwmon";
104*04b28a15SChanh Nguyen		io-channels =   <&adc0 0>, <&adc0 1>, <&adc0 2>,
105*04b28a15SChanh Nguyen				<&adc_i2c_2 0>, <&adc_i2c_2 1>,
106*04b28a15SChanh Nguyen				<&adc_i2c_2 2>, <&adc_i2c_2 3>,
107*04b28a15SChanh Nguyen				<&adc_i2c_2 4>, <&adc_i2c_2 5>,
108*04b28a15SChanh Nguyen				<&adc_i2c_2 6>, <&adc_i2c_2 7>,
109*04b28a15SChanh Nguyen				<&adc_i2c_2 8>, <&adc_i2c_2 9>,
110*04b28a15SChanh Nguyen				<&adc_i2c_2 10>, <&adc_i2c_2 11>,
111*04b28a15SChanh Nguyen				<&adc_i2c_2 12>, <&adc_i2c_2 13>,
112*04b28a15SChanh Nguyen				<&adc_i2c_2 14>, <&adc_i2c_2 15>,
113*04b28a15SChanh Nguyen				<&adc_i2c_0 0>, <&adc_i2c_0 1>,
114*04b28a15SChanh Nguyen				<&adc_i2c_0 2>, <&adc_i2c_0 3>,
115*04b28a15SChanh Nguyen				<&adc_i2c_0 4>, <&adc_i2c_0 5>,
116*04b28a15SChanh Nguyen				<&adc_i2c_0 6>, <&adc_i2c_0 7>,
117*04b28a15SChanh Nguyen				<&adc_i2c_0 8>, <&adc_i2c_0 9>,
118*04b28a15SChanh Nguyen				<&adc_i2c_0 10>, <&adc_i2c_0 11>,
119*04b28a15SChanh Nguyen				<&adc_i2c_0 12>;
120*04b28a15SChanh Nguyen	};
121*04b28a15SChanh Nguyen};
122*04b28a15SChanh Nguyen
123*04b28a15SChanh Nguyen&mdio0 {
124*04b28a15SChanh Nguyen	status = "okay";
125*04b28a15SChanh Nguyen
126*04b28a15SChanh Nguyen	ethphy0: ethernet-phy@0 {
127*04b28a15SChanh Nguyen		compatible = "ethernet-phy-ieee802.3-c22";
128*04b28a15SChanh Nguyen		reg = <0>;
129*04b28a15SChanh Nguyen	};
130*04b28a15SChanh Nguyen};
131*04b28a15SChanh Nguyen
132*04b28a15SChanh Nguyen&mac0 {
133*04b28a15SChanh Nguyen	status = "okay";
134*04b28a15SChanh Nguyen
135*04b28a15SChanh Nguyen	phy-mode = "rgmii";
136*04b28a15SChanh Nguyen	phy-handle = <&ethphy0>;
137*04b28a15SChanh Nguyen
138*04b28a15SChanh Nguyen	pinctrl-names = "default";
139*04b28a15SChanh Nguyen	pinctrl-0 = <&pinctrl_rgmii1_default>;
140*04b28a15SChanh Nguyen};
141*04b28a15SChanh Nguyen
142*04b28a15SChanh Nguyen&mac3 {
143*04b28a15SChanh Nguyen	status = "okay";
144*04b28a15SChanh Nguyen	pinctrl-names = "default";
145*04b28a15SChanh Nguyen	pinctrl-0 = <&pinctrl_rmii4_default>;
146*04b28a15SChanh Nguyen	use-ncsi;
147*04b28a15SChanh Nguyen};
148*04b28a15SChanh Nguyen
149*04b28a15SChanh Nguyen&fmc {
150*04b28a15SChanh Nguyen	status = "okay";
151*04b28a15SChanh Nguyen	flash@0 {
152*04b28a15SChanh Nguyen		status = "okay";
153*04b28a15SChanh Nguyen		m25p,fast-read;
154*04b28a15SChanh Nguyen		label = "bmc";
155*04b28a15SChanh Nguyen		spi-max-frequency = <50000000>;
156*04b28a15SChanh Nguyen#include "openbmc-flash-layout-64.dtsi"
157*04b28a15SChanh Nguyen	};
158*04b28a15SChanh Nguyen
159*04b28a15SChanh Nguyen	flash@1 {
160*04b28a15SChanh Nguyen		status = "okay";
161*04b28a15SChanh Nguyen		m25p,fast-read;
162*04b28a15SChanh Nguyen		label = "alt-bmc";
163*04b28a15SChanh Nguyen		spi-max-frequency = <50000000>;
164*04b28a15SChanh Nguyen#include "openbmc-flash-layout-64-alt.dtsi"
165*04b28a15SChanh Nguyen	};
166*04b28a15SChanh Nguyen};
167*04b28a15SChanh Nguyen
168*04b28a15SChanh Nguyen&spi1 {
169*04b28a15SChanh Nguyen	status = "okay";
170*04b28a15SChanh Nguyen	pinctrl-names = "default";
171*04b28a15SChanh Nguyen	pinctrl-0 = <&pinctrl_spi1_default>;
172*04b28a15SChanh Nguyen
173*04b28a15SChanh Nguyen	flash@0 {
174*04b28a15SChanh Nguyen		status = "okay";
175*04b28a15SChanh Nguyen		m25p,fast-read;
176*04b28a15SChanh Nguyen		label = "pnor";
177*04b28a15SChanh Nguyen		spi-max-frequency = <20000000>;
178*04b28a15SChanh Nguyen	};
179*04b28a15SChanh Nguyen};
180*04b28a15SChanh Nguyen
181*04b28a15SChanh Nguyen&uart1 {
182*04b28a15SChanh Nguyen	status = "okay";
183*04b28a15SChanh Nguyen};
184*04b28a15SChanh Nguyen
185*04b28a15SChanh Nguyen&uart2 {
186*04b28a15SChanh Nguyen	status = "okay";
187*04b28a15SChanh Nguyen};
188*04b28a15SChanh Nguyen
189*04b28a15SChanh Nguyen&i2c0 {
190*04b28a15SChanh Nguyen	status = "okay";
191*04b28a15SChanh Nguyen};
192*04b28a15SChanh Nguyen
193*04b28a15SChanh Nguyen&i2c1 {
194*04b28a15SChanh Nguyen	status = "okay";
195*04b28a15SChanh Nguyen};
196*04b28a15SChanh Nguyen
197*04b28a15SChanh Nguyen&i2c2 {
198*04b28a15SChanh Nguyen	status = "okay";
199*04b28a15SChanh Nguyen};
200*04b28a15SChanh Nguyen
201*04b28a15SChanh Nguyen&i2c3 {
202*04b28a15SChanh Nguyen	status = "okay";
203*04b28a15SChanh Nguyen	bus-frequency = <1000000>;
204*04b28a15SChanh Nguyen	multi-master;
205*04b28a15SChanh Nguyen	mctp-controller;
206*04b28a15SChanh Nguyen
207*04b28a15SChanh Nguyen	mctp@10 {
208*04b28a15SChanh Nguyen		compatible = "mctp-i2c-controller";
209*04b28a15SChanh Nguyen		reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>;
210*04b28a15SChanh Nguyen	};
211*04b28a15SChanh Nguyen};
212*04b28a15SChanh Nguyen
213*04b28a15SChanh Nguyen&i2c4 {
214*04b28a15SChanh Nguyen	status = "okay";
215*04b28a15SChanh Nguyen	eeprom@50 {
216*04b28a15SChanh Nguyen		compatible = "atmel,24c64";
217*04b28a15SChanh Nguyen		reg = <0x50>;
218*04b28a15SChanh Nguyen		pagesize = <32>;
219*04b28a15SChanh Nguyen	};
220*04b28a15SChanh Nguyen
221*04b28a15SChanh Nguyen	i2c-mux@70 {
222*04b28a15SChanh Nguyen		compatible = "nxp,pca9545";
223*04b28a15SChanh Nguyen		#address-cells = <1>;
224*04b28a15SChanh Nguyen		#size-cells = <0>;
225*04b28a15SChanh Nguyen		reg = <0x70>;
226*04b28a15SChanh Nguyen		i2c-mux-idle-disconnect;
227*04b28a15SChanh Nguyen
228*04b28a15SChanh Nguyen		i2c4_bus70_chn0: i2c@0 {
229*04b28a15SChanh Nguyen			#address-cells = <1>;
230*04b28a15SChanh Nguyen			#size-cells = <0>;
231*04b28a15SChanh Nguyen			reg = <0x0>;
232*04b28a15SChanh Nguyen
233*04b28a15SChanh Nguyen			eeprom@52 {
234*04b28a15SChanh Nguyen				compatible = "atmel,24c256";
235*04b28a15SChanh Nguyen				reg = <0x52>;
236*04b28a15SChanh Nguyen				pagesize = <32>;
237*04b28a15SChanh Nguyen			};
238*04b28a15SChanh Nguyen			temperature-sensor@48 {
239*04b28a15SChanh Nguyen				compatible = "ti,tmp75";
240*04b28a15SChanh Nguyen				reg = <0x48>;
241*04b28a15SChanh Nguyen			};
242*04b28a15SChanh Nguyen			temperature-sensor@49 {
243*04b28a15SChanh Nguyen				compatible = "ti,tmp75";
244*04b28a15SChanh Nguyen				reg = <0x49>;
245*04b28a15SChanh Nguyen			};
246*04b28a15SChanh Nguyen			temperature-sensor@4a{
247*04b28a15SChanh Nguyen				compatible = "ti,tmp75";
248*04b28a15SChanh Nguyen				reg = <0x4a>;
249*04b28a15SChanh Nguyen			};
250*04b28a15SChanh Nguyen			temperature-sensor@4b {
251*04b28a15SChanh Nguyen				compatible = "ti,tmp464";
252*04b28a15SChanh Nguyen				reg = <0x4b>;
253*04b28a15SChanh Nguyen				#address-cells = <1>;
254*04b28a15SChanh Nguyen				#size-cells = <0>;
255*04b28a15SChanh Nguyen
256*04b28a15SChanh Nguyen				channel@0 {
257*04b28a15SChanh Nguyen					reg = <0x0>;
258*04b28a15SChanh Nguyen					status = "disabled";
259*04b28a15SChanh Nguyen				};
260*04b28a15SChanh Nguyen				channel@1 {
261*04b28a15SChanh Nguyen					reg = <0x1>;
262*04b28a15SChanh Nguyen					status = "disabled";
263*04b28a15SChanh Nguyen				};
264*04b28a15SChanh Nguyen				channel@2 {
265*04b28a15SChanh Nguyen					reg = <0x2>;
266*04b28a15SChanh Nguyen					status = "disabled";
267*04b28a15SChanh Nguyen				};
268*04b28a15SChanh Nguyen				channel@3 {
269*04b28a15SChanh Nguyen					reg = <0x3>;
270*04b28a15SChanh Nguyen					status = "disabled";
271*04b28a15SChanh Nguyen				};
272*04b28a15SChanh Nguyen				channel@4 {
273*04b28a15SChanh Nguyen					reg = <0x4>;
274*04b28a15SChanh Nguyen				};
275*04b28a15SChanh Nguyen			};
276*04b28a15SChanh Nguyen			temperature-sensor@4d {
277*04b28a15SChanh Nguyen				compatible = "ti,tmp75";
278*04b28a15SChanh Nguyen				reg = <0x4d>;
279*04b28a15SChanh Nguyen			};
280*04b28a15SChanh Nguyen			temperature-sensor@4e {
281*04b28a15SChanh Nguyen				compatible = "ti,tmp75";
282*04b28a15SChanh Nguyen				reg = <0x4e>;
283*04b28a15SChanh Nguyen			};
284*04b28a15SChanh Nguyen			temperature-sensor@4f {
285*04b28a15SChanh Nguyen				compatible = "ti,tmp75";
286*04b28a15SChanh Nguyen				reg = <0x4f>;
287*04b28a15SChanh Nguyen			};
288*04b28a15SChanh Nguyen			temperature-sensor@28 {
289*04b28a15SChanh Nguyen				compatible = "nuvoton,nct7802";
290*04b28a15SChanh Nguyen				reg = <0x28>;
291*04b28a15SChanh Nguyen
292*04b28a15SChanh Nguyen				#address-cells = <1>;
293*04b28a15SChanh Nguyen				#size-cells = <0>;
294*04b28a15SChanh Nguyen				channel@1 { /* RTD1 */
295*04b28a15SChanh Nguyen					reg = <1>;
296*04b28a15SChanh Nguyen					sensor-type = "temperature";
297*04b28a15SChanh Nguyen					temperature-mode = "thermistor";
298*04b28a15SChanh Nguyen				};
299*04b28a15SChanh Nguyen			};
300*04b28a15SChanh Nguyen			adc_i2c_0: adc@14 {
301*04b28a15SChanh Nguyen				compatible = "lltc,ltc2497";
302*04b28a15SChanh Nguyen				reg = <0x14>;
303*04b28a15SChanh Nguyen				vref-supply = <&voltage_mon_reg>;
304*04b28a15SChanh Nguyen				#io-channel-cells = <1>;
305*04b28a15SChanh Nguyen			};
306*04b28a15SChanh Nguyen		};
307*04b28a15SChanh Nguyen
308*04b28a15SChanh Nguyen		i2c4_bus70_chn2: i2c@2 {
309*04b28a15SChanh Nguyen			#address-cells = <1>;
310*04b28a15SChanh Nguyen			#size-cells = <0>;
311*04b28a15SChanh Nguyen			reg = <0x2>;
312*04b28a15SChanh Nguyen
313*04b28a15SChanh Nguyen			adc_i2c_2: adc@14 {
314*04b28a15SChanh Nguyen				compatible = "lltc,ltc2497";
315*04b28a15SChanh Nguyen				reg = <0x14>;
316*04b28a15SChanh Nguyen				vref-supply = <&voltage_mon_reg>;
317*04b28a15SChanh Nguyen				#io-channel-cells = <1>;
318*04b28a15SChanh Nguyen			};
319*04b28a15SChanh Nguyen		};
320*04b28a15SChanh Nguyen	};
321*04b28a15SChanh Nguyen};
322*04b28a15SChanh Nguyen
323*04b28a15SChanh Nguyen&i2c5 {
324*04b28a15SChanh Nguyen	status = "okay";
325*04b28a15SChanh Nguyen	i2c-mux@70 {
326*04b28a15SChanh Nguyen		compatible = "nxp,pca9548";
327*04b28a15SChanh Nguyen		#address-cells = <1>;
328*04b28a15SChanh Nguyen		#size-cells = <0>;
329*04b28a15SChanh Nguyen		reg = <0x70>;
330*04b28a15SChanh Nguyen		i2c-mux-idle-disconnect;
331*04b28a15SChanh Nguyen
332*04b28a15SChanh Nguyen		i2c@0 {
333*04b28a15SChanh Nguyen			#address-cells = <1>;
334*04b28a15SChanh Nguyen			#size-cells = <0>;
335*04b28a15SChanh Nguyen			reg = <0x0>;
336*04b28a15SChanh Nguyen
337*04b28a15SChanh Nguyen			i2c-mux@71 {
338*04b28a15SChanh Nguyen				compatible = "nxp,pca9548";
339*04b28a15SChanh Nguyen				#address-cells = <1>;
340*04b28a15SChanh Nguyen				#size-cells = <0>;
341*04b28a15SChanh Nguyen				reg = <0x71>;
342*04b28a15SChanh Nguyen				i2c-mux-idle-disconnect;
343*04b28a15SChanh Nguyen
344*04b28a15SChanh Nguyen				nvmeslot_8: i2c@0 {
345*04b28a15SChanh Nguyen					#address-cells = <1>;
346*04b28a15SChanh Nguyen					#size-cells = <0>;
347*04b28a15SChanh Nguyen					reg = <0x0>;
348*04b28a15SChanh Nguyen				};
349*04b28a15SChanh Nguyen				nvmeslot_9: i2c@1 {
350*04b28a15SChanh Nguyen					#address-cells = <1>;
351*04b28a15SChanh Nguyen					#size-cells = <0>;
352*04b28a15SChanh Nguyen					reg = <0x1>;
353*04b28a15SChanh Nguyen				};
354*04b28a15SChanh Nguyen				nvmeslot_10: i2c@2 {
355*04b28a15SChanh Nguyen					#address-cells = <1>;
356*04b28a15SChanh Nguyen					#size-cells = <0>;
357*04b28a15SChanh Nguyen					reg = <0x2>;
358*04b28a15SChanh Nguyen				};
359*04b28a15SChanh Nguyen				nvmeslot_11: i2c@3 {
360*04b28a15SChanh Nguyen					#address-cells = <1>;
361*04b28a15SChanh Nguyen					#size-cells = <0>;
362*04b28a15SChanh Nguyen					reg = <0x3>;
363*04b28a15SChanh Nguyen				};
364*04b28a15SChanh Nguyen			};
365*04b28a15SChanh Nguyen
366*04b28a15SChanh Nguyen			i2c-mux@72 {
367*04b28a15SChanh Nguyen				compatible = "nxp,pca9548";
368*04b28a15SChanh Nguyen				#address-cells = <1>;
369*04b28a15SChanh Nguyen				#size-cells = <0>;
370*04b28a15SChanh Nguyen				reg = <0x72>;
371*04b28a15SChanh Nguyen				i2c-mux-idle-disconnect;
372*04b28a15SChanh Nguyen
373*04b28a15SChanh Nguyen				nvmeslot_4: i2c@4 {
374*04b28a15SChanh Nguyen					#address-cells = <1>;
375*04b28a15SChanh Nguyen					#size-cells = <0>;
376*04b28a15SChanh Nguyen					reg = <0x4>;
377*04b28a15SChanh Nguyen				};
378*04b28a15SChanh Nguyen				nvmeslot_5: i2c@5 {
379*04b28a15SChanh Nguyen					#address-cells = <1>;
380*04b28a15SChanh Nguyen					#size-cells = <0>;
381*04b28a15SChanh Nguyen					reg = <0x5>;
382*04b28a15SChanh Nguyen				};
383*04b28a15SChanh Nguyen				nvmeslot_6: i2c@6 {
384*04b28a15SChanh Nguyen					#address-cells = <1>;
385*04b28a15SChanh Nguyen					#size-cells = <0>;
386*04b28a15SChanh Nguyen					reg = <0x6>;
387*04b28a15SChanh Nguyen				};
388*04b28a15SChanh Nguyen				nvmeslot_7: i2c@7 {
389*04b28a15SChanh Nguyen					#address-cells = <1>;
390*04b28a15SChanh Nguyen					#size-cells = <0>;
391*04b28a15SChanh Nguyen					reg = <0x7>;
392*04b28a15SChanh Nguyen				};
393*04b28a15SChanh Nguyen			};
394*04b28a15SChanh Nguyen
395*04b28a15SChanh Nguyen			i2c-mux@74 {
396*04b28a15SChanh Nguyen				compatible = "nxp,pca9548";
397*04b28a15SChanh Nguyen				#address-cells = <1>;
398*04b28a15SChanh Nguyen				#size-cells = <0>;
399*04b28a15SChanh Nguyen				reg = <0x74>;
400*04b28a15SChanh Nguyen				i2c-mux-idle-disconnect;
401*04b28a15SChanh Nguyen
402*04b28a15SChanh Nguyen				ocpslot: i2c@0 {
403*04b28a15SChanh Nguyen					#address-cells = <1>;
404*04b28a15SChanh Nguyen					#size-cells = <0>;
405*04b28a15SChanh Nguyen					reg = <0x0>;
406*04b28a15SChanh Nguyen
407*04b28a15SChanh Nguyen					ocpslot_temp: temperature-sensor@1f {
408*04b28a15SChanh Nguyen						compatible = "ti,tmp421";
409*04b28a15SChanh Nguyen						reg = <0x1f>;
410*04b28a15SChanh Nguyen						#address-cells = <1>;
411*04b28a15SChanh Nguyen						#size-cells = <0>;
412*04b28a15SChanh Nguyen
413*04b28a15SChanh Nguyen						channel@0 {
414*04b28a15SChanh Nguyen							reg = <0x0>;
415*04b28a15SChanh Nguyen							status = "disabled";
416*04b28a15SChanh Nguyen						};
417*04b28a15SChanh Nguyen						channel@1 {
418*04b28a15SChanh Nguyen							reg = <0x1>;
419*04b28a15SChanh Nguyen						};
420*04b28a15SChanh Nguyen					};
421*04b28a15SChanh Nguyen				};
422*04b28a15SChanh Nguyen
423*04b28a15SChanh Nguyen				nvmeslot_0: i2c@4 {
424*04b28a15SChanh Nguyen					#address-cells = <1>;
425*04b28a15SChanh Nguyen					#size-cells = <0>;
426*04b28a15SChanh Nguyen					reg = <0x4>;
427*04b28a15SChanh Nguyen				};
428*04b28a15SChanh Nguyen				nvmeslot_1: i2c@5 {
429*04b28a15SChanh Nguyen					#address-cells = <1>;
430*04b28a15SChanh Nguyen					#size-cells = <0>;
431*04b28a15SChanh Nguyen					reg = <0x5>;
432*04b28a15SChanh Nguyen				};
433*04b28a15SChanh Nguyen				nvmeslot_2: i2c@6 {
434*04b28a15SChanh Nguyen					#address-cells = <1>;
435*04b28a15SChanh Nguyen					#size-cells = <0>;
436*04b28a15SChanh Nguyen					reg = <0x6>;
437*04b28a15SChanh Nguyen				};
438*04b28a15SChanh Nguyen				nvmeslot_3: i2c@7 {
439*04b28a15SChanh Nguyen					#address-cells = <1>;
440*04b28a15SChanh Nguyen					#size-cells = <0>;
441*04b28a15SChanh Nguyen					reg = <0x7>;
442*04b28a15SChanh Nguyen				};
443*04b28a15SChanh Nguyen			};
444*04b28a15SChanh Nguyen		};
445*04b28a15SChanh Nguyen	};
446*04b28a15SChanh Nguyen};
447*04b28a15SChanh Nguyen
448*04b28a15SChanh Nguyen&i2c6 {
449*04b28a15SChanh Nguyen	status = "okay";
450*04b28a15SChanh Nguyen
451*04b28a15SChanh Nguyen	rtc@51 {
452*04b28a15SChanh Nguyen		compatible = "nxp,pcf8563";
453*04b28a15SChanh Nguyen		reg = <0x51>;
454*04b28a15SChanh Nguyen	};
455*04b28a15SChanh Nguyen};
456*04b28a15SChanh Nguyen
457*04b28a15SChanh Nguyen&i2c7 {
458*04b28a15SChanh Nguyen	status = "okay";
459*04b28a15SChanh Nguyen
460*04b28a15SChanh Nguyen	temperature-sensor@4f {
461*04b28a15SChanh Nguyen		compatible = "ti,tmp75";
462*04b28a15SChanh Nguyen		reg = <0x4f>;
463*04b28a15SChanh Nguyen	};
464*04b28a15SChanh Nguyen};
465*04b28a15SChanh Nguyen
466*04b28a15SChanh Nguyen&i2c8 {
467*04b28a15SChanh Nguyen	status = "okay";
468*04b28a15SChanh Nguyen
469*04b28a15SChanh Nguyen	fan-controller@5c {
470*04b28a15SChanh Nguyen		compatible = "onnn,adt7462";
471*04b28a15SChanh Nguyen		reg = <0x5c>;
472*04b28a15SChanh Nguyen	};
473*04b28a15SChanh Nguyen};
474*04b28a15SChanh Nguyen
475*04b28a15SChanh Nguyen&i2c9 {
476*04b28a15SChanh Nguyen	status = "okay";
477*04b28a15SChanh Nguyen
478*04b28a15SChanh Nguyen	#address-cells = <1>;
479*04b28a15SChanh Nguyen	#size-cells = <0>;
480*04b28a15SChanh Nguyen
481*04b28a15SChanh Nguyen	eeprom@50 {
482*04b28a15SChanh Nguyen		compatible = "atmel,24c02";
483*04b28a15SChanh Nguyen		reg = <0x50>;
484*04b28a15SChanh Nguyen	};
485*04b28a15SChanh Nguyen
486*04b28a15SChanh Nguyen	eeprom@52 {
487*04b28a15SChanh Nguyen		compatible = "atmel,24c02";
488*04b28a15SChanh Nguyen		reg = <0x52>;
489*04b28a15SChanh Nguyen	};
490*04b28a15SChanh Nguyen
491*04b28a15SChanh Nguyen	temperature-sensor@18 {
492*04b28a15SChanh Nguyen		compatible = "jedec,jc-42.4-temp";
493*04b28a15SChanh Nguyen		reg = <0x18>;
494*04b28a15SChanh Nguyen	};
495*04b28a15SChanh Nguyen
496*04b28a15SChanh Nguyen	temperature-sensor@1a {
497*04b28a15SChanh Nguyen		compatible = "jedec,jc-42.4-temp";
498*04b28a15SChanh Nguyen		reg = <0x1a>;
499*04b28a15SChanh Nguyen	};
500*04b28a15SChanh Nguyen};
501*04b28a15SChanh Nguyen
502*04b28a15SChanh Nguyen&i2c10 {
503*04b28a15SChanh Nguyen	status = "okay";
504*04b28a15SChanh Nguyen};
505*04b28a15SChanh Nguyen
506*04b28a15SChanh Nguyen&i2c11 {
507*04b28a15SChanh Nguyen	status = "okay";
508*04b28a15SChanh Nguyen	ssif-bmc@10 {
509*04b28a15SChanh Nguyen		compatible = "ssif-bmc";
510*04b28a15SChanh Nguyen		reg = <0x10>;
511*04b28a15SChanh Nguyen	};
512*04b28a15SChanh Nguyen};
513*04b28a15SChanh Nguyen
514*04b28a15SChanh Nguyen&i2c14 {
515*04b28a15SChanh Nguyen	status = "okay";
516*04b28a15SChanh Nguyen	eeprom@50 {
517*04b28a15SChanh Nguyen		compatible = "atmel,24c64";
518*04b28a15SChanh Nguyen		reg = <0x50>;
519*04b28a15SChanh Nguyen		pagesize = <32>;
520*04b28a15SChanh Nguyen	};
521*04b28a15SChanh Nguyen
522*04b28a15SChanh Nguyen	bmc_ast2600_cpu: temperature-sensor@48 {
523*04b28a15SChanh Nguyen		compatible = "ti,tmp75";
524*04b28a15SChanh Nguyen		reg = <0x48>;
525*04b28a15SChanh Nguyen	};
526*04b28a15SChanh Nguyen};
527*04b28a15SChanh Nguyen
528*04b28a15SChanh Nguyen&i2c15 {
529*04b28a15SChanh Nguyen	status = "okay";
530*04b28a15SChanh Nguyen	gpio_expander1: gpio-expander@22 {
531*04b28a15SChanh Nguyen		compatible = "nxp,pca9535";
532*04b28a15SChanh Nguyen		reg = <0x22>;
533*04b28a15SChanh Nguyen		gpio-controller;
534*04b28a15SChanh Nguyen		#gpio-cells = <2>;
535*04b28a15SChanh Nguyen		gpio-line-names =
536*04b28a15SChanh Nguyen			"presence-ocp1","presence-ocp2",
537*04b28a15SChanh Nguyen			"","",
538*04b28a15SChanh Nguyen			"","",
539*04b28a15SChanh Nguyen			"","",
540*04b28a15SChanh Nguyen			"","",
541*04b28a15SChanh Nguyen			"","",
542*04b28a15SChanh Nguyen			"","",
543*04b28a15SChanh Nguyen			"","";
544*04b28a15SChanh Nguyen	};
545*04b28a15SChanh Nguyen};
546*04b28a15SChanh Nguyen
547*04b28a15SChanh Nguyen&adc0 {
548*04b28a15SChanh Nguyen	status = "okay";
549*04b28a15SChanh Nguyen
550*04b28a15SChanh Nguyen	pinctrl-names = "default";
551*04b28a15SChanh Nguyen	pinctrl-0 = <&pinctrl_adc0_default &pinctrl_adc1_default
552*04b28a15SChanh Nguyen		&pinctrl_adc2_default>;
553*04b28a15SChanh Nguyen};
554*04b28a15SChanh Nguyen
555*04b28a15SChanh Nguyen&vhub {
556*04b28a15SChanh Nguyen	status = "okay";
557*04b28a15SChanh Nguyen};
558*04b28a15SChanh Nguyen
559*04b28a15SChanh Nguyen&video {
560*04b28a15SChanh Nguyen	status = "okay";
561*04b28a15SChanh Nguyen	memory-region = <&video_engine_memory>;
562*04b28a15SChanh Nguyen};
563*04b28a15SChanh Nguyen
564*04b28a15SChanh Nguyen&gpio0 {
565*04b28a15SChanh Nguyen	gpio-line-names =
566*04b28a15SChanh Nguyen	/*A0-A7*/	"","","","","cpu-type-detect","i2c2-reset-n","i2c6-reset-n","i2c5-reset-n",
567*04b28a15SChanh Nguyen	/*B0-B7*/	"","","","","host0-sysreset-n","host0-pmin-n","fru-rd-complete",
568*04b28a15SChanh Nguyen			"chassis-id-sel",
569*04b28a15SChanh Nguyen	/*C0-C7*/	"s0-vrd-fault-n","","bmc-debug-mode","","cpld-3v3-irq-n","","vrd-sel",
570*04b28a15SChanh Nguyen			"spd-sel",
571*04b28a15SChanh Nguyen	/*D0-D7*/	"presence-ps0","presence-ps1","hsc-12vmain-alt2-n","ext-high-temp-n",
572*04b28a15SChanh Nguyen			"","","","",
573*04b28a15SChanh Nguyen	/*E0-E7*/	"eth-phy-rst-n","eth-phy-int-n","","","","","","",
574*04b28a15SChanh Nguyen	/*F0-F7*/	"s0-pcp-oc-warn-n","","power-chassis-control",
575*04b28a15SChanh Nguyen			"cpu-bios-recover","s0-heartbeat","hs-scout-proc-hot","s0-vr-hot-n","",
576*04b28a15SChanh Nguyen	/*G0-G7*/	"","","hsc-12vmain-alt1-n","","","bp-cpld-program-en","led-fp-sta-gr",
577*04b28a15SChanh Nguyen			"led-fp-sta-amb",
578*04b28a15SChanh Nguyen	/*H0-H7*/	"jtag-program-sel","jtag-cmpl2","wd-disable-n","power-chassis-good","","",
579*04b28a15SChanh Nguyen			"","",
580*04b28a15SChanh Nguyen	/*I0-I7*/	"","","","","","","power-button","rtc-battery-voltage-read-enable",
581*04b28a15SChanh Nguyen	/*J0-J7*/	"","","","","","","","",
582*04b28a15SChanh Nguyen	/*K0-K7*/	"","","","","","","","",
583*04b28a15SChanh Nguyen	/*L0-L7*/	"","","","","reset-button","","","",
584*04b28a15SChanh Nguyen	/*M0-M7*/	"nmi-n","s0-ddr-save","soc-spi-nor-access","presence-cpu0","s0-rtc-lock",
585*04b28a15SChanh Nguyen			"","","",
586*04b28a15SChanh Nguyen	/*N0-N7*/	"hpm-fw-recovery","hpm-stby-rst-n","jtag-sel-s0","led-sw-hb",
587*04b28a15SChanh Nguyen			"jtag-dbgr-prsnt-n","","","",
588*04b28a15SChanh Nguyen	/*O0-O7*/	"","","","","","","","",
589*04b28a15SChanh Nguyen	/*P0-P7*/	"ps0-ac-loss-n","ps1-ac-loss-n","","","led-fault","user-mode","jtag-srst-n",
590*04b28a15SChanh Nguyen			"led-bmc-hb",
591*04b28a15SChanh Nguyen	/*Q0-Q7*/	"","","","","","","","",
592*04b28a15SChanh Nguyen	/*R0-R7*/	"","","","","","","","",
593*04b28a15SChanh Nguyen	/*S0-S7*/	"","","identify-button","led-identify","","spi-nor-access","host0-ready","",
594*04b28a15SChanh Nguyen	/*T0-T7*/	"","","","","","","","",
595*04b28a15SChanh Nguyen	/*U0-U7*/	"","","","","","","","",
596*04b28a15SChanh Nguyen	/*V0-V7*/	"s0-hightemp-n","s0-fault-alert","s0-sys-auth-failure-n",
597*04b28a15SChanh Nguyen			"host0-reboot-ack-n","s0-fw-boot-ok","host0-shd-req-n",
598*04b28a15SChanh Nguyen			"host0-shd-ack-n","s0-overtemp-n",
599*04b28a15SChanh Nguyen	/*W0-W7*/	"ocp-aux-pwren","ocp-main-pwren","ocp-pgood","",
600*04b28a15SChanh Nguyen			"bmc-ok","bmc-ready","spi0-program-sel","spi0-backup-sel",
601*04b28a15SChanh Nguyen	/*X0-X7*/	"","","","","","","","",
602*04b28a15SChanh Nguyen	/*Y0-Y7*/	"","","","vrd-prg-en-n","","","","host0-special-boot",
603*04b28a15SChanh Nguyen	/*Z0-Z7*/	"","ps0-pgood","ps1-pgood","","","","","";
604*04b28a15SChanh Nguyen
605*04b28a15SChanh Nguyen	ocp-aux-pwren-hog {
606*04b28a15SChanh Nguyen		gpio-hog;
607*04b28a15SChanh Nguyen		gpios = <ASPEED_GPIO(W, 0) GPIO_ACTIVE_HIGH>;
608*04b28a15SChanh Nguyen		output-high;
609*04b28a15SChanh Nguyen		line-name = "ocp-aux-pwren";
610*04b28a15SChanh Nguyen	};
611*04b28a15SChanh Nguyen
612*04b28a15SChanh Nguyen};
613*04b28a15SChanh Nguyen
614*04b28a15SChanh Nguyen&gpio1 {
615*04b28a15SChanh Nguyen	gpio-line-names =
616*04b28a15SChanh Nguyen	/*18A0-18A7*/	"","","","","","","","",
617*04b28a15SChanh Nguyen	/*18B0-18B7*/	"","","","","s0-soc-pgood","vga-ft-press-n","emmc-rst-n","s01-uart1-sel",
618*04b28a15SChanh Nguyen	/*18C0-18C7*/	"uart1-mode0","uart1-mode1","uart2-mode0","uart2-mode1",
619*04b28a15SChanh Nguyen			"","","","",
620*04b28a15SChanh Nguyen	/*18D0-18D7*/	"","","","","","","","",
621*04b28a15SChanh Nguyen	/*18E0-18E3*/	"","","","";
622*04b28a15SChanh Nguyen};
623