GNU Linux-libre 5.19-rc6-gnu
[releases.git] / arch / arm / boot / dts / aspeed-g6.dtsi
1 // SPDX-License-Identifier: GPL-2.0-or-later
2 // Copyright 2019 IBM Corp.
3
4 #include <dt-bindings/interrupt-controller/arm-gic.h>
5 #include <dt-bindings/interrupt-controller/aspeed-scu-ic.h>
6 #include <dt-bindings/clock/ast2600-clock.h>
7
8 / {
9         model = "Aspeed BMC";
10         compatible = "aspeed,ast2600";
11         #address-cells = <1>;
12         #size-cells = <1>;
13         interrupt-parent = <&gic>;
14
15         aliases {
16                 i2c0 = &i2c0;
17                 i2c1 = &i2c1;
18                 i2c2 = &i2c2;
19                 i2c3 = &i2c3;
20                 i2c4 = &i2c4;
21                 i2c5 = &i2c5;
22                 i2c6 = &i2c6;
23                 i2c7 = &i2c7;
24                 i2c8 = &i2c8;
25                 i2c9 = &i2c9;
26                 i2c10 = &i2c10;
27                 i2c11 = &i2c11;
28                 i2c12 = &i2c12;
29                 i2c13 = &i2c13;
30                 i2c14 = &i2c14;
31                 i2c15 = &i2c15;
32                 serial0 = &uart1;
33                 serial1 = &uart2;
34                 serial2 = &uart3;
35                 serial3 = &uart4;
36                 serial4 = &uart5;
37                 serial5 = &vuart1;
38                 serial6 = &vuart2;
39         };
40
41
42         cpus {
43                 #address-cells = <1>;
44                 #size-cells = <0>;
45                 enable-method = "aspeed,ast2600-smp";
46
47                 cpu@f00 {
48                         compatible = "arm,cortex-a7";
49                         device_type = "cpu";
50                         reg = <0xf00>;
51                 };
52
53                 cpu@f01 {
54                         compatible = "arm,cortex-a7";
55                         device_type = "cpu";
56                         reg = <0xf01>;
57                 };
58         };
59
60         timer {
61                 compatible = "arm,armv7-timer";
62                 interrupt-parent = <&gic>;
63                 interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>,
64                              <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>,
65                              <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>,
66                              <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>;
67                 clocks = <&syscon ASPEED_CLK_HPLL>;
68                 arm,cpu-registers-not-fw-configured;
69                 always-on;
70         };
71
72         edac: sdram@1e6e0000 {
73                 compatible = "aspeed,ast2600-sdram-edac", "syscon";
74                 reg = <0x1e6e0000 0x174>;
75                 interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>;
76         };
77
78         ahb {
79                 compatible = "simple-bus";
80                 #address-cells = <1>;
81                 #size-cells = <1>;
82                 device_type = "soc";
83                 ranges;
84
85                 gic: interrupt-controller@40461000 {
86                         compatible = "arm,cortex-a7-gic";
87                         interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_HIGH)>;
88                         #interrupt-cells = <3>;
89                         interrupt-controller;
90                         interrupt-parent = <&gic>;
91                         reg = <0x40461000 0x1000>,
92                             <0x40462000 0x1000>,
93                             <0x40464000 0x2000>,
94                             <0x40466000 0x2000>;
95                         };
96
97                 fmc: spi@1e620000 {
98                         reg = <0x1e620000 0xc4>, <0x20000000 0x10000000>;
99                         #address-cells = <1>;
100                         #size-cells = <0>;
101                         compatible = "aspeed,ast2600-fmc";
102                         clocks = <&syscon ASPEED_CLK_AHB>;
103                         status = "disabled";
104                         interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
105                         flash@0 {
106                                 reg = < 0 >;
107                                 compatible = "jedec,spi-nor";
108                                 spi-max-frequency = <50000000>;
109                                 spi-rx-bus-width = <2>;
110                                 status = "disabled";
111                         };
112                         flash@1 {
113                                 reg = < 1 >;
114                                 compatible = "jedec,spi-nor";
115                                 spi-max-frequency = <50000000>;
116                                 spi-rx-bus-width = <2>;
117                                 status = "disabled";
118                         };
119                         flash@2 {
120                                 reg = < 2 >;
121                                 compatible = "jedec,spi-nor";
122                                 spi-max-frequency = <50000000>;
123                                 spi-rx-bus-width = <2>;
124                                 status = "disabled";
125                         };
126                 };
127
128                 spi1: spi@1e630000 {
129                         reg = <0x1e630000 0xc4>, <0x30000000 0x10000000>;
130                         #address-cells = <1>;
131                         #size-cells = <0>;
132                         compatible = "aspeed,ast2600-spi";
133                         clocks = <&syscon ASPEED_CLK_AHB>;
134                         status = "disabled";
135                         flash@0 {
136                                 reg = < 0 >;
137                                 compatible = "jedec,spi-nor";
138                                 spi-max-frequency = <50000000>;
139                                 spi-rx-bus-width = <2>;
140                                 status = "disabled";
141                         };
142                         flash@1 {
143                                 reg = < 1 >;
144                                 compatible = "jedec,spi-nor";
145                                 spi-max-frequency = <50000000>;
146                                 spi-rx-bus-width = <2>;
147                                 status = "disabled";
148                         };
149                 };
150
151                 spi2: spi@1e631000 {
152                         reg = <0x1e631000 0xc4>, <0x50000000 0x10000000>;
153                         #address-cells = <1>;
154                         #size-cells = <0>;
155                         compatible = "aspeed,ast2600-spi";
156                         clocks = <&syscon ASPEED_CLK_AHB>;
157                         status = "disabled";
158                         flash@0 {
159                                 reg = < 0 >;
160                                 compatible = "jedec,spi-nor";
161                                 spi-max-frequency = <50000000>;
162                                 spi-rx-bus-width = <2>;
163                                 status = "disabled";
164                         };
165                         flash@1 {
166                                 reg = < 1 >;
167                                 compatible = "jedec,spi-nor";
168                                 spi-max-frequency = <50000000>;
169                                 spi-rx-bus-width = <2>;
170                                 status = "disabled";
171                         };
172                         flash@2 {
173                                 reg = < 2 >;
174                                 compatible = "jedec,spi-nor";
175                                 spi-max-frequency = <50000000>;
176                                 spi-rx-bus-width = <2>;
177                                 status = "disabled";
178                         };
179                 };
180
181                 mdio0: mdio@1e650000 {
182                         compatible = "aspeed,ast2600-mdio";
183                         reg = <0x1e650000 0x8>;
184                         #address-cells = <1>;
185                         #size-cells = <0>;
186                         status = "disabled";
187                         pinctrl-names = "default";
188                         pinctrl-0 = <&pinctrl_mdio1_default>;
189                         resets = <&syscon ASPEED_RESET_MII>;
190                 };
191
192                 mdio1: mdio@1e650008 {
193                         compatible = "aspeed,ast2600-mdio";
194                         reg = <0x1e650008 0x8>;
195                         #address-cells = <1>;
196                         #size-cells = <0>;
197                         status = "disabled";
198                         pinctrl-names = "default";
199                         pinctrl-0 = <&pinctrl_mdio2_default>;
200                         resets = <&syscon ASPEED_RESET_MII>;
201                 };
202
203                 mdio2: mdio@1e650010 {
204                         compatible = "aspeed,ast2600-mdio";
205                         reg = <0x1e650010 0x8>;
206                         #address-cells = <1>;
207                         #size-cells = <0>;
208                         status = "disabled";
209                         pinctrl-names = "default";
210                         pinctrl-0 = <&pinctrl_mdio3_default>;
211                         resets = <&syscon ASPEED_RESET_MII>;
212                 };
213
214                 mdio3: mdio@1e650018 {
215                         compatible = "aspeed,ast2600-mdio";
216                         reg = <0x1e650018 0x8>;
217                         #address-cells = <1>;
218                         #size-cells = <0>;
219                         status = "disabled";
220                         pinctrl-names = "default";
221                         pinctrl-0 = <&pinctrl_mdio4_default>;
222                         resets = <&syscon ASPEED_RESET_MII>;
223                 };
224
225                 mac0: ftgmac@1e660000 {
226                         compatible = "aspeed,ast2600-mac", "faraday,ftgmac100";
227                         reg = <0x1e660000 0x180>;
228                         #address-cells = <1>;
229                         #size-cells = <0>;
230                         interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
231                         clocks = <&syscon ASPEED_CLK_GATE_MAC1CLK>;
232                         status = "disabled";
233                 };
234
235                 mac1: ftgmac@1e680000 {
236                         compatible = "aspeed,ast2600-mac", "faraday,ftgmac100";
237                         reg = <0x1e680000 0x180>;
238                         #address-cells = <1>;
239                         #size-cells = <0>;
240                         interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
241                         clocks = <&syscon ASPEED_CLK_GATE_MAC2CLK>;
242                         status = "disabled";
243                 };
244
245                 mac2: ftgmac@1e670000 {
246                         compatible = "aspeed,ast2600-mac", "faraday,ftgmac100";
247                         reg = <0x1e670000 0x180>;
248                         #address-cells = <1>;
249                         #size-cells = <0>;
250                         interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
251                         clocks = <&syscon ASPEED_CLK_GATE_MAC3CLK>;
252                         status = "disabled";
253                 };
254
255                 mac3: ftgmac@1e690000 {
256                         compatible = "aspeed,ast2600-mac", "faraday,ftgmac100";
257                         reg = <0x1e690000 0x180>;
258                         #address-cells = <1>;
259                         #size-cells = <0>;
260                         interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
261                         clocks = <&syscon ASPEED_CLK_GATE_MAC4CLK>;
262                         status = "disabled";
263                 };
264
265                 ehci0: usb@1e6a1000 {
266                         compatible = "aspeed,ast2600-ehci", "generic-ehci";
267                         reg = <0x1e6a1000 0x100>;
268                         interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
269                         clocks = <&syscon ASPEED_CLK_GATE_USBPORT1CLK>;
270                         pinctrl-names = "default";
271                         pinctrl-0 = <&pinctrl_usb2ah_default>;
272                         status = "disabled";
273                 };
274
275                 ehci1: usb@1e6a3000 {
276                         compatible = "aspeed,ast2600-ehci", "generic-ehci";
277                         reg = <0x1e6a3000 0x100>;
278                         interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
279                         clocks = <&syscon ASPEED_CLK_GATE_USBPORT2CLK>;
280                         pinctrl-names = "default";
281                         pinctrl-0 = <&pinctrl_usb2bh_default>;
282                         status = "disabled";
283                 };
284
285                 uhci: usb@1e6b0000 {
286                         compatible = "aspeed,ast2600-uhci", "generic-uhci";
287                         reg = <0x1e6b0000 0x100>;
288                         interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
289                         #ports = <2>;
290                         clocks = <&syscon ASPEED_CLK_GATE_USBUHCICLK>;
291                         status = "disabled";
292                         /*
293                          * No default pinmux, it will follow EHCI, use an
294                          * explicit pinmux override if EHCI is not enabled.
295                          */
296                 };
297
298                 vhub: usb-vhub@1e6a0000 {
299                         compatible = "aspeed,ast2600-usb-vhub";
300                         reg = <0x1e6a0000 0x350>;
301                         interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
302                         clocks = <&syscon ASPEED_CLK_GATE_USBPORT1CLK>;
303                         aspeed,vhub-downstream-ports = <7>;
304                         aspeed,vhub-generic-endpoints = <21>;
305                         pinctrl-names = "default";
306                         pinctrl-0 = <&pinctrl_usb2ad_default>;
307                         status = "disabled";
308                 };
309
310                 udc: usb@1e6a2000 {
311                         compatible = "aspeed,ast2600-udc";
312                         reg = <0x1e6a2000 0x300>;
313                         interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
314                         clocks = <&syscon ASPEED_CLK_GATE_USBPORT2CLK>;
315                         pinctrl-names = "default";
316                         pinctrl-0 = <&pinctrl_usb2bd_default>;
317                         status = "disabled";
318                 };
319
320                 apb {
321                         compatible = "simple-bus";
322                         #address-cells = <1>;
323                         #size-cells = <1>;
324                         ranges;
325
326                         syscon: syscon@1e6e2000 {
327                                 compatible = "aspeed,ast2600-scu", "syscon", "simple-mfd";
328                                 reg = <0x1e6e2000 0x1000>;
329                                 ranges = <0 0x1e6e2000 0x1000>;
330                                 #address-cells = <1>;
331                                 #size-cells = <1>;
332                                 #clock-cells = <1>;
333                                 #reset-cells = <1>;
334
335                                 pinctrl: pinctrl {
336                                         compatible = "aspeed,ast2600-pinctrl";
337                                 };
338
339                                 silicon-id@14 {
340                                         compatible = "aspeed,ast2600-silicon-id", "aspeed,silicon-id";
341                                         reg = <0x14 0x4 0x5b0 0x8>;
342                                 };
343
344                                 smp-memram@180 {
345                                         compatible = "aspeed,ast2600-smpmem";
346                                         reg = <0x180 0x40>;
347                                 };
348
349                                 scu_ic0: interrupt-controller@560 {
350                                         #interrupt-cells = <1>;
351                                         compatible = "aspeed,ast2600-scu-ic0";
352                                         reg = <0x560 0x4>;
353                                         interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
354                                         interrupt-controller;
355                                 };
356
357                                 scu_ic1: interrupt-controller@570 {
358                                         #interrupt-cells = <1>;
359                                         compatible = "aspeed,ast2600-scu-ic1";
360                                         reg = <0x570 0x4>;
361                                         interrupts = <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>;
362                                         interrupt-controller;
363                                 };
364                         };
365
366                         rng: hwrng@1e6e2524 {
367                                 compatible = "timeriomem_rng";
368                                 reg = <0x1e6e2524 0x4>;
369                                 period = <1>;
370                                 quality = <100>;
371                         };
372
373                         gfx: display@1e6e6000 {
374                                 compatible = "aspeed,ast2600-gfx", "syscon";
375                                 reg = <0x1e6e6000 0x1000>;
376                                 reg-io-width = <4>;
377                                 clocks = <&syscon ASPEED_CLK_GATE_D1CLK>;
378                                 resets = <&syscon ASPEED_RESET_GRAPHICS>;
379                                 syscon = <&syscon>;
380                                 status = "disabled";
381                                 interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
382                         };
383
384                         xdma: xdma@1e6e7000 {
385                                 compatible = "aspeed,ast2600-xdma";
386                                 reg = <0x1e6e7000 0x100>;
387                                 clocks = <&syscon ASPEED_CLK_GATE_BCLK>;
388                                 resets = <&syscon ASPEED_RESET_DEV_XDMA>, <&syscon ASPEED_RESET_RC_XDMA>;
389                                 reset-names = "device", "root-complex";
390                                 interrupts-extended = <&gic GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
391                                                       <&scu_ic0 ASPEED_AST2600_SCU_IC0_PCIE_PERST_LO_TO_HI>;
392                                 aspeed,pcie-device = "bmc";
393                                 aspeed,scu = <&syscon>;
394                                 status = "disabled";
395                         };
396
397                         adc0: adc@1e6e9000 {
398                                 compatible = "aspeed,ast2600-adc0";
399                                 reg = <0x1e6e9000 0x100>;
400                                 clocks = <&syscon ASPEED_CLK_APB2>;
401                                 resets = <&syscon ASPEED_RESET_ADC>;
402                                 interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
403                                 #io-channel-cells = <1>;
404                                 status = "disabled";
405                         };
406
407                         adc1: adc@1e6e9100 {
408                                 compatible = "aspeed,ast2600-adc1";
409                                 reg = <0x1e6e9100 0x100>;
410                                 clocks = <&syscon ASPEED_CLK_APB2>;
411                                 resets = <&syscon ASPEED_RESET_ADC>;
412                                 interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
413                                 #io-channel-cells = <1>;
414                                 status = "disabled";
415                         };
416
417                         sbc: secure-boot-controller@1e6f2000 {
418                                 compatible = "aspeed,ast2600-sbc";
419                                 reg = <0x1e6f2000 0x1000>;
420                         };
421
422                         video: video@1e700000 {
423                                 compatible = "aspeed,ast2600-video-engine";
424                                 reg = <0x1e700000 0x1000>;
425                                 clocks = <&syscon ASPEED_CLK_GATE_VCLK>,
426                                          <&syscon ASPEED_CLK_GATE_ECLK>;
427                                 clock-names = "vclk", "eclk";
428                                 interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
429                                 status = "disabled";
430                         };
431
432                         gpio0: gpio@1e780000 {
433                                 #gpio-cells = <2>;
434                                 gpio-controller;
435                                 compatible = "aspeed,ast2600-gpio";
436                                 reg = <0x1e780000 0x400>;
437                                 interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
438                                 gpio-ranges = <&pinctrl 0 0 208>;
439                                 ngpios = <208>;
440                                 clocks = <&syscon ASPEED_CLK_APB2>;
441                                 interrupt-controller;
442                                 #interrupt-cells = <2>;
443                         };
444
445                         sgpiom0: sgpiom@1e780500 {
446                                 #gpio-cells = <2>;
447                                 gpio-controller;
448                                 compatible = "aspeed,ast2600-sgpiom";
449                                 reg = <0x1e780500 0x100>;
450                                 interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>;
451                                 clocks = <&syscon ASPEED_CLK_APB2>;
452                                 interrupt-controller;
453                                 bus-frequency = <12000000>;
454                                 pinctrl-names = "default";
455                                 pinctrl-0 = <&pinctrl_sgpm1_default>;
456                                 status = "disabled";
457                         };
458
459                         sgpiom1: sgpiom@1e780600 {
460                                 #gpio-cells = <2>;
461                                 gpio-controller;
462                                 compatible = "aspeed,ast2600-sgpiom";
463                                 reg = <0x1e780600 0x100>;
464                                 interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>;
465                                 clocks = <&syscon ASPEED_CLK_APB2>;
466                                 interrupt-controller;
467                                 bus-frequency = <12000000>;
468                                 pinctrl-names = "default";
469                                 pinctrl-0 = <&pinctrl_sgpm2_default>;
470                                 status = "disabled";
471                         };
472
473                         gpio1: gpio@1e780800 {
474                                 #gpio-cells = <2>;
475                                 gpio-controller;
476                                 compatible = "aspeed,ast2600-gpio";
477                                 reg = <0x1e780800 0x800>;
478                                 interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
479                                 gpio-ranges = <&pinctrl 0 208 36>;
480                                 ngpios = <36>;
481                                 clocks = <&syscon ASPEED_CLK_APB1>;
482                                 interrupt-controller;
483                                 #interrupt-cells = <2>;
484                         };
485
486                         rtc: rtc@1e781000 {
487                                 compatible = "aspeed,ast2600-rtc";
488                                 reg = <0x1e781000 0x18>;
489                                 interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
490                                 status = "disabled";
491                         };
492
493                         timer: timer@1e782000 {
494                                 compatible = "aspeed,ast2600-timer";
495                                 reg = <0x1e782000 0x90>;
496                                 interrupts-extended = <&gic  GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>,
497                                                 <&gic  GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>,
498                                                 <&gic  GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>,
499                                                 <&gic  GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>,
500                                                 <&gic  GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>,
501                                                 <&gic  GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>,
502                                                 <&gic  GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>,
503                                                 <&gic  GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
504                                 clocks = <&syscon ASPEED_CLK_APB1>;
505                                 clock-names = "PCLK";
506                                 status = "disabled";
507                         };
508
509                         uart1: serial@1e783000 {
510                                 compatible = "ns16550a";
511                                 reg = <0x1e783000 0x20>;
512                                 reg-shift = <2>;
513                                 reg-io-width = <4>;
514                                 interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>;
515                                 clocks = <&syscon ASPEED_CLK_GATE_UART1CLK>;
516                                 resets = <&lpc_reset 4>;
517                                 no-loopback-test;
518                                 pinctrl-names = "default";
519                                 pinctrl-0 = <&pinctrl_txd1_default &pinctrl_rxd1_default>;
520                                 status = "disabled";
521                         };
522
523                         uart5: serial@1e784000 {
524                                 compatible = "ns16550a";
525                                 reg = <0x1e784000 0x1000>;
526                                 reg-shift = <2>;
527                                 interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
528                                 clocks = <&syscon ASPEED_CLK_GATE_UART5CLK>;
529                                 no-loopback-test;
530                         };
531
532                         wdt1: watchdog@1e785000 {
533                                 compatible = "aspeed,ast2600-wdt";
534                                 reg = <0x1e785000 0x40>;
535                         };
536
537                         wdt2: watchdog@1e785040 {
538                                 compatible = "aspeed,ast2600-wdt";
539                                 reg = <0x1e785040 0x40>;
540                                 status = "disabled";
541                         };
542
543                         wdt3: watchdog@1e785080 {
544                                 compatible = "aspeed,ast2600-wdt";
545                                 reg = <0x1e785080 0x40>;
546                                 status = "disabled";
547                         };
548
549                         wdt4: watchdog@1e7850c0 {
550                                 compatible = "aspeed,ast2600-wdt";
551                                 reg = <0x1e7850C0 0x40>;
552                                 status = "disabled";
553                         };
554
555                         peci0: peci-controller@1e78b000 {
556                                 compatible = "aspeed,ast2600-peci";
557                                 reg = <0x1e78b000 0x100>;
558                                 interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
559                                 clocks = <&syscon ASPEED_CLK_GATE_REF0CLK>;
560                                 resets = <&syscon ASPEED_RESET_PECI>;
561                                 cmd-timeout-ms = <1000>;
562                                 clock-frequency = <1000000>;
563                                 status = "disabled";
564                         };
565
566                         lpc: lpc@1e789000 {
567                                 compatible = "aspeed,ast2600-lpc-v2", "simple-mfd", "syscon";
568                                 reg = <0x1e789000 0x1000>;
569                                 reg-io-width = <4>;
570
571                                 #address-cells = <1>;
572                                 #size-cells = <1>;
573                                 ranges = <0x0 0x1e789000 0x1000>;
574
575                                 kcs1: kcs@24 {
576                                         compatible = "aspeed,ast2500-kcs-bmc-v2";
577                                         reg = <0x24 0x1>, <0x30 0x1>, <0x3c 0x1>;
578                                         interrupts = <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>;
579                                         clocks = <&syscon ASPEED_CLK_GATE_LCLK>;
580                                         kcs_chan = <1>;
581                                         status = "disabled";
582                                 };
583
584                                 kcs2: kcs@28 {
585                                         compatible = "aspeed,ast2500-kcs-bmc-v2";
586                                         reg = <0x28 0x1>, <0x34 0x1>, <0x40 0x1>;
587                                         interrupts = <GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>;
588                                         clocks = <&syscon ASPEED_CLK_GATE_LCLK>;
589                                         status = "disabled";
590                                 };
591
592                                 kcs3: kcs@2c {
593                                         compatible = "aspeed,ast2500-kcs-bmc-v2";
594                                         reg = <0x2c 0x1>, <0x38 0x1>, <0x44 0x1>;
595                                         interrupts = <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>;
596                                         clocks = <&syscon ASPEED_CLK_GATE_LCLK>;
597                                         status = "disabled";
598                                 };
599
600                                 kcs4: kcs@114 {
601                                         compatible = "aspeed,ast2500-kcs-bmc-v2";
602                                         reg = <0x114 0x1>, <0x118 0x1>, <0x11c 0x1>;
603                                         interrupts = <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>;
604                                         clocks = <&syscon ASPEED_CLK_GATE_LCLK>;
605                                         status = "disabled";
606                                 };
607
608                                 lpc_ctrl: lpc-ctrl@80 {
609                                         compatible = "aspeed,ast2600-lpc-ctrl";
610                                         reg = <0x80 0x80>;
611                                         clocks = <&syscon ASPEED_CLK_GATE_LCLK>;
612                                         status = "disabled";
613                                 };
614
615                                 lpc_snoop: lpc-snoop@80 {
616                                         compatible = "aspeed,ast2600-lpc-snoop";
617                                         reg = <0x80 0x80>;
618                                         interrupts = <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>;
619                                         clocks = <&syscon ASPEED_CLK_GATE_LCLK>;
620                                         status = "disabled";
621                                 };
622
623                                 lhc: lhc@a0 {
624                                         compatible = "aspeed,ast2600-lhc";
625                                         reg = <0xa0 0x24 0xc8 0x8>;
626                                 };
627
628                                 lpc_reset: reset-controller@98 {
629                                         compatible = "aspeed,ast2600-lpc-reset";
630                                         reg = <0x98 0x4>;
631                                         #reset-cells = <1>;
632                                 };
633
634                                 uart_routing: uart-routing@98 {
635                                         compatible = "aspeed,ast2600-uart-routing";
636                                         reg = <0x98 0x8>;
637                                         status = "disabled";
638                                 };
639
640                                 ibt: ibt@140 {
641                                         compatible = "aspeed,ast2600-ibt-bmc";
642                                         reg = <0x140 0x18>;
643                                         interrupts = <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>;
644                                         clocks = <&syscon ASPEED_CLK_GATE_LCLK>;
645                                         status = "disabled";
646                                 };
647                         };
648
649                         sdc: sdc@1e740000 {
650                                 compatible = "aspeed,ast2600-sd-controller";
651                                 reg = <0x1e740000 0x100>;
652                                 #address-cells = <1>;
653                                 #size-cells = <1>;
654                                 ranges = <0 0x1e740000 0x10000>;
655                                 clocks = <&syscon ASPEED_CLK_GATE_SDCLK>;
656                                 status = "disabled";
657
658                                 sdhci0: sdhci@1e740100 {
659                                         compatible = "aspeed,ast2600-sdhci", "sdhci";
660                                         reg = <0x100 0x100>;
661                                         interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>;
662                                         sdhci,auto-cmd12;
663                                         clocks = <&syscon ASPEED_CLK_SDIO>;
664                                         status = "disabled";
665                                 };
666
667                                 sdhci1: sdhci@1e740200 {
668                                         compatible = "aspeed,ast2600-sdhci", "sdhci";
669                                         reg = <0x200 0x100>;
670                                         interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>;
671                                         sdhci,auto-cmd12;
672                                         clocks = <&syscon ASPEED_CLK_SDIO>;
673                                         status = "disabled";
674                                 };
675                         };
676
677                         emmc_controller: sdc@1e750000 {
678                                 compatible = "aspeed,ast2600-sd-controller";
679                                 reg = <0x1e750000 0x100>;
680                                 #address-cells = <1>;
681                                 #size-cells = <1>;
682                                 ranges = <0 0x1e750000 0x10000>;
683                                 clocks = <&syscon ASPEED_CLK_GATE_EMMCCLK>;
684                                 status = "disabled";
685
686                                 emmc: sdhci@1e750100 {
687                                         compatible = "aspeed,ast2600-sdhci";
688                                         reg = <0x100 0x100>;
689                                         sdhci,auto-cmd12;
690                                         interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
691                                         clocks = <&syscon ASPEED_CLK_EMMC>;
692                                         pinctrl-names = "default";
693                                         pinctrl-0 = <&pinctrl_emmc_default>;
694                                 };
695                         };
696
697                         vuart1: serial@1e787000 {
698                                 compatible = "aspeed,ast2500-vuart";
699                                 reg = <0x1e787000 0x40>;
700                                 reg-shift = <2>;
701                                 interrupts = <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>;
702                                 clocks = <&syscon ASPEED_CLK_APB1>;
703                                 no-loopback-test;
704                                 status = "disabled";
705                         };
706
707                         vuart2: serial@1e788000 {
708                                 compatible = "aspeed,ast2500-vuart";
709                                 reg = <0x1e788000 0x40>;
710                                 reg-shift = <2>;
711                                 interrupts = <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>;
712                                 clocks = <&syscon ASPEED_CLK_APB1>;
713                                 no-loopback-test;
714                                 status = "disabled";
715                         };
716
717                         uart2: serial@1e78d000 {
718                                 compatible = "ns16550a";
719                                 reg = <0x1e78d000 0x20>;
720                                 reg-shift = <2>;
721                                 reg-io-width = <4>;
722                                 interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
723                                 clocks = <&syscon ASPEED_CLK_GATE_UART2CLK>;
724                                 resets = <&lpc_reset 5>;
725                                 no-loopback-test;
726                                 pinctrl-names = "default";
727                                 pinctrl-0 = <&pinctrl_txd2_default &pinctrl_rxd2_default>;
728                                 status = "disabled";
729                         };
730
731                         uart3: serial@1e78e000 {
732                                 compatible = "ns16550a";
733                                 reg = <0x1e78e000 0x20>;
734                                 reg-shift = <2>;
735                                 reg-io-width = <4>;
736                                 interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
737                                 clocks = <&syscon ASPEED_CLK_GATE_UART3CLK>;
738                                 resets = <&lpc_reset 6>;
739                                 no-loopback-test;
740                                 pinctrl-names = "default";
741                                 pinctrl-0 = <&pinctrl_txd3_default &pinctrl_rxd3_default>;
742                                 status = "disabled";
743                         };
744
745                         uart4: serial@1e78f000 {
746                                 compatible = "ns16550a";
747                                 reg = <0x1e78f000 0x20>;
748                                 reg-shift = <2>;
749                                 reg-io-width = <4>;
750                                 interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
751                                 clocks = <&syscon ASPEED_CLK_GATE_UART4CLK>;
752                                 resets = <&lpc_reset 7>;
753                                 no-loopback-test;
754                                 pinctrl-names = "default";
755                                 pinctrl-0 = <&pinctrl_txd4_default &pinctrl_rxd4_default>;
756                                 status = "disabled";
757                         };
758
759                         i2c: bus@1e78a000 {
760                                 compatible = "simple-bus";
761                                 #address-cells = <1>;
762                                 #size-cells = <1>;
763                                 ranges = <0 0x1e78a000 0x1000>;
764                         };
765
766                         fsim0: fsi@1e79b000 {
767                                 compatible = "aspeed,ast2600-fsi-master", "fsi-master";
768                                 reg = <0x1e79b000 0x94>;
769                                 interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
770                                 pinctrl-names = "default";
771                                 pinctrl-0 = <&pinctrl_fsi1_default>;
772                                 clocks = <&syscon ASPEED_CLK_GATE_FSICLK>;
773                                 status = "disabled";
774                         };
775
776                         fsim1: fsi@1e79b100 {
777                                 compatible = "aspeed,ast2600-fsi-master", "fsi-master";
778                                 reg = <0x1e79b100 0x94>;
779                                 interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
780                                 pinctrl-names = "default";
781                                 pinctrl-0 = <&pinctrl_fsi2_default>;
782                                 clocks = <&syscon ASPEED_CLK_GATE_FSICLK>;
783                                 status = "disabled";
784                         };
785                 };
786         };
787 };
788
789 #include "aspeed-g6-pinctrl.dtsi"
790
791 &i2c {
792         i2c0: i2c-bus@80 {
793                 #address-cells = <1>;
794                 #size-cells = <0>;
795                 #interrupt-cells = <1>;
796                 reg = <0x80 0x80>;
797                 compatible = "aspeed,ast2600-i2c-bus";
798                 clocks = <&syscon ASPEED_CLK_APB2>;
799                 resets = <&syscon ASPEED_RESET_I2C>;
800                 interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>;
801                 bus-frequency = <100000>;
802                 pinctrl-names = "default";
803                 pinctrl-0 = <&pinctrl_i2c1_default>;
804                 status = "disabled";
805         };
806
807         i2c1: i2c-bus@100 {
808                 #address-cells = <1>;
809                 #size-cells = <0>;
810                 #interrupt-cells = <1>;
811                 reg = <0x100 0x80>;
812                 compatible = "aspeed,ast2600-i2c-bus";
813                 clocks = <&syscon ASPEED_CLK_APB2>;
814                 resets = <&syscon ASPEED_RESET_I2C>;
815                 interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>;
816                 bus-frequency = <100000>;
817                 pinctrl-names = "default";
818                 pinctrl-0 = <&pinctrl_i2c2_default>;
819                 status = "disabled";
820         };
821
822         i2c2: i2c-bus@180 {
823                 #address-cells = <1>;
824                 #size-cells = <0>;
825                 #interrupt-cells = <1>;
826                 reg = <0x180 0x80>;
827                 compatible = "aspeed,ast2600-i2c-bus";
828                 clocks = <&syscon ASPEED_CLK_APB2>;
829                 resets = <&syscon ASPEED_RESET_I2C>;
830                 interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>;
831                 bus-frequency = <100000>;
832                 pinctrl-names = "default";
833                 pinctrl-0 = <&pinctrl_i2c3_default>;
834                 status = "disabled";
835         };
836
837         i2c3: i2c-bus@200 {
838                 #address-cells = <1>;
839                 #size-cells = <0>;
840                 #interrupt-cells = <1>;
841                 reg = <0x200 0x80>;
842                 compatible = "aspeed,ast2600-i2c-bus";
843                 clocks = <&syscon ASPEED_CLK_APB2>;
844                 resets = <&syscon ASPEED_RESET_I2C>;
845                 interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
846                 bus-frequency = <100000>;
847                 pinctrl-names = "default";
848                 pinctrl-0 = <&pinctrl_i2c4_default>;
849                 status = "disabled";
850         };
851
852         i2c4: i2c-bus@280 {
853                 #address-cells = <1>;
854                 #size-cells = <0>;
855                 #interrupt-cells = <1>;
856                 reg = <0x280 0x80>;
857                 compatible = "aspeed,ast2600-i2c-bus";
858                 clocks = <&syscon ASPEED_CLK_APB2>;
859                 resets = <&syscon ASPEED_RESET_I2C>;
860                 interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
861                 bus-frequency = <100000>;
862                 pinctrl-names = "default";
863                 pinctrl-0 = <&pinctrl_i2c5_default>;
864                 status = "disabled";
865         };
866
867         i2c5: i2c-bus@300 {
868                 #address-cells = <1>;
869                 #size-cells = <0>;
870                 #interrupt-cells = <1>;
871                 reg = <0x300 0x80>;
872                 compatible = "aspeed,ast2600-i2c-bus";
873                 clocks = <&syscon ASPEED_CLK_APB2>;
874                 resets = <&syscon ASPEED_RESET_I2C>;
875                 interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>;
876                 bus-frequency = <100000>;
877                 pinctrl-names = "default";
878                 pinctrl-0 = <&pinctrl_i2c6_default>;
879                 status = "disabled";
880         };
881
882         i2c6: i2c-bus@380 {
883                 #address-cells = <1>;
884                 #size-cells = <0>;
885                 #interrupt-cells = <1>;
886                 reg = <0x380 0x80>;
887                 compatible = "aspeed,ast2600-i2c-bus";
888                 clocks = <&syscon ASPEED_CLK_APB2>;
889                 resets = <&syscon ASPEED_RESET_I2C>;
890                 interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
891                 bus-frequency = <100000>;
892                 pinctrl-names = "default";
893                 pinctrl-0 = <&pinctrl_i2c7_default>;
894                 status = "disabled";
895         };
896
897         i2c7: i2c-bus@400 {
898                 #address-cells = <1>;
899                 #size-cells = <0>;
900                 #interrupt-cells = <1>;
901                 reg = <0x400 0x80>;
902                 compatible = "aspeed,ast2600-i2c-bus";
903                 clocks = <&syscon ASPEED_CLK_APB2>;
904                 resets = <&syscon ASPEED_RESET_I2C>;
905                 interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>;
906                 bus-frequency = <100000>;
907                 pinctrl-names = "default";
908                 pinctrl-0 = <&pinctrl_i2c8_default>;
909                 status = "disabled";
910         };
911
912         i2c8: i2c-bus@480 {
913                 #address-cells = <1>;
914                 #size-cells = <0>;
915                 #interrupt-cells = <1>;
916                 reg = <0x480 0x80>;
917                 compatible = "aspeed,ast2600-i2c-bus";
918                 clocks = <&syscon ASPEED_CLK_APB2>;
919                 resets = <&syscon ASPEED_RESET_I2C>;
920                 interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>;
921                 bus-frequency = <100000>;
922                 pinctrl-names = "default";
923                 pinctrl-0 = <&pinctrl_i2c9_default>;
924                 status = "disabled";
925         };
926
927         i2c9: i2c-bus@500 {
928                 #address-cells = <1>;
929                 #size-cells = <0>;
930                 #interrupt-cells = <1>;
931                 reg = <0x500 0x80>;
932                 compatible = "aspeed,ast2600-i2c-bus";
933                 clocks = <&syscon ASPEED_CLK_APB2>;
934                 resets = <&syscon ASPEED_RESET_I2C>;
935                 interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>;
936                 bus-frequency = <100000>;
937                 pinctrl-names = "default";
938                 pinctrl-0 = <&pinctrl_i2c10_default>;
939                 status = "disabled";
940         };
941
942         i2c10: i2c-bus@580 {
943                 #address-cells = <1>;
944                 #size-cells = <0>;
945                 #interrupt-cells = <1>;
946                 reg = <0x580 0x80>;
947                 compatible = "aspeed,ast2600-i2c-bus";
948                 clocks = <&syscon ASPEED_CLK_APB2>;
949                 resets = <&syscon ASPEED_RESET_I2C>;
950                 interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
951                 bus-frequency = <100000>;
952                 pinctrl-names = "default";
953                 pinctrl-0 = <&pinctrl_i2c11_default>;
954                 status = "disabled";
955         };
956
957         i2c11: i2c-bus@600 {
958                 #address-cells = <1>;
959                 #size-cells = <0>;
960                 #interrupt-cells = <1>;
961                 reg = <0x600 0x80>;
962                 compatible = "aspeed,ast2600-i2c-bus";
963                 clocks = <&syscon ASPEED_CLK_APB2>;
964                 resets = <&syscon ASPEED_RESET_I2C>;
965                 interrupts = <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>;
966                 bus-frequency = <100000>;
967                 pinctrl-names = "default";
968                 pinctrl-0 = <&pinctrl_i2c12_default>;
969                 status = "disabled";
970         };
971
972         i2c12: i2c-bus@680 {
973                 #address-cells = <1>;
974                 #size-cells = <0>;
975                 #interrupt-cells = <1>;
976                 reg = <0x680 0x80>;
977                 compatible = "aspeed,ast2600-i2c-bus";
978                 clocks = <&syscon ASPEED_CLK_APB2>;
979                 resets = <&syscon ASPEED_RESET_I2C>;
980                 interrupts = <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>;
981                 bus-frequency = <100000>;
982                 pinctrl-names = "default";
983                 pinctrl-0 = <&pinctrl_i2c13_default>;
984                 status = "disabled";
985         };
986
987         i2c13: i2c-bus@700 {
988                 #address-cells = <1>;
989                 #size-cells = <0>;
990                 #interrupt-cells = <1>;
991                 reg = <0x700 0x80>;
992                 compatible = "aspeed,ast2600-i2c-bus";
993                 clocks = <&syscon ASPEED_CLK_APB2>;
994                 resets = <&syscon ASPEED_RESET_I2C>;
995                 interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>;
996                 bus-frequency = <100000>;
997                 pinctrl-names = "default";
998                 pinctrl-0 = <&pinctrl_i2c14_default>;
999                 status = "disabled";
1000         };
1001
1002         i2c14: i2c-bus@780 {
1003                 #address-cells = <1>;
1004                 #size-cells = <0>;
1005                 #interrupt-cells = <1>;
1006                 reg = <0x780 0x80>;
1007                 compatible = "aspeed,ast2600-i2c-bus";
1008                 clocks = <&syscon ASPEED_CLK_APB2>;
1009                 resets = <&syscon ASPEED_RESET_I2C>;
1010                 interrupts = <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>;
1011                 bus-frequency = <100000>;
1012                 pinctrl-names = "default";
1013                 pinctrl-0 = <&pinctrl_i2c15_default>;
1014                 status = "disabled";
1015         };
1016
1017         i2c15: i2c-bus@800 {
1018                 #address-cells = <1>;
1019                 #size-cells = <0>;
1020                 #interrupt-cells = <1>;
1021                 reg = <0x800 0x80>;
1022                 compatible = "aspeed,ast2600-i2c-bus";
1023                 clocks = <&syscon ASPEED_CLK_APB2>;
1024                 resets = <&syscon ASPEED_RESET_I2C>;
1025                 interrupts = <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>;
1026                 bus-frequency = <100000>;
1027                 pinctrl-names = "default";
1028                 pinctrl-0 = <&pinctrl_i2c16_default>;
1029                 status = "disabled";
1030         };
1031 };