Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost
[sfrench/cifs-2.6.git] / arch / arm / boot / dts / aspeed-bmc-opp-zaius.dts
1 // SPDX-License-Identifier: GPL-2.0
2 /dts-v1/;
3 #include "aspeed-g5.dtsi"
4 #include <dt-bindings/gpio/aspeed-gpio.h>
5
6 / {
7         model = "Zaius BMC";
8         compatible = "ingrasys,zaius-bmc", "aspeed,ast2500";
9
10         chosen {
11                 stdout-path = &uart5;
12                 bootargs = "console=ttyS4,115200 earlyprintk";
13         };
14
15         memory@80000000 {
16                 reg = <0x80000000 0x40000000>;
17         };
18
19         reserved-memory {
20                 #address-cells = <1>;
21                 #size-cells = <1>;
22                 ranges;
23
24                 flash_memory: region@98000000 {
25                         no-map;
26                         reg = <0x98000000 0x04000000>; /* 64M */
27                 };
28         };
29
30         onewire0 {
31                 compatible = "w1-gpio";
32                 gpios = <&gpio ASPEED_GPIO(H, 0) GPIO_ACTIVE_HIGH>;
33         };
34
35         onewire1 {
36                 compatible = "w1-gpio";
37                 gpios = <&gpio ASPEED_GPIO(H, 1) GPIO_ACTIVE_HIGH>;
38         };
39
40         onewire2 {
41                 compatible = "w1-gpio";
42                 gpios = <&gpio ASPEED_GPIO(H, 2) GPIO_ACTIVE_HIGH>;
43         };
44
45         onewire3 {
46                 compatible = "w1-gpio";
47                 gpios = <&gpio ASPEED_GPIO(H, 3) GPIO_ACTIVE_HIGH>;
48         };
49
50         gpio-keys {
51                 compatible = "gpio-keys";
52
53                 checkstop {
54                         label = "checkstop";
55                         gpios = <&gpio ASPEED_GPIO(F, 7) GPIO_ACTIVE_LOW>;
56                         linux,code = <ASPEED_GPIO(F, 7)>;
57                 };
58
59                 pcie-e2b-present{
60                         label = "pcie-e2b-present";
61                         gpios = <&gpio ASPEED_GPIO(E, 7) GPIO_ACTIVE_LOW>;
62                         linux,code = <ASPEED_GPIO(E, 7)>;
63                 };
64         };
65
66         leds {
67                 compatible = "gpio-leds";
68
69                 sys_boot_status {
70                         label = "System boot status";
71                         gpios = <&gpio ASPEED_GPIO(D, 5) GPIO_ACTIVE_LOW>;
72                 };
73
74                 attention {
75                         label = "Attention";
76                         gpios = <&gpio ASPEED_GPIO(D, 6) GPIO_ACTIVE_LOW>;
77                 };
78
79                 plt_fault {
80                         label = "Platform fault";
81                         gpios = <&gpio ASPEED_GPIO(D, 7) GPIO_ACTIVE_LOW>;
82                 };
83
84                 hdd_fault {
85                         label = "Onboard drive fault";
86                         gpios = <&gpio ASPEED_GPIO(AA, 2) GPIO_ACTIVE_LOW>;
87                 };
88         };
89
90         fsi: gpio-fsi {
91                 compatible = "fsi-master-gpio", "fsi-master";
92                 #address-cells = <2>;
93                 #size-cells = <0>;
94
95                 trans-gpios = <&gpio ASPEED_GPIO(O, 6) GPIO_ACTIVE_HIGH>;
96                 enable-gpios = <&gpio ASPEED_GPIO(D, 0) GPIO_ACTIVE_HIGH>;
97                 clock-gpios = <&gpio ASPEED_GPIO(G, 0) GPIO_ACTIVE_HIGH>;
98                 data-gpios = <&gpio ASPEED_GPIO(G, 1) GPIO_ACTIVE_HIGH>;
99                 mux-gpios = <&gpio ASPEED_GPIO(P, 6) GPIO_ACTIVE_HIGH>;
100         };
101
102         iio-hwmon {
103                 compatible = "iio-hwmon";
104                 io-channels = <&adc 0>, <&adc 1>, <&adc 2>, <&adc 3>,
105                         <&adc 4>, <&adc 5>, <&adc 6>, <&adc 7>,
106                         <&adc 8>, <&adc 9>, <&adc 10>, <&adc 11>,
107                         <&adc 13>, <&adc 14>, <&adc 15>;
108         };
109
110         iio-hwmon-battery {
111                 compatible = "iio-hwmon";
112                 io-channels = <&adc 12>;
113         };
114
115 };
116
117 &fmc {
118         status = "okay";
119
120         flash@0 {
121                 status = "okay";
122                 label = "bmc";
123                 m25p,fast-read;
124 #include "openbmc-flash-layout.dtsi"
125         };
126 };
127
128 &spi1 {
129         status = "okay";
130         pinctrl-names = "default";
131         pinctrl-0 = <&pinctrl_spi1_default>;
132
133         flash@0 {
134                 status = "okay";
135                 label = "pnor";
136                 m25p,fast-read;
137         };
138 };
139
140 &spi2 {
141         status = "okay";
142         pinctrl-names = "default";
143         pinctrl-0 = <&pinctrl_spi2ck_default
144                      &pinctrl_spi2cs0_default
145                      &pinctrl_spi2cs1_default
146                      &pinctrl_spi2miso_default
147                      &pinctrl_spi2mosi_default>;
148
149         flash@0 {
150                 status = "okay";
151         };
152 };
153
154 &uart1 {
155         status = "okay";
156         pinctrl-names = "default";
157         pinctrl-0 = <&pinctrl_txd1_default
158                      &pinctrl_rxd1_default>;
159 };
160
161 &lpc_ctrl {
162         status = "okay";
163         memory-region = <&flash_memory>;
164         flash = <&spi1>;
165 };
166
167 &lpc_snoop {
168         status = "okay";
169         snoop-ports = <0x80>;
170 };
171
172
173 &uart5 {
174         status = "okay";
175 };
176
177 &mac0 {
178         status = "okay";
179         pinctrl-names = "default";
180         pinctrl-0 = <&pinctrl_rmii1_default>;
181         use-ncsi;
182 };
183
184 &mac1 {
185         status = "okay";
186
187         pinctrl-names = "default";
188         pinctrl-0 = <&pinctrl_rgmii2_default &pinctrl_mdio2_default>;
189 };
190
191 &i2c0 {
192         status = "okay";
193
194         eeprom@50 {
195                 compatible = "atmel,24c64";
196                 reg = <0x50>;
197                 pagesize = <32>;
198         };
199
200         rtc@68 {
201                 compatible = "nxp,pcf8523";
202                 reg = <0x68>;
203         };
204
205         ucd90160@64 {
206                 compatible = "ti,ucd90160";
207                 reg = <0x64>;
208         };
209
210         /* Power sequencer UCD90160 PMBUS @64h
211          * FRU AT24C64D @50h
212          * RTC PCF8523 @68h
213          * Clock buffer 9DBL04 @6dh
214          */
215 };
216
217 &i2c1 {
218         status = "okay";
219
220         i2c-switch@71 {
221                 compatible = "nxp,pca9546";
222                 reg = <0x71>;
223                 #address-cells = <1>;
224                 #size-cells = <0>;
225         };
226
227         /* MUX1 PCA9546A @71h
228          *   PCIe 0
229          *   PCIe 1
230          *   PCIe 2
231          *   TPM header
232          */
233 };
234
235 &i2c2 {
236         status = "disabled";
237
238         /* OCP Mezz Connector A (OOB SMBUS) */
239 };
240
241 &i2c3 {
242         status = "disabled";
243
244         /* OCP Mezz Connector A (PCIe slot SMBUS) */
245 };
246
247 &i2c4 {
248         status = "okay";
249
250         i2c-switch@71 {
251                 compatible = "nxp,pca9546";
252                 reg = <0x71>;
253                 #address-cells = <1>;
254                 #size-cells = <0>;
255         };
256
257         /* MUX1 PCA9546A @71h
258          *   PCIe 3
259          *   PCIe 4
260          */
261 };
262
263
264 &i2c5 {
265         status = "disabled";
266
267         /* CPU0 PRM 0.7V */
268         /* CPU0 PRM 1.2V CH03 */
269         /* CPU0 PRM 0.8V */
270         /* CPU0 PRM 1.2V CH47 */
271 };
272
273 &i2c6 {
274         status = "disabled";
275
276         /* CPU1 PRM 0.7V */
277         /* CPU1 PRM 1.2V CH03 */
278         /* CPU1 PRM 0.8V */
279         /* CPU1 PRM 1.2V CH47 */
280 };
281
282 &i2c7 {
283         status = "okay";
284
285         pca9541a@70 {
286                 compatible = "nxp,pca9541";
287                 reg = <0x70>;
288
289                 i2c-arb {
290                         #address-cells = <1>;
291                         #size-cells = <0>;
292
293                         hotswap@54 {
294                                 compatible = "ti,lm5066i";
295                                 reg = <0x54>;
296                         };
297                 };
298         };
299
300         /* Master selector PCA9541A @70h (other master: CPU0)
301          *   LM5066I PMBUS @10h
302          */
303
304         /* 12V Quarter Brick DC/DC Converter Q54SJ12050 @61h */
305         power-brick@61 {
306                 compatible = "delta,dps800";
307                 reg = <0x61>;
308         };
309
310         /* CPU0 VR ISL68137 0.7V, 0.96V PMBUS @64h */
311         /* CPU0 VR ISL68137 1.2V CH03 PMBUS @40h */
312         /* CPU0 VR ISL68137 0.8V PMBUS @60h */
313         /* CPU0 VR 1.0V IR38064 I2C @11h, PMBUS @41h */
314         /* CPU0 VR ISL68137 1.2V CH47 PMBUS @41h */
315 };
316
317 &i2c8 {
318         status = "okay";
319
320         /* CPU1 VR ISL68137 0.7V, 0.96V PMBUS @65h */
321         /* CPU1 VR ISL68137 1.2V CH03 PMBUS @44h */
322         /* CPU1 VR ISL68137 0.8V PMBUS @61h */
323         /* CPU1 VR 1.0V IR38064 I2C @12h, PMBUS @42h */
324         /* CPU0 VR ISL68137 1.2V CH47 PMBUS @45h */
325 };
326
327
328 &i2c9 {
329         status = "disabled";
330
331         /* Fan board */
332 };
333
334 &i2c10 {
335         status = "disabled";
336 };
337
338 &i2c11 {
339         status = "disabled";
340
341         /* GPU sideband */
342 };
343
344 &i2c12 {
345         status = "disabled";
346 };
347
348 &i2c13 {
349         status = "disabled";
350
351         /* MUX PI3USB102
352          *   CPU0 debug
353          *   CPU1 debug
354          */
355 };
356
357 &pinctrl {
358         aspeed,external-nodes = <&gfx &lhc>;
359
360         pinctrl_gpioh_unbiased: gpioi_unbiased {
361                 pins = "A8", "C7", "B7", "A7", "D7", "B6", "A6", "E7";
362                 bias-disable;
363         };
364 };
365
366 &gpio {
367         pinctrl-names = "default";
368         pinctrl-0 = <&pinctrl_gpioh_unbiased>;
369
370         line_iso_u146_en {
371                 gpio-hog;
372                 gpios = <ASPEED_GPIO(O, 4) GPIO_ACTIVE_HIGH>;
373                 output-high;
374                 line-name = "iso_u164_en";
375         };
376
377         ncsi_mux_en_n {
378                 gpio-hog;
379                 gpios = <ASPEED_GPIO(P, 0) GPIO_ACTIVE_HIGH>;
380                 output-low;
381                 line-name = "ncsi_mux_en_n";
382         };
383
384         line_bmc_i2c2_sw_rst_n {
385                 gpio-hog;
386                 gpios = <ASPEED_GPIO(P, 1) GPIO_ACTIVE_HIGH>;
387                 output-high;
388                 line-name = "bmc_i2c2_sw_rst_n";
389         };
390
391         line_bmc_i2c5_sw_rst_n {
392                 gpio-hog;
393                 gpios = <ASPEED_GPIO(P, 3) GPIO_ACTIVE_HIGH>;
394                 output-high;
395                 line-name = "bmc_i2c5_sw_rst_n";
396         };
397 };
398
399 &vuart {
400         status = "okay";
401 };
402
403 &gfx {
404         status = "okay";
405 };
406
407 &pwm_tacho {
408         status = "okay";
409         pinctrl-names = "default";
410         pinctrl-0 = <&pinctrl_pwm0_default &pinctrl_pwm1_default
411                 &pinctrl_pwm2_default &pinctrl_pwm3_default>;
412
413         fan@0 {
414                 reg = <0x00>;
415                 aspeed,fan-tach-ch = /bits/ 8 <0x00>;
416         };
417
418         fan@1 {
419                 reg = <0x01>;
420                 aspeed,fan-tach-ch = /bits/ 8 <0x01>;
421         };
422
423         fan@2 {
424                 reg = <0x02>;
425                 aspeed,fan-tach-ch = /bits/ 8 <0x02>;
426         };
427
428         fan@3 {
429                 reg = <0x03>;
430                 aspeed,fan-tach-ch = /bits/ 8 <0x03>;
431         };
432 };
433
434 &ibt {
435         status = "okay";
436 };