xref: /freebsd-src/sys/contrib/device-tree/src/arm/aspeed/aspeed-bmc-facebook-yosemitev2.dts (revision 7d0873ebb83b19ba1e8a89e679470d885efe12e3)
1f126890aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0-or-later
2f126890aSEmmanuel Vadot// Copyright (c) 2018 Facebook Inc.
3f126890aSEmmanuel Vadot/dts-v1/;
4f126890aSEmmanuel Vadot#include "aspeed-g5.dtsi"
5f126890aSEmmanuel Vadot#include <dt-bindings/i2c/i2c.h>
6f126890aSEmmanuel Vadot
7f126890aSEmmanuel Vadot/ {
8f126890aSEmmanuel Vadot	model = "Facebook Yosemitev2 BMC";
9f126890aSEmmanuel Vadot	compatible = "facebook,yosemitev2-bmc", "aspeed,ast2500";
10f126890aSEmmanuel Vadot	aliases {
11f126890aSEmmanuel Vadot		serial4 = &uart5;
12f126890aSEmmanuel Vadot	};
13f126890aSEmmanuel Vadot	chosen {
14f126890aSEmmanuel Vadot		stdout-path = &uart5;
15f126890aSEmmanuel Vadot	};
16f126890aSEmmanuel Vadot
17f126890aSEmmanuel Vadot	memory@80000000 {
18f126890aSEmmanuel Vadot		reg = <0x80000000 0x20000000>;
19f126890aSEmmanuel Vadot	};
20f126890aSEmmanuel Vadot
21f126890aSEmmanuel Vadot	iio-hwmon {
22f126890aSEmmanuel Vadot		// VOLATAGE SENSOR
23f126890aSEmmanuel Vadot		compatible = "iio-hwmon";
24f126890aSEmmanuel Vadot		io-channels = <&adc 0> , <&adc 1> , <&adc 2> ,  <&adc 3> ,
25f126890aSEmmanuel Vadot		<&adc 4> , <&adc 5> , <&adc 6> ,  <&adc 7> ,
26f126890aSEmmanuel Vadot		<&adc 8> , <&adc 9> , <&adc 10>, <&adc 11> ,
27f126890aSEmmanuel Vadot		<&adc 12> , <&adc 13> , <&adc 14> , <&adc 15> ;
28f126890aSEmmanuel Vadot	};
29f126890aSEmmanuel Vadot};
30f126890aSEmmanuel Vadot
31f126890aSEmmanuel Vadot&fmc {
32f126890aSEmmanuel Vadot	status = "okay";
33f126890aSEmmanuel Vadot	flash@0 {
34f126890aSEmmanuel Vadot		status = "okay";
35f126890aSEmmanuel Vadot		m25p,fast-read;
36f126890aSEmmanuel Vadot#include "openbmc-flash-layout.dtsi"
37f126890aSEmmanuel Vadot	};
38f126890aSEmmanuel Vadot};
39f126890aSEmmanuel Vadot
40f126890aSEmmanuel Vadot&spi1 {
41f126890aSEmmanuel Vadot	status = "okay";
42f126890aSEmmanuel Vadot	pinctrl-names = "default";
43f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_spi1_default>;
44f126890aSEmmanuel Vadot	flash@0 {
45f126890aSEmmanuel Vadot		status = "okay";
46f126890aSEmmanuel Vadot		m25p,fast-read;
47f126890aSEmmanuel Vadot		label = "pnor";
48f126890aSEmmanuel Vadot	};
49f126890aSEmmanuel Vadot};
50f126890aSEmmanuel Vadot&uart1 {
51f126890aSEmmanuel Vadot	// Host1 Console
52f126890aSEmmanuel Vadot	status = "okay";
53f126890aSEmmanuel Vadot	pinctrl-names = "default";
54f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_txd1_default
55f126890aSEmmanuel Vadot		     &pinctrl_rxd1_default>;
56f126890aSEmmanuel Vadot};
57f126890aSEmmanuel Vadot
58f126890aSEmmanuel Vadot&uart2 {
59f126890aSEmmanuel Vadot	// Host2 Console
60f126890aSEmmanuel Vadot	status = "okay";
61f126890aSEmmanuel Vadot	pinctrl-names = "default";
62f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_txd2_default
63f126890aSEmmanuel Vadot		     &pinctrl_rxd2_default>;
64f126890aSEmmanuel Vadot
65f126890aSEmmanuel Vadot};
66f126890aSEmmanuel Vadot
67f126890aSEmmanuel Vadot&uart3 {
68f126890aSEmmanuel Vadot	// Host3 Console
69f126890aSEmmanuel Vadot	status = "okay";
70f126890aSEmmanuel Vadot	pinctrl-names = "default";
71f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_txd3_default
72f126890aSEmmanuel Vadot		     &pinctrl_rxd3_default>;
73f126890aSEmmanuel Vadot};
74f126890aSEmmanuel Vadot
75f126890aSEmmanuel Vadot&uart4 {
76f126890aSEmmanuel Vadot	// Host4 Console
77f126890aSEmmanuel Vadot	status = "okay";
78f126890aSEmmanuel Vadot	pinctrl-names = "default";
79f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_txd4_default
80f126890aSEmmanuel Vadot		     &pinctrl_rxd4_default>;
81f126890aSEmmanuel Vadot};
82f126890aSEmmanuel Vadot
83f126890aSEmmanuel Vadot&uart5 {
84f126890aSEmmanuel Vadot	// BMC Console
85f126890aSEmmanuel Vadot	status = "okay";
86f126890aSEmmanuel Vadot};
87f126890aSEmmanuel Vadot
88f126890aSEmmanuel Vadot&vuart {
89f126890aSEmmanuel Vadot	// Virtual UART
90f126890aSEmmanuel Vadot	status = "okay";
91f126890aSEmmanuel Vadot};
92f126890aSEmmanuel Vadot
93f126890aSEmmanuel Vadot&mac0 {
94f126890aSEmmanuel Vadot	status = "okay";
95f126890aSEmmanuel Vadot	pinctrl-names = "default";
96f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_rmii1_default>;
97f126890aSEmmanuel Vadot	use-ncsi;
98*7d0873ebSEmmanuel Vadot	mellanox,multi-host;
99f126890aSEmmanuel Vadot};
100f126890aSEmmanuel Vadot
101f126890aSEmmanuel Vadot&adc {
102f126890aSEmmanuel Vadot	status = "okay";
103f126890aSEmmanuel Vadot	pinctrl-names = "default";
104f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_adc0_default
105f126890aSEmmanuel Vadot			&pinctrl_adc1_default
106f126890aSEmmanuel Vadot			&pinctrl_adc2_default
107f126890aSEmmanuel Vadot			&pinctrl_adc3_default
108f126890aSEmmanuel Vadot			&pinctrl_adc4_default
109f126890aSEmmanuel Vadot			&pinctrl_adc5_default
110f126890aSEmmanuel Vadot			&pinctrl_adc6_default
111f126890aSEmmanuel Vadot			&pinctrl_adc7_default
112f126890aSEmmanuel Vadot			&pinctrl_adc8_default
113f126890aSEmmanuel Vadot			&pinctrl_adc9_default
114f126890aSEmmanuel Vadot			&pinctrl_adc10_default
115f126890aSEmmanuel Vadot			&pinctrl_adc11_default
116f126890aSEmmanuel Vadot			&pinctrl_adc12_default
117f126890aSEmmanuel Vadot			&pinctrl_adc13_default
118f126890aSEmmanuel Vadot			&pinctrl_adc14_default
119f126890aSEmmanuel Vadot			&pinctrl_adc15_default>;
120f126890aSEmmanuel Vadot};
121f126890aSEmmanuel Vadot
122f126890aSEmmanuel Vadot&i2c1 {
123f126890aSEmmanuel Vadot	//Host1 IPMB bus
124f126890aSEmmanuel Vadot	status = "okay";
125f126890aSEmmanuel Vadot	multi-master;
126f126890aSEmmanuel Vadot	ipmb1@10 {
127f126890aSEmmanuel Vadot		compatible = "ipmb-dev";
128f126890aSEmmanuel Vadot		reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>;
129f126890aSEmmanuel Vadot		i2c-protocol;
130f126890aSEmmanuel Vadot	};
131f126890aSEmmanuel Vadot};
132f126890aSEmmanuel Vadot
133f126890aSEmmanuel Vadot&i2c3 {
134f126890aSEmmanuel Vadot	//Host2 IPMB bus
135f126890aSEmmanuel Vadot	status = "okay";
136f126890aSEmmanuel Vadot	multi-master;
137f126890aSEmmanuel Vadot	ipmb3@10 {
138f126890aSEmmanuel Vadot		compatible = "ipmb-dev";
139f126890aSEmmanuel Vadot		reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>;
140f126890aSEmmanuel Vadot		i2c-protocol;
141f126890aSEmmanuel Vadot	};
142f126890aSEmmanuel Vadot};
143f126890aSEmmanuel Vadot
144f126890aSEmmanuel Vadot&i2c5 {
145f126890aSEmmanuel Vadot	//Host3 IPMB bus
146f126890aSEmmanuel Vadot	status = "okay";
147f126890aSEmmanuel Vadot	multi-master;
148f126890aSEmmanuel Vadot	ipmb5@10 {
149f126890aSEmmanuel Vadot		compatible = "ipmb-dev";
150f126890aSEmmanuel Vadot		reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>;
151f126890aSEmmanuel Vadot		i2c-protocol;
152f126890aSEmmanuel Vadot	};
153f126890aSEmmanuel Vadot};
154f126890aSEmmanuel Vadot
155f126890aSEmmanuel Vadot&i2c7 {
156f126890aSEmmanuel Vadot	//Host4 IPMB bus
157f126890aSEmmanuel Vadot	status = "okay";
158f126890aSEmmanuel Vadot	multi-master;
159f126890aSEmmanuel Vadot	ipmb7@10 {
160f126890aSEmmanuel Vadot		compatible = "ipmb-dev";
161f126890aSEmmanuel Vadot		reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>;
162f126890aSEmmanuel Vadot		i2c-protocol;
163f126890aSEmmanuel Vadot	};
164f126890aSEmmanuel Vadot};
165f126890aSEmmanuel Vadot
166f126890aSEmmanuel Vadot&i2c8 {
167f126890aSEmmanuel Vadot	status = "okay";
168f126890aSEmmanuel Vadot	//FRU EEPROM
169f126890aSEmmanuel Vadot	eeprom@51 {
170f126890aSEmmanuel Vadot		compatible = "atmel,24c64";
171f126890aSEmmanuel Vadot		reg = <0x51>;
172f126890aSEmmanuel Vadot		pagesize = <32>;
173f126890aSEmmanuel Vadot	};
174f126890aSEmmanuel Vadot};
175f126890aSEmmanuel Vadot
176f126890aSEmmanuel Vadot&i2c9 {
177f126890aSEmmanuel Vadot	status = "okay";
178f126890aSEmmanuel Vadot	tmp421@4e {
179f126890aSEmmanuel Vadot	//INLET TEMP
180f126890aSEmmanuel Vadot		compatible = "ti,tmp421";
181f126890aSEmmanuel Vadot		reg = <0x4e>;
182f126890aSEmmanuel Vadot	};
183f126890aSEmmanuel Vadot	//OUTLET TEMP
184f126890aSEmmanuel Vadot	tmp421@4f {
185f126890aSEmmanuel Vadot		compatible = "ti,tmp421";
186f126890aSEmmanuel Vadot		reg = <0x4f>;
187f126890aSEmmanuel Vadot	};
188f126890aSEmmanuel Vadot};
189f126890aSEmmanuel Vadot
190f126890aSEmmanuel Vadot&i2c10 {
191f126890aSEmmanuel Vadot	status = "okay";
192f126890aSEmmanuel Vadot	//HSC
193f126890aSEmmanuel Vadot	adm1278@40 {
194f126890aSEmmanuel Vadot		compatible = "adi,adm1278";
195f126890aSEmmanuel Vadot		reg = <0x40>;
196f126890aSEmmanuel Vadot	};
197f126890aSEmmanuel Vadot};
198f126890aSEmmanuel Vadot
199f126890aSEmmanuel Vadot&i2c11 {
200f126890aSEmmanuel Vadot	status = "okay";
201f126890aSEmmanuel Vadot	//MEZZ_TEMP_SENSOR
202f126890aSEmmanuel Vadot	tmp421@1f {
203f126890aSEmmanuel Vadot		compatible = "ti,tmp421";
204f126890aSEmmanuel Vadot		reg = <0x1f>;
205f126890aSEmmanuel Vadot	};
206f126890aSEmmanuel Vadot};
207f126890aSEmmanuel Vadot
208f126890aSEmmanuel Vadot&i2c12 {
209f126890aSEmmanuel Vadot	status = "okay";
210f126890aSEmmanuel Vadot};
211f126890aSEmmanuel Vadot
212f126890aSEmmanuel Vadot&i2c13 {
213f126890aSEmmanuel Vadot	status = "okay";
214f126890aSEmmanuel Vadot	// Debug Card
215f126890aSEmmanuel Vadot	multi-master;
216f126890aSEmmanuel Vadot	ipmb13@10 {
217f126890aSEmmanuel Vadot		compatible = "ipmb-dev";
218f126890aSEmmanuel Vadot		reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>;
219f126890aSEmmanuel Vadot		i2c-protocol;
220f126890aSEmmanuel Vadot	};
221f126890aSEmmanuel Vadot};
222f126890aSEmmanuel Vadot
223f126890aSEmmanuel Vadot&pwm_tacho {
224f126890aSEmmanuel Vadot	status = "okay";
225f126890aSEmmanuel Vadot	//FSC
226f126890aSEmmanuel Vadot	pinctrl-names = "default";
227f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_pwm0_default &pinctrl_pwm1_default>;
228f126890aSEmmanuel Vadot	fan@0 {
229f126890aSEmmanuel Vadot		reg = <0x00>;
230f126890aSEmmanuel Vadot		aspeed,fan-tach-ch = /bits/ 8 <0x00>;
231f126890aSEmmanuel Vadot	};
232f126890aSEmmanuel Vadot	fan@1 {
233f126890aSEmmanuel Vadot		reg = <0x01>;
234f126890aSEmmanuel Vadot		aspeed,fan-tach-ch = /bits/ 8 <0x01>;
235f126890aSEmmanuel Vadot	};
236f126890aSEmmanuel Vadot};
237