Merge tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64...
[sfrench/cifs-2.6.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
9 / {
10         model = "Facebook TiogaPass BMC";
11         compatible = "facebook,tiogapass-bmc", "aspeed,ast2500";
12         aliases {
13                 serial0 = &uart1;
14                 serial4 = &uart5;
15
16                 /*
17                  * Hardcode the bus number of i2c switches' channels to
18                  * avoid breaking the legacy applications.
19                  */
20                 i2c16 = &imux16;
21                 i2c17 = &imux17;
22                 i2c18 = &imux18;
23                 i2c19 = &imux19;
24                 i2c20 = &imux20;
25                 i2c21 = &imux21;
26                 i2c22 = &imux22;
27                 i2c23 = &imux23;
28                 i2c24 = &imux24;
29                 i2c25 = &imux25;
30                 i2c26 = &imux26;
31                 i2c27 = &imux27;
32                 i2c28 = &imux28;
33                 i2c29 = &imux29;
34                 i2c30 = &imux30;
35                 i2c31 = &imux31;
36         };
37         chosen {
38                 stdout-path = &uart5;
39                 bootargs = "console=ttyS4,115200 earlyprintk";
40         };
41
42         memory@80000000 {
43                 reg = <0x80000000 0x20000000>;
44         };
45
46         iio-hwmon {
47                 compatible = "iio-hwmon";
48                 io-channels = <&adc 0>, <&adc 1>, <&adc 2>, <&adc 3>,
49                               <&adc 4>, <&adc 5>, <&adc 6>, <&adc 7>;
50         };
51
52 };
53
54 &fmc {
55         status = "okay";
56         flash@0 {
57                 status = "okay";
58                 m25p,fast-read;
59 #include "openbmc-flash-layout.dtsi"
60         };
61 };
62
63 &spi1 {
64         status = "okay";
65         pinctrl-names = "default";
66         pinctrl-0 = <&pinctrl_spi1_default>;
67         flash@0 {
68                 status = "okay";
69                 m25p,fast-read;
70                 label = "pnor";
71         };
72 };
73
74 &lpc_snoop {
75         status = "okay";
76         snoop-ports = <0x80>;
77 };
78
79 &lpc_ctrl {
80         // Enable lpc clock
81         status = "okay";
82 };
83
84 &vuart {
85         // VUART Host Console
86         status = "okay";
87 };
88
89 &uart1 {
90         // Host Console
91         status = "okay";
92         pinctrl-names = "default";
93         pinctrl-0 = <&pinctrl_txd1_default
94                      &pinctrl_rxd1_default>;
95 };
96
97 &uart2 {
98         // SoL Host Console
99         status = "okay";
100 };
101
102 &uart3 {
103         // SoL BMC Console
104         status = "okay";
105 };
106
107 &uart5 {
108         // BMC Console
109         status = "okay";
110 };
111
112 &kcs2 {
113         // BMC KCS channel 2
114         status = "okay";
115         kcs_addr = <0xca8>;
116 };
117
118 &kcs3 {
119         // BMC KCS channel 3
120         status = "okay";
121         kcs_addr = <0xca2>;
122 };
123
124 &mac0 {
125         status = "okay";
126
127         pinctrl-names = "default";
128         pinctrl-0 = <&pinctrl_rmii1_default>;
129         clocks = <&syscon ASPEED_CLK_GATE_MAC1CLK>,
130                  <&syscon ASPEED_CLK_MAC1RCLK>;
131         clock-names = "MACCLK", "RCLK";
132         use-ncsi;
133 };
134
135 &adc {
136         status = "okay";
137 };
138
139 &i2c0 {
140         status = "okay";
141         //Airmax Conn B, CPU0 PIROM, CPU1 PIROM
142 };
143
144 &i2c1 {
145         status = "okay";
146         //X24 Riser
147         i2c-switch@71 {
148                 compatible = "nxp,pca9544";
149                 #address-cells = <1>;
150                 #size-cells = <0>;
151                 reg = <0x71>;
152
153                 imux16: i2c@0 {
154                         #address-cells = <1>;
155                         #size-cells = <0>;
156                         reg = <0>;
157
158                         ina230@45 {
159                                 compatible = "ti,ina230";
160                                 reg = <0x45>;
161                         };
162
163                         tmp75@48 {
164                                 compatible = "ti,tmp75";
165                                 reg = <0x48>;
166                         };
167
168                         tmp421@49 {
169                                 compatible = "ti,tmp75";
170                                 reg = <0x49>;
171                         };
172
173                         eeprom@50 {
174                                 compatible = "atmel,24c64";
175                                 reg = <0x50>;
176                                 pagesize = <32>;
177                         };
178
179                         i2c-switch@73 {
180                                 compatible = "nxp,pca9546";
181                                 #address-cells = <1>;
182                                 #size-cells = <0>;
183                                 reg = <0x73>;
184
185                                 imux20: i2c@0 {
186                                         #address-cells = <1>;
187                                         #size-cells = <0>;
188                                         reg = <0>;
189                                 };
190
191                                 imux21: i2c@1 {
192                                         #address-cells = <1>;
193                                         #size-cells = <0>;
194                                         reg = <1>;
195                                 };
196
197                                 imux22: i2c@2 {
198                                         #address-cells = <1>;
199                                         #size-cells = <0>;
200                                         reg = <2>;
201                                 };
202
203                                 imux23: i2c@3 {
204                                         #address-cells = <1>;
205                                         #size-cells = <0>;
206                                         reg = <3>;
207                                 };
208
209                         };
210
211                 };
212
213                 imux17: i2c@1 {
214                         #address-cells = <1>;
215                         #size-cells = <0>;
216                         reg = <1>;
217
218                         ina230@45 {
219                                 compatible = "ti,ina230";
220                                 reg = <0x45>;
221                         };
222
223                         tmp421@48 {
224                                 compatible = "ti,tmp75";
225                                 reg = <0x48>;
226                         };
227
228                         tmp421@49 {
229                                 compatible = "ti,tmp75";
230                                 reg = <0x49>;
231                         };
232
233                         eeprom@50 {
234                                 compatible = "atmel,24c64";
235                                 reg = <0x50>;
236                                 pagesize = <32>;
237                         };
238
239                         i2c-switch@73 {
240                                 compatible = "nxp,pca9546";
241                                 #address-cells = <1>;
242                                 #size-cells = <0>;
243                                 reg = <0x73>;
244
245                                 imux24: i2c@0 {
246                                         #address-cells = <1>;
247                                         #size-cells = <0>;
248                                         reg = <0>;
249                                 };
250
251                                 imux25: i2c@1 {
252                                         #address-cells = <1>;
253                                         #size-cells = <0>;
254                                         reg = <1>;
255                                 };
256
257                                 imux26: i2c@2 {
258                                         #address-cells = <1>;
259                                         #size-cells = <0>;
260                                         reg = <2>;
261                                 };
262
263                                 imux27: i2c@3 {
264                                         #address-cells = <1>;
265                                         #size-cells = <0>;
266                                         reg = <3>;
267                                 };
268
269                         };
270
271                 };
272
273                 imux18: i2c@2 {
274                         #address-cells = <1>;
275                         #size-cells = <0>;
276                         reg = <2>;
277
278                         ina230@45 {
279                                 compatible = "ti,ina230";
280                                 reg = <0x45>;
281                         };
282
283                         tmp421@48 {
284                                 compatible = "ti,tmp75";
285                                 reg = <0x48>;
286                         };
287
288                         tmp421@49 {
289                                 compatible = "ti,tmp75";
290                                 reg = <0x49>;
291                         };
292
293                         eeprom@50 {
294                                 compatible = "atmel,24c64";
295                                 reg = <0x50>;
296                                 pagesize = <32>;
297                         };
298
299                         i2c-switch@73 {
300                                 compatible = "nxp,pca9546";
301                                 #address-cells = <1>;
302                                 #size-cells = <0>;
303                                 reg = <0x73>;
304
305                                 imux28: i2c@0 {
306                                         #address-cells = <1>;
307                                         #size-cells = <0>;
308                                         reg = <0>;
309                                 };
310
311                                 imux29: i2c@1 {
312                                         #address-cells = <1>;
313                                         #size-cells = <0>;
314                                         reg = <1>;
315                                 };
316
317                                 imux30: i2c@2 {
318                                         #address-cells = <1>;
319                                         #size-cells = <0>;
320                                         reg = <2>;
321                                 };
322
323                                 imux31: i2c@3 {
324                                         #address-cells = <1>;
325                                         #size-cells = <0>;
326                                         reg = <3>;
327                                 };
328
329                         };
330
331                 };
332
333                 imux19: i2c@3 {
334                         #address-cells = <1>;
335                         #size-cells = <0>;
336                         reg = <3>;
337
338                         i2c-switch@40 {
339                                 compatible = "ti,ina230";
340                                 reg = <0x40>;
341                         };
342
343                         i2c-switch@41 {
344                                 compatible = "ti,ina230";
345                                 reg = <0x41>;
346                         };
347
348                         i2c-switch@45 {
349                                 compatible = "ti,ina230";
350                                 reg = <0x45>;
351                         };
352
353                 };
354
355         };
356 };
357
358 &i2c2 {
359         status = "okay";
360         // Mezz Management SMBus
361 };
362
363 &i2c3 {
364         status = "okay";
365         // SMBus to Board ID EEPROM
366 };
367
368 &i2c4 {
369         status = "okay";
370         // BMC Debug Header
371 };
372
373 &i2c5 {
374         status = "okay";
375         // CPU Voltage regulators
376         regulator@48 {
377                 compatible = "infineon,pxe1610";
378                 reg = <0x48>;
379         };
380         regulator@4a {
381                 compatible = "infineon,pxe1610";
382                 reg = <0x4a>;
383         };
384         regulator@50 {
385                 compatible = "infineon,pxe1610";
386                 reg = <0x50>;
387         };
388         regulator@52 {
389                 compatible = "infineon,pxe1610";
390                 reg = <0x52>;
391         };
392         regulator@58 {
393                 compatible = "infineon,pxe1610";
394                 reg = <0x58>;
395         };
396         regulator@5a {
397                 compatible = "infineon,pxe1610";
398                 reg = <0x5a>;
399         };
400         regulator@68 {
401                 compatible = "infineon,pxe1610";
402                 reg = <0x68>;
403         };
404         regulator@70 {
405                 compatible = "infineon,pxe1610";
406                 reg = <0x70>;
407         };
408         regulator@72 {
409                 compatible = "infineon,pxe1610";
410                 reg = <0x72>;
411         };
412 };
413
414 &i2c6 {
415         status = "okay";
416         tpm@20 {
417                 compatible = "infineon,slb9645tt";
418                 reg = <0x20>;
419         };
420         tmp421@4e {
421                 compatible = "ti,tmp421";
422                 reg = <0x4e>;
423         };
424         tmp421@4f {
425                 compatible = "ti,tmp421";
426                 reg = <0x4f>;
427         };
428         eeprom@54 {
429                 compatible = "atmel,24c64";
430                 reg = <0x54>;
431                 pagesize = <32>;
432         };
433 };
434
435 &i2c7 {
436         status = "okay";
437         //HSC, AirMax Conn A
438 };
439
440 &i2c8 {
441         status = "okay";
442         tmp421@1f {
443                 compatible = "ti,tmp421";
444                 reg = <0x1f>;
445         };
446         //Mezz Sensor SMBus
447 };
448
449 &i2c9 {
450         status = "okay";
451         //USB Debug Connector
452 };
453
454 &pwm_tacho {
455         status = "okay";
456         pinctrl-names = "default";
457         pinctrl-0 = <&pinctrl_pwm0_default &pinctrl_pwm1_default>;
458         fan@0 {
459                 reg = <0x00>;
460                 aspeed,fan-tach-ch = /bits/ 8 <0x00>;
461         };
462
463         fan@1 {
464                 reg = <0x01>;
465                 aspeed,fan-tach-ch = /bits/ 8 <0x02>;
466         };
467 };