1/dts-v1/;
2/ {
3  #address-cells = <1>;
4  #size-cells = <1>;
5  compatible = "HPE,GXP";
6  model = "GXP";
7
8  chosen {
9    bootargs = "earlyprintk console=ttyS0,115200 user_debug=31";
10  };
11
12  aliases {
13    ethernet0 = &umac0;
14    ethernet1 = &umac1;
15  };
16
17  memory@40000000 {
18    device_type = "memory";
19    reg = <0x40000000 0x20000000>;
20  };
21
22  ahb@80000000 {
23    compatible = "simple-bus";
24    #address-cells = <1>;
25    #size-cells = <1>;
26    ranges;
27
28    vic0: vic@ceff0000 {
29      compatible = "arm,pl192-vic";
30      interrupt-controller;
31      reg = <0xceff0000 0x1000>;
32      #interrupt-cells = <1>;
33    };
34
35    vic1: vic@80f00000 {
36      compatible = "arm,pl192-vic";
37      interrupt-controller;
38      reg = <0x80f00000 0x1000>;
39      #interrupt-cells = <1>;
40    };
41
42    timer0: timer@c0000080 {
43      compatible = "hpe,gxp-timer";
44      reg = <0xc0000080 0x1>, <0xc0000094 0x01>, <0xc0000088 0x08>;
45      interrupts = <0>;
46      interrupt-parent = <&vic0>;
47      clock-frequency = <400000000>;
48    };
49
50    watchdog: watchdog@c0000090 {
51      compatible = "hpe,gxp-wdt";
52      reg = <0xc0000090 0x02>, <0xc0000096 0x01>;
53    };
54
55    uartc: serial@c00000f0 {
56      compatible = "ns16550a";
57      reg = <0xc00000f0 0x8>;
58      interrupts = <19>;
59      interrupt-parent = <&vic0>;
60      clock-frequency = <1846153>;
61      reg-shift = <0>;
62    };
63
64    uarta: serial@c00000e0 {
65      compatible = "ns16550a";
66      reg = <0xc00000e0 0x8>;
67      interrupts = <17>;
68      interrupt-parent = <&vic0>;
69      clock-frequency = <1846153>;
70      reg-shift = <0>;
71    };
72
73    uartb: serial@c00000e8 {
74      compatible = "ns16550a";
75      reg = <0xc00000e8 0x8>;
76      interrupts = <18>;
77      interrupt-parent = <&vic0>;
78      clock-frequency = <1846153>;
79      reg-shift = <0>;
80    };
81
82    vuart_a_cfg: vuarta_cfg@80fc0230 {
83      compatible = "hpe,gxp-vuarta_cfg", "simple-mfd", "syscon";
84      reg = <0x80fc0230 0x100>;
85      reg-io-width = <1>;
86    };
87
88    vuart_a: vuart_a@80fd0200 {
89      compatible = "hpe,gxp-vuart";
90      reg = <0x80fd0200 0x100>;
91      interrupts = <2>;
92      interrupt-parent = <&vic1>;
93      clock-frequency = <1846153>;
94      reg-shift = <0>;
95      status = "okay";
96      serial-line = <3>;
97      vuart_cfg = <&vuart_a_cfg>;
98    };
99
100    usb0: ehci@cefe0000 {
101      compatible = "generic-ehci";
102      reg = <0xcefe0000 0x100>;
103      interrupts = <7>;
104      interrupt-parent = <&vic0>;
105    };
106
107    usb1: ohci@cefe0100 {
108      compatible = "generic-ohci";
109      reg = <0xcefe0100 0x110>;
110      interrupts = <6>;
111      interrupt-parent = <&vic0>;
112    };
113
114    spifi0: spifi@c0000200 {
115      compatible = "hpe,gxp-spifi";
116      reg = <0xc0000200 0x80>, <0xc000c000 0x100>, <0xf8000000 0x8000000>;
117      interrupts = <20>;
118      interrupt-parent = <&vic0>;
119      #address-cells = <1>;
120      #size-cells = <0>;
121
122      flash@0 {
123        compatible = "jedec,spi-nor";
124        reg = <0>;
125        partitions {
126          compatible = "fixed-partitions";
127          #address-cells = <1>;
128          #size-cells = <1>;
129
130          bmc@0 {
131            label = "bmc";
132            reg = <0x0 0x2000000>;
133          };
134          u-boot@0 {
135            label = "u-boot";
136            reg = <0x0 0x60000>;
137          };
138          u-boot-env@60000 {
139            label = "u-boot-env";
140            reg = <0x60000 0x20000>;
141          };
142          kernel@80000 {
143            label = "kernel";
144            reg = <0x80000 0x4c0000>;
145          };
146          rofs@540000 {
147            label = "rofs";
148            reg = <0x540000 0x1740000>;
149          };
150          rwfs@1c80000 {
151            label = "rwfs";
152            reg = <0x1c80000 0x250000>;
153          };
154          section@1edf000{
155            label = "section";
156            reg = <0x1ed0000 0x130000>;
157          };
158        };
159      };
160
161      flash@1 {
162        compatible = "jedec,spi-nor";
163        reg = <1>;
164        partitions {
165          compatible = "fixed-partitions";
166          #address-cells = <1>;
167          #size-cells = <1>;
168          host-prime@0 {
169            label = "host-prime";
170            reg = <0x0 0x02000000>;
171          };
172          host-second@0 {
173            label = "host-second";
174            reg = <0x02000000 0x02000000>;
175          };
176        };
177      };
178    };
179
180    sram@d0000000 {
181      compatible = "mtd-ram";
182      reg = <0xd0000000 0x80000>;
183      bank-width = <1>;
184      erase-size =<1>;
185      partition@0 {
186        label = "host-reserved";
187        reg = <0x0 0x10000>;
188      };
189      partition@10000 {
190        label = "nvram";
191        reg = <0x10000 0x70000>;
192      };
193    };
194
195    srom@80fc0000 {
196      compatible = "hpe,gxp-srom", "simple-mfd", "syscon";
197      reg = <0x80fc0000 0x100>;
198    };
199
200    vrom@58000000 {
201      compatible = "mtd-ram";
202      bank-width = <4>;
203      reg = <0x58000000 0x4000000>;
204      #address-cells = <1>;
205      #size-cells = <1>;
206      partition@0 {
207        label = "vrom-prime";
208        reg = <0x0 0x2000000>;
209      };
210      partition@2000000 {
211        label = "vrom-second";
212        reg = <0x2000000 0x2000000>;
213      };
214    };
215
216    i2cg: i2cg@c00000f8 {
217      compatible = "syscon";
218      reg = <0xc00000f8 0x08>;
219    };
220
221    i2c0: i2c@c0002000 {
222      compatible = "hpe,gxp-i2c";
223      reg = <0xc0002000 0x70>;
224      interrupts = <9>;
225      interrupt-parent = <&vic0>;
226      i2cg-handle = <&i2cg>;
227      #address-cells = <1>;
228      #size-cells = <0>;
229    };
230
231    i2c1: i2c@c0002100 {
232      compatible = "hpe,gxp-i2c";
233      reg = <0xc0002100 0x70>;
234      interrupts = <9>;
235      interrupt-parent = <&vic0>;
236      i2cg-handle = <&i2cg>;
237      #address-cells = <1>;
238      #size-cells = <0>;
239    };
240
241    i2c2: i2c@c0002200 {
242      compatible = "hpe,gxp-i2c";
243      reg = <0xc0002200 0x70>;
244      interrupts = <9>;
245      interrupt-parent = <&vic0>;
246      i2cg-handle = <&i2cg>;
247      #address-cells = <1>;
248      #size-cells = <0>;
249
250      24c02@50 {
251        compatible = "atmel,24c02";
252        pagesize = <8>;
253        reg = <0x50>;
254      };
255    };
256
257    i2c3: i2c@c0002300 {
258      compatible = "hpe,gxp-i2c";
259      reg = <0xc0002300 0x70>;
260      interrupts = <9>;
261      interrupt-parent = <&vic0>;
262      i2cg-handle = <&i2cg>;
263      #address-cells = <1>;
264      #size-cells = <0>;
265    };
266
267    i2c4: i2c@c0002400 {
268      compatible = "hpe,gxp-i2c";
269      reg = <0xc0002400 0x70>;
270      interrupts = <9>;
271      interrupt-parent = <&vic0>;
272      i2cg-handle = <&i2cg>;
273      #address-cells = <1>;
274      #size-cells = <0>;
275    };
276
277    i2c5: i2c@c0002500 {
278      compatible = "hpe,gxp-i2c";
279      reg = <0xc0002500 0x70>;
280      interrupts = <9>;
281      interrupt-parent = <&vic0>;
282      i2cg-handle = <&i2cg>;
283    };
284
285    i2c6: i2c@c0002600 {
286      compatible = "hpe,gxp-i2c";
287      reg = <0xc0002600 0x70>;
288      interrupts = <9>;
289      interrupt-parent = <&vic0>;
290      i2cg-handle = <&i2cg>;
291      #address-cells = <1>;
292      #size-cells = <0>;
293    };
294
295    i2c7: i2c@c0002700 {
296      compatible = "hpe,gxp-i2c";
297      reg = <0xc0002700 0x70>;
298      interrupts = <9>;
299      interrupt-parent = <&vic0>;
300      i2cg-handle = <&i2cg>;
301      #address-cells = <1>;
302      #size-cells = <0>;
303
304      psu1: psu@58 {
305        compatible = "hpe,gxp-psu";
306        reg = <0x58>;
307      };
308
309      psu2: psu@59 {
310        compatible = "hpe,gxp-psu";
311        reg = <0x59>;
312      };
313    };
314
315    i2c8: i2c@c0002800 {
316      compatible = "hpe,gxp-i2c";
317      reg = <0xc0002800 0x70>;
318      interrupts = <9>;
319      interrupt-parent = <&vic0>;
320      i2cg-handle = <&i2cg>;
321      #address-cells = <1>;
322      #size-cells = <0>;
323    };
324
325    i2c9: i2c@c0002900 {
326      compatible = "hpe,gxp-i2c";
327      reg = <0xc0002900 0x70>;
328      interrupts = <9>;
329      interrupt-parent = <&vic0>;
330      i2cg-handle = <&i2cg>;
331      #address-cells = <1>;
332      #size-cells = <0>;
333    };
334
335    i2cmux@4 {
336      compatible = "i2c-mux-reg";
337      i2c-parent = <&i2c4>;
338      reg = <0xd1000374 1>;
339      #address-cells = <1>;
340      #size-cells = <0>;
341
342      i2c4@1 {
343        reg = <1>;
344        #address-cells = <1>;
345        #size-cells = <0>;
346      };
347
348      i2c4@3 {
349        reg = <3>;
350        #address-cells = <1>;
351        #size-cells = <0>;
352      };
353
354      i2c4@4 {
355        reg = <4>;
356        #address-cells = <1>;
357        #size-cells = <0>;
358      };
359    };
360
361    i2cmux@6 {
362      compatible = "i2c-mux-reg";
363      i2c-parent = <&i2c6>;
364      reg = <0xd1000376 1>;
365      #address-cells = <1>;
366      #size-cells = <0>;
367
368      i2c6@1 {
369        reg = <1>;
370        #address-cells = <1>;
371        #size-cells = <0>;
372      };
373
374      i2c6@2 {
375        reg = <2>;
376        #address-cells = <1>;
377        #size-cells = <0>;
378      };
379
380      i2c6@3 {
381        reg = <3>;
382        #address-cells = <1>;
383        #size-cells = <0>;
384      };
385
386      i2c6@4 {
387        reg = <4>;
388        #address-cells = <1>;
389        #size-cells = <0>;
390      };
391
392      i2c6@5 {
393        reg = <5>;
394        #address-cells = <1>;
395        #size-cells = <0>;
396      };
397    };
398
399    mdio0: mdio@c0004080 {
400      compatible = "hpe,gxp-umac-mdio";
401      reg = <0xc0004080 0x10>;
402      #address-cells = <1>;
403      #size-cells = <0>;
404      ext_phy0: ethernt-phy@0 {
405        compatible = "marvell,88e1415","ethernet-phy-ieee802.3-c22";
406        phy-mode = "sgmii";
407        reg = <0>;
408      };
409    };
410
411    mdio1: mdio@c0005080 {
412      compatible = "hpe,gxp-umac-mdio";
413      reg = <0xc0005080 0x10>;
414      #address-cells = <1>;
415      #size-cells = <0>;
416      int_phy0: ethernt-phy@0 {
417        compatible = "ethernet-phy-ieee802.3-c22";
418        phy-mode = "gmii";
419        reg = <0>;
420      };
421      int_phy1: ethernt-phy@1 {
422        compatible = "ethernet-phy-ieee802.3-c22";
423        phy-mode = "gmii";
424        reg = <1>;
425      };
426    };
427
428    umac0: umac@c0004000 {
429      compatible = "hpe, gxp-umac";
430      reg = <0xc0004000 0x80>;
431      interrupts = <10>;
432      interrupt-parent = <&vic0>;
433      mac-address = [94 18 82 16 04 d8];
434      phy-handle = <&ext_phy0>;
435      int-phy-handle = <&int_phy0>;
436    };
437
438    umac1: umac@c0005000 {
439      compatible = "hpe, gxp-umac";
440      use-ncsi;
441      reg = <0xc0005000 0x80>;
442      interrupts = <11>;
443      interrupt-parent = <&vic0>;
444      mac-address = [94 18 82 16 04 d9];
445      phy-handle = <&int_phy1>;
446    };
447
448    kcs_conf: kcs_conf@80fc0430 {
449      compatible = "hpe,gxp-kcs-bmc-cfg", "simple-mfd", "syscon";
450      reg = <0x80fc0430 0x100>;
451    };
452
453    kcs_reg: kcs_reg@080fd0400 {
454      compatible = "hpe,gxp-kcs-bmc";
455      reg = <0x80fd0400 0x8>;
456      interrupts = <6>;
457      interrupt-parent = <&vic1>;
458      kcs_chan = <1>;
459      status = "okay";
460      kcs-bmc-cfg = <&kcs_conf>;
461    };
462
463    thumbnail: thumbnail@c0000500 {
464      compatible = "hpe,gxp-video-thumbnail";
465      reg = <0xc0000500 0x20>;
466      bits-per-pixel = <32>;
467      width = <1024>;
468      height = <768>;
469    };
470
471    xreg: xreg@d1000300 {
472      compatible = "hpe,gxp-xreg", "simple-mfd", "syscon";
473      reg = <0xd1000300 0xFF>;
474      interrupts = <26>;
475      interrupt-parent = <&vic0>;
476      #gpio-cells = <2>;
477      gpio-line-names =
478      "", "", "", "", "", "", "POWER", "HEARTBEAT", "FAN1_INST", "FAN2_INST",
479      "FAN3_INST", "FAN4_INST", "FAN5_INST", "FAN6_INST", "FAN7_INST", "FAN8_INST", "FAN9_INST", "FAN10_INST", "FAN11_INST", "FAN12_INST",
480      "FAN13_INST", "FAN14_INST", "FAN15_INST", "FAN16_INST", "FAN1_FAIL", "FAN2_FAIL", "FAN3_FAIL", "FAN4_FAIL", "FAN5_FAIL", "FAN6_FAIL",
481      "FAN7_FAIL", "FAN8_FAIL", "FAN9_FAIL", "FAN10_FAIL", "FAN11_FAIL", "FAN12_FAIL", "FAN13_FAIL", "FAN14_FAIL", "FAN15_FAIL", "FAN16_FAIL",
482      "", "", "", "", "", "", "", "", "", "",
483      "", "", "", "", "", "", "IDENTIFY", "HEALTH_RED", "HEALTH_AMBER", "POWER_BUTTON",
484      "", "SIO_POWER_GOOD", "NMI_BUTTON", "RESET_BUTTON", "SIO_S5", "SIO_ONCONTROL", "", "", "", "",
485      "", "", "", "", "", "", "", "", "", "",
486      "", "", "", "", "", "", "", "", "", "",
487      "", "", "", "", "", "", "", "", "", "";
488    };
489
490    fanctrl: fanctrl@c1000c00 {
491      compatible = "hpe,gxp-fan-ctrl";
492      reg = <0xc1000c00 0x200>;
493      xreg_handle = <&xreg>;
494      fn2_handle = <&fn2>;
495    };
496
497    fn2: fn2@80200000 {
498      compatible = "hpe,gxp-fn2", "simple-mfd", "syscon";
499      reg = <0x80200000 0x100000>;
500      xreg_handle = <&xreg>;
501      interrupts = <0>;
502      interrupt-parent = <&vic1>;
503      #gpio-cells = <2>;
504      gpio-line-names =
505      "POWER_OUT", "PS_PWROK", "PCIERST", "POST_COMPLETE", "", "", "", "", "", "",
506      "", "", "", "", "", "", "", "", "", "",
507      "", "", "", "", "", "", "", "", "", "",
508      "", "", "", "", "", "", "", "", "", "",
509      "", "", "", "", "", "", "", "", "", "",
510      "", "", "", "", "", "", "", "", "", "",
511      "", "", "", "", "", "", "", "", "", "",
512      "", "", "", "", "", "", "", "", "", "",
513      "", "", "", "", "", "", "", "", "", "",
514      "", "", "", "", "", "", "", "", "", "";
515      chif {
516        compatible = "hpe,gxp-chif";
517        interrupts = <12>;
518      };
519    };
520
521    csm: csm@80000000 {
522      compatible = "hpe,gxp-csm", "simple-mfd", "syscon";
523      reg = <0x80000000 0x400>;
524    };
525
526    gpio: gpio@0 {
527      compatible = "hpe,gxp-gpio";
528      #gpio-cells = <2>;
529      csm_handle = <&csm>;
530      vuhc0_handle = <&vuhc0>;
531      gpio-line-names =
532      "", "", "", "", "", "", "", "", "", "",
533      "", "", "", "", "", "", "", "", "", "",
534      "", "", "", "", "", "", "", "", "", "",
535      "", "", "", "", "", "", "", "", "", "",
536      "", "", "", "", "", "", "", "", "", "",
537      "", "", "", "", "", "", "", "", "", "",
538      "", "", "", "", "", "", "", "", "", "",
539      "", "", "", "", "", "", "", "", "", "",
540      "", "", "", "", "", "", "", "", "", "",
541      "", "", "", "", "", "", "", "", "", "",
542      "", "", "", "", "", "", "", "", "", "",
543      "", "", "", "", "", "", "", "", "", "",
544      "", "", "", "", "", "", "", "", "", "",
545      "", "", "", "", "", "", "", "", "", "",
546      "", "", "", "", "", "", "", "", "", "",
547      "", "", "", "", "", "", "", "", "", "",
548      "", "", "", "", "", "", "", "", "", "",
549      "", "", "", "", "", "", "", "", "", "",
550      "", "", "", "", "", "", "", "", "", "",
551      "", "", "RESET_OUT", "NMI_OUT", "", "", "", "", "", "",
552      "", "", "", "", "", "", "", "", "", "",
553      "", "", "", "", "", "", "", "", "", "",
554      "", "", "", "", "", "", "", "", "", "",
555      "", "", "", "", "", "", "", "", "", "",
556      "", "", "", "", "", "", "", "", "", "",
557      "", "", "", "", "", "", "", "", "", "",
558      "", "", "", "", "", "", "", "", "", "",
559      "", "", "", "", "", "", "", "", "", "",
560      "", "", "", "", "", "", "", "", "", "",
561      "", "", "", "", "", "", "", "", "", "";
562    };
563
564    leds: leds {
565      compatible = "gpio-leds";
566
567      power {
568        gpios = <&xreg 6 0>;
569        default-state = "off";
570      };
571
572      heartbeat {
573        gpios = <&xreg 7 0>;
574        default-state = "off";
575      };
576
577      identify {
578        gpios = <&xreg 56 0>;
579        default-state = "off";
580      };
581
582      health_red {
583        gpios = <&xreg 57 0>;
584        default-state = "off";
585      };
586
587      health_amber {
588        gpios = <&xreg 58 0>;
589        default-state = "off";
590      };
591    };
592
593    xreg_kyes: xreg_keys {
594      compatible = "gpio-keys-polled";
595      poll-interval = <100>;
596
597      IdButton {
598        label = "ID Button";
599        linux,code = <200>;
600        gpios = <&xreg 60 1>;
601      };
602    };
603
604    vuhc: vuhc {
605      compatible = "gpio-keys-polled";
606      poll-interval = <100>;
607
608      PortOwner@0 {
609        label = "Port Owner";
610        linux,code = <200>;
611        gpios = <&gpio 250 1>;
612      };
613
614      PortOwner@1 {
615        label = "Port Owner";
616        linux,code = <201>;
617        gpios = <&gpio 251 1>;
618      };
619
620      PortOwner@2 {
621        label = "Port Owner";
622        linux,code = <202>;
623        gpios = <&gpio 252 1>;
624      };
625    };
626
627    vuhc0: vuhc@80400080 {
628      compatible = "syscon";
629      reg = <0x80400000 0x80>;
630    };
631
632    udcg: udcg@80400800 {
633      compatible = "syscon";
634      reg = <0x80400800 0x200>;
635    };
636
637    udc0: udc@80401000 {
638      compatible = "hpe, gxp-udc";
639      reg = <0x80401000 0x1000>;
640      interrupts = <13>;
641      interrupt-parent = <&vic1>;
642      vdevnum = <0>;
643      fepnum = <4>;
644      udcg-handle = <&udcg>;
645    };
646
647    udc1: udc@80402000 {
648      compatible = "hpe, gxp-udc";
649      reg = <0x80402000 0x1000>;
650      interrupts = <13>;
651      interrupt-parent = <&vic1>;
652      vdevnum = <1>;
653      fepnum = <4>;
654      udcg-handle = <&udcg>;
655    };
656
657    udc2: udc@80403000 {
658      compatible = "hpe, gxp-udc";
659      reg = <0x80403000 0x1000>;
660      interrupts = <13>;
661      interrupt-parent = <&vic1>;
662      vdevnum = <2>;
663      fepnum = <4>;
664      udcg-handle = <&udcg>;
665    };
666
667    coretemp: coretemp@c0000130 {
668      compatible = "hpe,gxp-coretemp";
669      reg = <0xc0000130 0x8>;
670    };
671
672    syspower: syspower {
673      compatible = "hpe,gxp-power";
674      psu_phandle = <&psu1>, <&psu2>;
675    };
676
677    peci: peci@80000400 {
678      compatible = "hpe,gxp-peci";
679      reg = <0x80000400 0x200>;
680      interrupts = <22>;
681      interrupt-parent = <&vic1>;
682    };
683  };
684
685  clocks {
686    osc: osc {
687      compatible = "fixed-clock";
688      #clock-cells = <0>;
689      clock-output-names = "osc";
690      clock-frequency = <33333333>;
691    };
692
693    iopclk: iopclk {
694      compatible = "fixed-clock";
695      #clock-cells = <0>;
696      clocks = <&osc>;
697      clock-out-put-names = "iopclk";
698      clock-frequency = <400000000>;
699    };
700
701    memclk: memclk {
702      compatible = "fixed-clock";
703      #clock-cells = <0>;
704      clocks = <&osc>;
705      clock-out-put-names = "memclk";
706      clock-frequency = <800000000>;
707    };
708  };
709};
710