xref: /OK3568_Linux_fs/kernel/arch/arm/boot/dts/aspeed-bmc-opp-lanyang.dts (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun// SPDX-License-Identifier: GPL-2.0+
2*4882a593Smuzhiyun// Copyright (c) 2018 Inventec Corporation
3*4882a593Smuzhiyun/dts-v1/;
4*4882a593Smuzhiyun
5*4882a593Smuzhiyun#include "aspeed-g5.dtsi"
6*4882a593Smuzhiyun#include <dt-bindings/gpio/aspeed-gpio.h>
7*4882a593Smuzhiyun
8*4882a593Smuzhiyun/ {
9*4882a593Smuzhiyun	model = "Lanyang BMC";
10*4882a593Smuzhiyun	compatible = "inventec,lanyang-bmc", "aspeed,ast2500";
11*4882a593Smuzhiyun
12*4882a593Smuzhiyun	chosen {
13*4882a593Smuzhiyun		stdout-path = &uart5;
14*4882a593Smuzhiyun		bootargs = "console=ttyS4,115200 earlyprintk";
15*4882a593Smuzhiyun	};
16*4882a593Smuzhiyun
17*4882a593Smuzhiyun	memory@80000000 {
18*4882a593Smuzhiyun		reg = <0x80000000 0x40000000>;
19*4882a593Smuzhiyun	};
20*4882a593Smuzhiyun
21*4882a593Smuzhiyun	reserved-memory {
22*4882a593Smuzhiyun		#address-cells = <1>;
23*4882a593Smuzhiyun		#size-cells = <1>;
24*4882a593Smuzhiyun		ranges;
25*4882a593Smuzhiyun
26*4882a593Smuzhiyun		flash_memory: region@98000000 {
27*4882a593Smuzhiyun			no-map;
28*4882a593Smuzhiyun			reg = <0x98000000 0x04000000>; /* 64M */
29*4882a593Smuzhiyun		};
30*4882a593Smuzhiyun	};
31*4882a593Smuzhiyun
32*4882a593Smuzhiyun	leds {
33*4882a593Smuzhiyun		compatible = "gpio-leds";
34*4882a593Smuzhiyun
35*4882a593Smuzhiyun		sys_boot_status {
36*4882a593Smuzhiyun			label = "System_boot_status";
37*4882a593Smuzhiyun			gpios = <&gpio ASPEED_GPIO(B, 6) GPIO_ACTIVE_LOW>;
38*4882a593Smuzhiyun		};
39*4882a593Smuzhiyun
40*4882a593Smuzhiyun		attention {
41*4882a593Smuzhiyun			label = "Attention_locator";
42*4882a593Smuzhiyun			gpios = <&gpio ASPEED_GPIO(B, 7) GPIO_ACTIVE_HIGH>;
43*4882a593Smuzhiyun		};
44*4882a593Smuzhiyun
45*4882a593Smuzhiyun		plt_fault {
46*4882a593Smuzhiyun			label = "Platform_fault";
47*4882a593Smuzhiyun			gpios = <&gpio ASPEED_GPIO(B, 1) GPIO_ACTIVE_HIGH>;
48*4882a593Smuzhiyun		};
49*4882a593Smuzhiyun
50*4882a593Smuzhiyun		hdd_fault {
51*4882a593Smuzhiyun			label = "Onboard_drive_fault";
52*4882a593Smuzhiyun			gpios = <&gpio ASPEED_GPIO(B, 3) GPIO_ACTIVE_HIGH>;
53*4882a593Smuzhiyun		};
54*4882a593Smuzhiyun		bmc_err {
55*4882a593Smuzhiyun			lable = "BMC_fault";
56*4882a593Smuzhiyun			gpios = <&gpio ASPEED_GPIO(H, 6) GPIO_ACTIVE_HIGH>;
57*4882a593Smuzhiyun		};
58*4882a593Smuzhiyun
59*4882a593Smuzhiyun		sys_err {
60*4882a593Smuzhiyun			lable = "Sys_fault";
61*4882a593Smuzhiyun			gpios = <&gpio ASPEED_GPIO(H, 7) GPIO_ACTIVE_HIGH>;
62*4882a593Smuzhiyun		};
63*4882a593Smuzhiyun	};
64*4882a593Smuzhiyun
65*4882a593Smuzhiyun	fsi: gpio-fsi {
66*4882a593Smuzhiyun		compatible = "fsi-master-gpio", "fsi-master";
67*4882a593Smuzhiyun		#address-cells = <2>;
68*4882a593Smuzhiyun		#size-cells = <0>;
69*4882a593Smuzhiyun
70*4882a593Smuzhiyun		clock-gpios = <&gpio ASPEED_GPIO(J, 0) GPIO_ACTIVE_HIGH>;
71*4882a593Smuzhiyun		data-gpios = <&gpio ASPEED_GPIO(J, 1) GPIO_ACTIVE_HIGH>;
72*4882a593Smuzhiyun		trans-gpios = <&gpio ASPEED_GPIO(D, 5) GPIO_ACTIVE_HIGH>;
73*4882a593Smuzhiyun		enable-gpios = <&gpio ASPEED_GPIO(D, 0) GPIO_ACTIVE_HIGH>;
74*4882a593Smuzhiyun		mux-gpios = <&gpio ASPEED_GPIO(H, 2) GPIO_ACTIVE_HIGH>;
75*4882a593Smuzhiyun	};
76*4882a593Smuzhiyun
77*4882a593Smuzhiyun	iio-hwmon {
78*4882a593Smuzhiyun		compatible = "iio-hwmon";
79*4882a593Smuzhiyun		io-channels = <&adc 0>, <&adc 1>, <&adc 2>, <&adc 3>,
80*4882a593Smuzhiyun			<&adc 4>, <&adc 5>, <&adc 6>, <&adc 7>,
81*4882a593Smuzhiyun			<&adc 8>, <&adc 9>, <&adc 10>, <&adc 11>,
82*4882a593Smuzhiyun			<&adc 13>, <&adc 14>, <&adc 15>;
83*4882a593Smuzhiyun	};
84*4882a593Smuzhiyun
85*4882a593Smuzhiyun	iio-hwmon-battery {
86*4882a593Smuzhiyun		compatible = "iio-hwmon";
87*4882a593Smuzhiyun		io-channels = <&adc 12>;
88*4882a593Smuzhiyun	};
89*4882a593Smuzhiyun};
90*4882a593Smuzhiyun
91*4882a593Smuzhiyun&pwm_tacho {
92*4882a593Smuzhiyun	status = "okay";
93*4882a593Smuzhiyun	pinctrl-names = "default";
94*4882a593Smuzhiyun	pinctrl-0 = <&pinctrl_pwm0_default &pinctrl_pwm1_default
95*4882a593Smuzhiyun		&pinctrl_pwm2_default &pinctrl_pwm3_default>;
96*4882a593Smuzhiyun
97*4882a593Smuzhiyun	fan@0 {
98*4882a593Smuzhiyun		reg = <0x00>;
99*4882a593Smuzhiyun		aspeed,fan-tach-ch = /bits/ 8 <0x00>;
100*4882a593Smuzhiyun	};
101*4882a593Smuzhiyun
102*4882a593Smuzhiyun	fan@1 {
103*4882a593Smuzhiyun		reg = <0x01>;
104*4882a593Smuzhiyun		aspeed,fan-tach-ch = /bits/ 8 <0x01>;
105*4882a593Smuzhiyun	};
106*4882a593Smuzhiyun
107*4882a593Smuzhiyun	fan@2 {
108*4882a593Smuzhiyun		reg = <0x02>;
109*4882a593Smuzhiyun		aspeed,fan-tach-ch = /bits/ 8 <0x02>;
110*4882a593Smuzhiyun	};
111*4882a593Smuzhiyun
112*4882a593Smuzhiyun	fan@3 {
113*4882a593Smuzhiyun		reg = <0x03>;
114*4882a593Smuzhiyun		aspeed,fan-tach-ch = /bits/ 8 <0x03>;
115*4882a593Smuzhiyun	};
116*4882a593Smuzhiyun};
117*4882a593Smuzhiyun
118*4882a593Smuzhiyun&fmc {
119*4882a593Smuzhiyun	status = "okay";
120*4882a593Smuzhiyun	flash@0 {
121*4882a593Smuzhiyun		status = "okay";
122*4882a593Smuzhiyun		m25p,fast-read;
123*4882a593Smuzhiyun		label = "bmc";
124*4882a593Smuzhiyun#include "openbmc-flash-layout.dtsi"
125*4882a593Smuzhiyun	};
126*4882a593Smuzhiyun};
127*4882a593Smuzhiyun
128*4882a593Smuzhiyun&spi1 {
129*4882a593Smuzhiyun	status = "okay";
130*4882a593Smuzhiyun	pinctrl-names = "default";
131*4882a593Smuzhiyun	pinctrl-0 = <&pinctrl_spi1_default>;
132*4882a593Smuzhiyun
133*4882a593Smuzhiyun	flash@0 {
134*4882a593Smuzhiyun		status = "okay";
135*4882a593Smuzhiyun		label = "pnor";
136*4882a593Smuzhiyun		m25p,fast-read;
137*4882a593Smuzhiyun	};
138*4882a593Smuzhiyun};
139*4882a593Smuzhiyun
140*4882a593Smuzhiyun&spi2 {
141*4882a593Smuzhiyun	status = "okay";
142*4882a593Smuzhiyun	pinctrl-names = "default";
143*4882a593Smuzhiyun	pinctrl-0 = <&pinctrl_spi2ck_default
144*4882a593Smuzhiyun		     &pinctrl_spi2cs0_default
145*4882a593Smuzhiyun		     &pinctrl_spi2cs1_default
146*4882a593Smuzhiyun		     &pinctrl_spi2miso_default
147*4882a593Smuzhiyun		     &pinctrl_spi2mosi_default>;
148*4882a593Smuzhiyun
149*4882a593Smuzhiyun	flash@0 {
150*4882a593Smuzhiyun		status = "okay";
151*4882a593Smuzhiyun	};
152*4882a593Smuzhiyun};
153*4882a593Smuzhiyun
154*4882a593Smuzhiyun&uart1 {
155*4882a593Smuzhiyun	status = "okay";
156*4882a593Smuzhiyun	pinctrl-names = "default";
157*4882a593Smuzhiyun	pinctrl-0 = <&pinctrl_txd1_default
158*4882a593Smuzhiyun		     &pinctrl_rxd1_default>;
159*4882a593Smuzhiyun};
160*4882a593Smuzhiyun
161*4882a593Smuzhiyun&lpc_ctrl {
162*4882a593Smuzhiyun	status = "okay";
163*4882a593Smuzhiyun	memory-region = <&flash_memory>;
164*4882a593Smuzhiyun	flash = <&spi1>;
165*4882a593Smuzhiyun};
166*4882a593Smuzhiyun
167*4882a593Smuzhiyun&lpc_snoop {
168*4882a593Smuzhiyun	status = "okay";
169*4882a593Smuzhiyun	snoop-ports = <0x80>;
170*4882a593Smuzhiyun};
171*4882a593Smuzhiyun
172*4882a593Smuzhiyun&uart5 {
173*4882a593Smuzhiyun	status = "okay";
174*4882a593Smuzhiyun};
175*4882a593Smuzhiyun
176*4882a593Smuzhiyun&mac0 {
177*4882a593Smuzhiyun	status = "okay";
178*4882a593Smuzhiyun
179*4882a593Smuzhiyun	pinctrl-names = "default";
180*4882a593Smuzhiyun	pinctrl-0 = <&pinctrl_rmii1_default>;
181*4882a593Smuzhiyun	clocks = <&syscon ASPEED_CLK_GATE_MAC1CLK>,
182*4882a593Smuzhiyun		 <&syscon ASPEED_CLK_MAC1RCLK>;
183*4882a593Smuzhiyun	clock-names = "MACCLK", "RCLK";
184*4882a593Smuzhiyun	use-ncsi;
185*4882a593Smuzhiyun};
186*4882a593Smuzhiyun
187*4882a593Smuzhiyun&mac1 {
188*4882a593Smuzhiyun	status = "okay";
189*4882a593Smuzhiyun
190*4882a593Smuzhiyun	pinctrl-names = "default";
191*4882a593Smuzhiyun	pinctrl-0 = <&pinctrl_rgmii2_default &pinctrl_mdio2_default>;
192*4882a593Smuzhiyun};
193*4882a593Smuzhiyun
194*4882a593Smuzhiyun&i2c0 {
195*4882a593Smuzhiyun	status = "okay";
196*4882a593Smuzhiyun
197*4882a593Smuzhiyun	eeprom@55 {
198*4882a593Smuzhiyun		compatible = "atmel,24c64";
199*4882a593Smuzhiyun		reg = <0x55>;
200*4882a593Smuzhiyun		pagesize = <32>;
201*4882a593Smuzhiyun	};
202*4882a593Smuzhiyun
203*4882a593Smuzhiyun	rtc@68 {
204*4882a593Smuzhiyun		compatible = "nxp,pcf8523";
205*4882a593Smuzhiyun		reg = <0x68>;
206*4882a593Smuzhiyun	};
207*4882a593Smuzhiyun
208*4882a593Smuzhiyun	tmp75@48 {
209*4882a593Smuzhiyun		compatible = "ti,tmp75";
210*4882a593Smuzhiyun		reg = <0x48>;
211*4882a593Smuzhiyun	};
212*4882a593Smuzhiyun};
213*4882a593Smuzhiyun
214*4882a593Smuzhiyun&i2c1 {
215*4882a593Smuzhiyun	status = "okay";
216*4882a593Smuzhiyun};
217*4882a593Smuzhiyun
218*4882a593Smuzhiyun&i2c2 {
219*4882a593Smuzhiyun	status = "okay";
220*4882a593Smuzhiyun};
221*4882a593Smuzhiyun
222*4882a593Smuzhiyun&i2c3 {
223*4882a593Smuzhiyun	status = "okay";
224*4882a593Smuzhiyun};
225*4882a593Smuzhiyun
226*4882a593Smuzhiyun&i2c4 {
227*4882a593Smuzhiyun	status = "okay";
228*4882a593Smuzhiyun};
229*4882a593Smuzhiyun
230*4882a593Smuzhiyun&i2c5 {
231*4882a593Smuzhiyun	status = "okay";
232*4882a593Smuzhiyun};
233*4882a593Smuzhiyun
234*4882a593Smuzhiyun&i2c6 {
235*4882a593Smuzhiyun	status = "okay";
236*4882a593Smuzhiyun};
237*4882a593Smuzhiyun
238*4882a593Smuzhiyun&i2c7 {
239*4882a593Smuzhiyun	status = "okay";
240*4882a593Smuzhiyun};
241*4882a593Smuzhiyun
242*4882a593Smuzhiyun&i2c8 {
243*4882a593Smuzhiyun	status = "okay";
244*4882a593Smuzhiyun};
245*4882a593Smuzhiyun
246*4882a593Smuzhiyun&i2c9 {
247*4882a593Smuzhiyun	status = "okay";
248*4882a593Smuzhiyun};
249*4882a593Smuzhiyun
250*4882a593Smuzhiyun&i2c10 {
251*4882a593Smuzhiyun	status = "okay";
252*4882a593Smuzhiyun};
253*4882a593Smuzhiyun
254*4882a593Smuzhiyun&i2c11 {
255*4882a593Smuzhiyun	status = "okay";
256*4882a593Smuzhiyun};
257*4882a593Smuzhiyun
258*4882a593Smuzhiyun&vuart {
259*4882a593Smuzhiyun	status = "okay";
260*4882a593Smuzhiyun};
261*4882a593Smuzhiyun
262*4882a593Smuzhiyun&gfx {
263*4882a593Smuzhiyun	status = "okay";
264*4882a593Smuzhiyun};
265*4882a593Smuzhiyun
266*4882a593Smuzhiyun&pinctrl {
267*4882a593Smuzhiyun	aspeed,external-nodes = <&gfx &lhc>;
268*4882a593Smuzhiyun};
269*4882a593Smuzhiyun
270*4882a593Smuzhiyun&gpio {
271*4882a593Smuzhiyun	pin_gpio_b0 {
272*4882a593Smuzhiyun		gpio-hog;
273*4882a593Smuzhiyun		gpios = <ASPEED_GPIO(B, 0) GPIO_ACTIVE_HIGH>;
274*4882a593Smuzhiyun		output-high;
275*4882a593Smuzhiyun		line-name = "BMC_HDD1_PWR_EN";
276*4882a593Smuzhiyun	};
277*4882a593Smuzhiyun
278*4882a593Smuzhiyun	pin_gpio_b5 {
279*4882a593Smuzhiyun		gpio-hog;
280*4882a593Smuzhiyun		gpios = <ASPEED_GPIO(B, 5) GPIO_ACTIVE_HIGH>;
281*4882a593Smuzhiyun		input;
282*4882a593Smuzhiyun		line-name = "BMC_USB1_OCI2";
283*4882a593Smuzhiyun	};
284*4882a593Smuzhiyun
285*4882a593Smuzhiyun	pin_gpio_h5 {
286*4882a593Smuzhiyun		gpio-hog;
287*4882a593Smuzhiyun		gpios = <ASPEED_GPIO(H, 5) GPIO_ACTIVE_HIGH>;
288*4882a593Smuzhiyun		output-high;
289*4882a593Smuzhiyun		line-name = "BMC_CP0_PERST_ENABLE_R";
290*4882a593Smuzhiyun	};
291*4882a593Smuzhiyun
292*4882a593Smuzhiyun	pin_gpio_z2 {
293*4882a593Smuzhiyun		gpio-hog;
294*4882a593Smuzhiyun		gpios = <ASPEED_GPIO(Z, 2) GPIO_ACTIVE_HIGH>;
295*4882a593Smuzhiyun		output-high;
296*4882a593Smuzhiyun		line-name = "RST_PCA9546_U177_N";
297*4882a593Smuzhiyun	};
298*4882a593Smuzhiyun
299*4882a593Smuzhiyun	pin_gpio_aa6 {
300*4882a593Smuzhiyun		gpio-hog;
301*4882a593Smuzhiyun		gpios = <ASPEED_GPIO(AA, 6) GPIO_ACTIVE_HIGH>;
302*4882a593Smuzhiyun		output-high;
303*4882a593Smuzhiyun		line-name = "BMC_CP0_RESET_N";
304*4882a593Smuzhiyun	};
305*4882a593Smuzhiyun
306*4882a593Smuzhiyun	pin_gpio_aa7 {
307*4882a593Smuzhiyun		gpio-hog;
308*4882a593Smuzhiyun		gpios = <ASPEED_GPIO(AA, 7) GPIO_ACTIVE_HIGH>;
309*4882a593Smuzhiyun		output-high;
310*4882a593Smuzhiyun		line-name = "BMC_TPM_RESET_N";
311*4882a593Smuzhiyun	};
312*4882a593Smuzhiyun
313*4882a593Smuzhiyun	pin_gpio_ab0 {
314*4882a593Smuzhiyun		gpio-hog;
315*4882a593Smuzhiyun		gpios = <ASPEED_GPIO(AB, 0) GPIO_ACTIVE_LOW>;
316*4882a593Smuzhiyun		output-high;
317*4882a593Smuzhiyun		line-name = "BMC_USB_PWRON_N";
318*4882a593Smuzhiyun	};
319*4882a593Smuzhiyun};
320*4882a593Smuzhiyun
321*4882a593Smuzhiyun&ibt {
322*4882a593Smuzhiyun	status = "okay";
323*4882a593Smuzhiyun};
324*4882a593Smuzhiyun
325*4882a593Smuzhiyun&adc {
326*4882a593Smuzhiyun	status = "okay";
327*4882a593Smuzhiyun};
328*4882a593Smuzhiyun
329*4882a593Smuzhiyun#include "ibm-power9-dual.dtsi"
330