Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost
[linux-2.6-microblaze.git] / arch / arm / boot / dts / aspeed-bmc-facebook-tiogapass.dts
1 // SPDX-License-Identifier: GPL-2.0+
2 // Copyright (c) 2018 Facebook Inc.
3 // Author: Vijay Khemka <vijaykhemka@fb.com>
4 /dts-v1/;
5
6 #include "aspeed-g5.dtsi"
7 #include <dt-bindings/gpio/aspeed-gpio.h>
8 #include <dt-bindings/i2c/i2c.h>
9
10 / {
11         model = "Facebook TiogaPass BMC";
12         compatible = "facebook,tiogapass-bmc", "aspeed,ast2500";
13         aliases {
14                 serial0 = &uart1;
15                 serial4 = &uart5;
16
17                 /*
18                  * Hardcode the bus number of i2c switches' channels to
19                  * avoid breaking the legacy applications.
20                  */
21                 i2c16 = &imux16;
22                 i2c17 = &imux17;
23                 i2c18 = &imux18;
24                 i2c19 = &imux19;
25                 i2c20 = &imux20;
26                 i2c21 = &imux21;
27                 i2c22 = &imux22;
28                 i2c23 = &imux23;
29                 i2c24 = &imux24;
30                 i2c25 = &imux25;
31                 i2c26 = &imux26;
32                 i2c27 = &imux27;
33                 i2c28 = &imux28;
34                 i2c29 = &imux29;
35                 i2c30 = &imux30;
36                 i2c31 = &imux31;
37         };
38         chosen {
39                 stdout-path = &uart5;
40                 bootargs = "console=ttyS4,115200 earlyprintk";
41         };
42
43         memory@80000000 {
44                 reg = <0x80000000 0x20000000>;
45         };
46
47         iio-hwmon {
48                 compatible = "iio-hwmon";
49                 io-channels = <&adc 0>, <&adc 1>, <&adc 2>, <&adc 3>,
50                               <&adc 4>, <&adc 5>, <&adc 6>, <&adc 7>;
51         };
52
53 };
54
55 &fmc {
56         status = "okay";
57         flash@0 {
58                 status = "okay";
59                 m25p,fast-read;
60 #include "openbmc-flash-layout.dtsi"
61         };
62 };
63
64 &spi1 {
65         status = "okay";
66         pinctrl-names = "default";
67         pinctrl-0 = <&pinctrl_spi1_default>;
68         flash@0 {
69                 status = "okay";
70                 m25p,fast-read;
71                 label = "pnor";
72         };
73 };
74
75 &lpc_snoop {
76         status = "okay";
77         snoop-ports = <0x80>;
78 };
79
80 &lpc_ctrl {
81         // Enable lpc clock
82         status = "okay";
83 };
84
85 &uart1 {
86         // Host Console
87         status = "okay";
88         pinctrl-names = "default";
89         pinctrl-0 = <&pinctrl_txd1_default
90                      &pinctrl_rxd1_default>;
91 };
92
93 &uart2 {
94         // SoL Host Console
95         status = "okay";
96 };
97
98 &uart3 {
99         // SoL BMC Console
100         status = "okay";
101 };
102
103 &uart5 {
104         // BMC Console
105         status = "okay";
106 };
107
108 &kcs2 {
109         // BMC KCS channel 2
110         status = "okay";
111         aspeed,lpc-io-reg = <0xca8>;
112 };
113
114 &kcs3 {
115         // BMC KCS channel 3
116         status = "okay";
117         aspeed,lpc-io-reg = <0xca2>;
118 };
119
120 &gpio {
121         status = "okay";
122         gpio-line-names =
123         /*A0-A7*/       "BMC_CPLD_FPGA_SEL","","","","","","","",
124         /*B0-B7*/       "","BMC_DEBUG_EN","","","","BMC_PPIN","PS_PWROK",
125                         "IRQ_PVDDQ_GHJ_VRHOT_LVT3",
126         /*C0-C7*/       "","","","","","","","",
127         /*D0-D7*/       "BIOS_MRC_DEBUG_MSG_DIS","BOARD_REV_ID0","",
128                         "BOARD_REV_ID1","IRQ_DIMM_SAVE_LVT3","BOARD_REV_ID2",
129                         "CPU_ERR0_LVT3_BMC","CPU_ERR1_LVT3_BMC",
130         /*E0-E7*/       "RESET_BUTTON","RESET_OUT","POWER_BUTTON",
131                         "POWER_OUT","NMI_BUTTON","","CPU0_PROCHOT_LVT3_ BMC",
132                         "CPU1_PROCHOT_LVT3_ BMC",
133         /*F0-F7*/       "IRQ_PVDDQ_ABC_VRHOT_LVT3","",
134                         "IRQ_PVCCIN_CPU0_VRHOT_LVC3",
135                         "IRQ_PVCCIN_CPU1_VRHOT_LVC3",
136                         "IRQ_PVDDQ_KLM_VRHOT_LVT3","","P3VBAT_BRIDGE_EN","",
137         /*G0-G7*/       "CPU_ERR2_LVT3","CPU_CATERR_LVT3","PCH_BMC_THERMTRIP",
138                         "CPU0_SKTOCC_LVT3","","","","BIOS_SMI_ACTIVE",
139         /*H0-H7*/       "LED_POST_CODE_0","LED_POST_CODE_1","LED_POST_CODE_2",
140                         "LED_POST_CODE_3","LED_POST_CODE_4","LED_POST_CODE_5",
141                         "LED_POST_CODE_6","LED_POST_CODE_7",
142         /*I0-I7*/       "CPU0_FIVR_FAULT_LVT3","CPU1_FIVR_FAULT_LVT3",
143                         "FORCE_ADR","UV_ADR_TRIGGER_EN","","","","",
144         /*J0-J7*/       "","","","","","","","",
145         /*K0-K7*/       "","","","","","","","",
146         /*L0-L7*/       "IRQ_UV_DETECT","IRQ_OC_DETECT","HSC_TIMER_EXP","",
147                         "MEM_THERM_EVENT_PCH","PMBUS_ALERT_BUF_EN","","",
148         /*M0-M7*/       "CPU0_RC_ERROR","CPU1_RC_ERROR","","OC_DETECT_EN",
149                         "CPU0_THERMTRIP_LATCH_LVT3",
150                         "CPU1_THERMTRIP_LATCH_LVT3","","",
151         /*N0-N7*/       "","","","CPU_MSMI_LVT3","","BIOS_SPI_BMC_CTRL","","",
152         /*O0-O7*/       "","","","","","","","",
153         /*P0-P7*/       "BOARD_SKU_ID0","BOARD_SKU_ID1","BOARD_SKU_ID2",
154                         "BOARD_SKU_ID3","BOARD_SKU_ID4","BMC_PREQ",
155                         "BMC_PWR_DEBUG","RST_RSMRST",
156         /*Q0-Q7*/       "","","","","UARTSW_LSB","UARTSW_MSB",
157                         "POST_CARD_PRES_BMC","PE_BMC_WAKE",
158         /*R0-R7*/       "","","BMC_TCK_MUX_SEL","BMC_PRDY",
159                         "BMC_XDP_PRSNT_IN","RST_BMC_PLTRST_BUF","SLT_CFG0",
160                         "SLT_CFG1",
161         /*S0-S7*/       "THROTTLE","BMC_READY","","HSC_SMBUS_SWITCH_EN","",
162                         "","","",
163         /*T0-T7*/       "","","","","","","","",
164         /*U0-U7*/       "","","","","","BMC_FAULT","","",
165         /*V0-V7*/       "","","","FAST_PROCHOT_EN","","","","",
166         /*W0-W7*/       "","","","","","","","",
167         /*X0-X7*/       "","","","GLOBAL_RST_WARN",
168                         "CPU0_MEMABC_MEMHOT_LVT3_BMC",
169                         "CPU0_MEMDEF_MEMHOT_LVT3_BMC",
170                         "CPU1_MEMGHJ_MEMHOT_LVT3_BMC",
171                         "CPU1_MEMKLM_MEMHOT_LVT3_BMC",
172         /*Y0-Y7*/       "SIO_S3","SIO_S5","BMC_JTAG_SEL","SIO_ONCONTROL","",
173                         "","","",
174         /*Z0-Z7*/       "","SIO_POWER_GOOD","IRQ_PVDDQ_DEF_VRHOT_LVT3","",
175                         "","","","",
176         /*AA0-AA7*/     "CPU1_SKTOCC_LVT3","IRQ_SML1_PMBUS_ALERT",
177                         "SERVER_POWER_LED","","PECI_MUX_SELECT","UV_HIGH_SET",
178                         "","POST_COMPLETE",
179         /*AB0-AB7*/     "IRQ_HSC_FAULT","OCP_MEZZA_PRES","","","","","","",
180         /*AC0-AC7*/     "","","","","","","","";
181 };
182
183 &mac0 {
184         status = "okay";
185
186         pinctrl-names = "default";
187         pinctrl-0 = <&pinctrl_rmii1_default>;
188         clocks = <&syscon ASPEED_CLK_GATE_MAC1CLK>,
189                  <&syscon ASPEED_CLK_MAC1RCLK>;
190         clock-names = "MACCLK", "RCLK";
191         use-ncsi;
192 };
193
194 &mac1 {
195         status = "okay";
196
197         pinctrl-names = "default";
198         pinctrl-0 = <&pinctrl_rmii2_default>;
199         use-ncsi;
200 };
201
202 &adc {
203         status = "okay";
204 };
205
206 &i2c0 {
207         status = "okay";
208         //Airmax Conn B, CPU0 PIROM, CPU1 PIROM
209 };
210
211 &i2c1 {
212         status = "okay";
213         //X24 Riser
214         i2c-switch@71 {
215                 compatible = "nxp,pca9544";
216                 #address-cells = <1>;
217                 #size-cells = <0>;
218                 reg = <0x71>;
219
220                 imux16: i2c@0 {
221                         #address-cells = <1>;
222                         #size-cells = <0>;
223                         reg = <0>;
224
225                         ina230@45 {
226                                 compatible = "ti,ina230";
227                                 reg = <0x45>;
228                         };
229
230                         tmp75@48 {
231                                 compatible = "ti,tmp75";
232                                 reg = <0x48>;
233                         };
234
235                         tmp421@49 {
236                                 compatible = "ti,tmp75";
237                                 reg = <0x49>;
238                         };
239
240                         eeprom@50 {
241                                 compatible = "atmel,24c64";
242                                 reg = <0x50>;
243                                 pagesize = <32>;
244                         };
245
246                         i2c-switch@73 {
247                                 compatible = "nxp,pca9546";
248                                 #address-cells = <1>;
249                                 #size-cells = <0>;
250                                 reg = <0x73>;
251
252                                 imux20: i2c@0 {
253                                         #address-cells = <1>;
254                                         #size-cells = <0>;
255                                         reg = <0>;
256                                 };
257
258                                 imux21: i2c@1 {
259                                         #address-cells = <1>;
260                                         #size-cells = <0>;
261                                         reg = <1>;
262                                 };
263
264                                 imux22: i2c@2 {
265                                         #address-cells = <1>;
266                                         #size-cells = <0>;
267                                         reg = <2>;
268                                 };
269
270                                 imux23: i2c@3 {
271                                         #address-cells = <1>;
272                                         #size-cells = <0>;
273                                         reg = <3>;
274                                 };
275
276                         };
277
278                 };
279
280                 imux17: i2c@1 {
281                         #address-cells = <1>;
282                         #size-cells = <0>;
283                         reg = <1>;
284
285                         ina230@45 {
286                                 compatible = "ti,ina230";
287                                 reg = <0x45>;
288                         };
289
290                         tmp421@48 {
291                                 compatible = "ti,tmp75";
292                                 reg = <0x48>;
293                         };
294
295                         tmp421@49 {
296                                 compatible = "ti,tmp75";
297                                 reg = <0x49>;
298                         };
299
300                         eeprom@50 {
301                                 compatible = "atmel,24c64";
302                                 reg = <0x50>;
303                                 pagesize = <32>;
304                         };
305
306                         i2c-switch@73 {
307                                 compatible = "nxp,pca9546";
308                                 #address-cells = <1>;
309                                 #size-cells = <0>;
310                                 reg = <0x73>;
311
312                                 imux24: i2c@0 {
313                                         #address-cells = <1>;
314                                         #size-cells = <0>;
315                                         reg = <0>;
316                                 };
317
318                                 imux25: i2c@1 {
319                                         #address-cells = <1>;
320                                         #size-cells = <0>;
321                                         reg = <1>;
322                                 };
323
324                                 imux26: i2c@2 {
325                                         #address-cells = <1>;
326                                         #size-cells = <0>;
327                                         reg = <2>;
328                                 };
329
330                                 imux27: i2c@3 {
331                                         #address-cells = <1>;
332                                         #size-cells = <0>;
333                                         reg = <3>;
334                                 };
335
336                         };
337
338                 };
339
340                 imux18: i2c@2 {
341                         #address-cells = <1>;
342                         #size-cells = <0>;
343                         reg = <2>;
344
345                         ina230@45 {
346                                 compatible = "ti,ina230";
347                                 reg = <0x45>;
348                         };
349
350                         tmp421@48 {
351                                 compatible = "ti,tmp75";
352                                 reg = <0x48>;
353                         };
354
355                         tmp421@49 {
356                                 compatible = "ti,tmp75";
357                                 reg = <0x49>;
358                         };
359
360                         eeprom@50 {
361                                 compatible = "atmel,24c64";
362                                 reg = <0x50>;
363                                 pagesize = <32>;
364                         };
365
366                         i2c-switch@73 {
367                                 compatible = "nxp,pca9546";
368                                 #address-cells = <1>;
369                                 #size-cells = <0>;
370                                 reg = <0x73>;
371
372                                 imux28: i2c@0 {
373                                         #address-cells = <1>;
374                                         #size-cells = <0>;
375                                         reg = <0>;
376                                 };
377
378                                 imux29: i2c@1 {
379                                         #address-cells = <1>;
380                                         #size-cells = <0>;
381                                         reg = <1>;
382                                 };
383
384                                 imux30: i2c@2 {
385                                         #address-cells = <1>;
386                                         #size-cells = <0>;
387                                         reg = <2>;
388                                 };
389
390                                 imux31: i2c@3 {
391                                         #address-cells = <1>;
392                                         #size-cells = <0>;
393                                         reg = <3>;
394                                 };
395
396                         };
397
398                 };
399
400                 imux19: i2c@3 {
401                         #address-cells = <1>;
402                         #size-cells = <0>;
403                         reg = <3>;
404
405                         i2c-switch@40 {
406                                 compatible = "ti,ina230";
407                                 reg = <0x40>;
408                         };
409
410                         i2c-switch@41 {
411                                 compatible = "ti,ina230";
412                                 reg = <0x41>;
413                         };
414
415                         i2c-switch@45 {
416                                 compatible = "ti,ina230";
417                                 reg = <0x45>;
418                         };
419
420                 };
421
422         };
423 };
424
425 &i2c2 {
426         status = "okay";
427         // Mezz Management SMBus
428 };
429
430 &i2c3 {
431         status = "okay";
432         // SMBus to Board ID EEPROM
433 };
434
435 &i2c4 {
436         status = "okay";
437         // BMC Debug Header
438         ipmb0@10 {
439                 compatible = "ipmb-dev";
440                 reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>;
441                 i2c-protocol;
442         };
443 };
444
445 &i2c5 {
446         status = "okay";
447         // CPU Voltage regulators
448         regulator@48 {
449                 compatible = "infineon,pxe1610";
450                 reg = <0x48>;
451         };
452         regulator@4a {
453                 compatible = "infineon,pxe1610";
454                 reg = <0x4a>;
455         };
456         regulator@50 {
457                 compatible = "infineon,pxe1610";
458                 reg = <0x50>;
459         };
460         regulator@52 {
461                 compatible = "infineon,pxe1610";
462                 reg = <0x52>;
463         };
464         regulator@58 {
465                 compatible = "infineon,pxe1610";
466                 reg = <0x58>;
467         };
468         regulator@5a {
469                 compatible = "infineon,pxe1610";
470                 reg = <0x5a>;
471         };
472         regulator@68 {
473                 compatible = "infineon,pxe1610";
474                 reg = <0x68>;
475         };
476         regulator@70 {
477                 compatible = "infineon,pxe1610";
478                 reg = <0x70>;
479         };
480         regulator@72 {
481                 compatible = "infineon,pxe1610";
482                 reg = <0x72>;
483         };
484 };
485
486 &i2c6 {
487         status = "okay";
488         tpm@20 {
489                 compatible = "infineon,slb9645tt";
490                 reg = <0x20>;
491         };
492         tmp421@4e {
493                 compatible = "ti,tmp421";
494                 reg = <0x4e>;
495         };
496         tmp421@4f {
497                 compatible = "ti,tmp421";
498                 reg = <0x4f>;
499         };
500         eeprom@54 {
501                 compatible = "atmel,24c64";
502                 reg = <0x54>;
503                 pagesize = <32>;
504         };
505 };
506
507 &i2c7 {
508         status = "okay";
509         //HSC, AirMax Conn A
510 };
511
512 &i2c8 {
513         status = "okay";
514         tmp421@1f {
515                 compatible = "ti,tmp421";
516                 reg = <0x1f>;
517         };
518         //Mezz Sensor SMBus
519 };
520
521 &i2c9 {
522         status = "okay";
523         //USB Debug Connector
524         ipmb0@10 {
525                 compatible = "ipmb-dev";
526                 reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>;
527                 i2c-protocol;
528         };
529 };
530
531 &pwm_tacho {
532         status = "okay";
533         pinctrl-names = "default";
534         pinctrl-0 = <&pinctrl_pwm0_default &pinctrl_pwm1_default>;
535         fan@0 {
536                 reg = <0x00>;
537                 aspeed,fan-tach-ch = /bits/ 8 <0x00>;
538         };
539
540         fan@1 {
541                 reg = <0x01>;
542                 aspeed,fan-tach-ch = /bits/ 8 <0x02>;
543         };
544 };