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			hace: crypto@1e6d0000 {
327				compatible = "aspeed,ast2600-hace";
328				reg = <0x1e6d0000 0x200>;
329				interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
330				clocks = <&syscon ASPEED_CLK_GATE_YCLK>;
331				resets = <&syscon ASPEED_RESET_HACE>;
332			};
333
334			syscon: syscon@1e6e2000 {
335				compatible = "aspeed,ast2600-scu", "syscon", "simple-mfd";
336				reg = <0x1e6e2000 0x1000>;
337				ranges = <0 0x1e6e2000 0x1000>;
338				#address-cells = <1>;
339				#size-cells = <1>;
340				#clock-cells = <1>;
341				#reset-cells = <1>;
342
343				pinctrl: pinctrl {
344					compatible = "aspeed,ast2600-pinctrl";
345				};
346
347				silicon-id@14 {
348					compatible = "aspeed,ast2600-silicon-id", "aspeed,silicon-id";
349					reg = <0x14 0x4 0x5b0 0x8>;
350				};
351
352				smp-memram@180 {
353					compatible = "aspeed,ast2600-smpmem";
354					reg = <0x180 0x40>;
355				};
356
357				scu_ic0: interrupt-controller@560 {
358					#interrupt-cells = <1>;
359					compatible = "aspeed,ast2600-scu-ic0";
360					reg = <0x560 0x4>;
361					interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
362					interrupt-controller;
363				};
364
365				scu_ic1: interrupt-controller@570 {
366					#interrupt-cells = <1>;
367					compatible = "aspeed,ast2600-scu-ic1";
368					reg = <0x570 0x4>;
369					interrupts = <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>;
370					interrupt-controller;
371				};
372			};
373
374			rng: hwrng@1e6e2524 {
375				compatible = "timeriomem_rng";
376				reg = <0x1e6e2524 0x4>;
377				period = <1>;
378				quality = <100>;
379			};
380
381			gfx: display@1e6e6000 {
382				compatible = "aspeed,ast2600-gfx", "syscon";
383				reg = <0x1e6e6000 0x1000>;
384				reg-io-width = <4>;
385				clocks = <&syscon ASPEED_CLK_GATE_D1CLK>;
386				resets = <&syscon ASPEED_RESET_GRAPHICS>;
387				syscon = <&syscon>;
388				status = "disabled";
389				interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
390			};
391
392			xdma: xdma@1e6e7000 {
393				compatible = "aspeed,ast2600-xdma";
394				reg = <0x1e6e7000 0x100>;
395				clocks = <&syscon ASPEED_CLK_GATE_BCLK>;
396				resets = <&syscon ASPEED_RESET_DEV_XDMA>, <&syscon ASPEED_RESET_RC_XDMA>;
397				reset-names = "device", "root-complex";
398				interrupts-extended = <&gic GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
399						      <&scu_ic0 ASPEED_AST2600_SCU_IC0_PCIE_PERST_LO_TO_HI>;
400				aspeed,pcie-device = "bmc";
401				aspeed,scu = <&syscon>;
402				status = "disabled";
403			};
404
405			adc0: adc@1e6e9000 {
406				compatible = "aspeed,ast2600-adc0";
407				reg = <0x1e6e9000 0x100>;
408				clocks = <&syscon ASPEED_CLK_APB2>;
409				resets = <&syscon ASPEED_RESET_ADC>;
410				interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
411				#io-channel-cells = <1>;
412				status = "disabled";
413			};
414
415			adc1: adc@1e6e9100 {
416				compatible = "aspeed,ast2600-adc1";
417				reg = <0x1e6e9100 0x100>;
418				clocks = <&syscon ASPEED_CLK_APB2>;
419				resets = <&syscon ASPEED_RESET_ADC>;
420				interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
421				#io-channel-cells = <1>;
422				status = "disabled";
423			};
424
425			sbc: secure-boot-controller@1e6f2000 {
426				compatible = "aspeed,ast2600-sbc";
427				reg = <0x1e6f2000 0x1000>;
428			};
429
430			video: video@1e700000 {
431				compatible = "aspeed,ast2600-video-engine";
432				reg = <0x1e700000 0x1000>;
433				clocks = <&syscon ASPEED_CLK_GATE_VCLK>,
434					 <&syscon ASPEED_CLK_GATE_ECLK>;
435				clock-names = "vclk", "eclk";
436				interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
437				status = "disabled";
438			};
439
440			gpio0: gpio@1e780000 {
441				#gpio-cells = <2>;
442				gpio-controller;
443				compatible = "aspeed,ast2600-gpio";
444				reg = <0x1e780000 0x400>;
445				interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
446				gpio-ranges = <&pinctrl 0 0 208>;
447				ngpios = <208>;
448				clocks = <&syscon ASPEED_CLK_APB2>;
449				interrupt-controller;
450				#interrupt-cells = <2>;
451			};
452
453			sgpiom0: sgpiom@1e780500 {
454				#gpio-cells = <2>;
455				gpio-controller;
456				compatible = "aspeed,ast2600-sgpiom";
457				reg = <0x1e780500 0x100>;
458				interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>;
459				clocks = <&syscon ASPEED_CLK_APB2>;
460				interrupt-controller;
461				bus-frequency = <12000000>;
462				pinctrl-names = "default";
463				pinctrl-0 = <&pinctrl_sgpm1_default>;
464				status = "disabled";
465			};
466
467			sgpiom1: sgpiom@1e780600 {
468				#gpio-cells = <2>;
469				gpio-controller;
470				compatible = "aspeed,ast2600-sgpiom";
471				reg = <0x1e780600 0x100>;
472				interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>;
473				clocks = <&syscon ASPEED_CLK_APB2>;
474				interrupt-controller;
475				bus-frequency = <12000000>;
476				pinctrl-names = "default";
477				pinctrl-0 = <&pinctrl_sgpm2_default>;
478				status = "disabled";
479			};
480
481			gpio1: gpio@1e780800 {
482				#gpio-cells = <2>;
483				gpio-controller;
484				compatible = "aspeed,ast2600-gpio";
485				reg = <0x1e780800 0x800>;
486				interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
487				gpio-ranges = <&pinctrl 0 208 36>;
488				ngpios = <36>;
489				clocks = <&syscon ASPEED_CLK_APB1>;
490				interrupt-controller;
491				#interrupt-cells = <2>;
492			};
493
494			rtc: rtc@1e781000 {
495				compatible = "aspeed,ast2600-rtc";
496				reg = <0x1e781000 0x18>;
497				interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
498				status = "disabled";
499			};
500
501			timer: timer@1e782000 {
502				compatible = "aspeed,ast2600-timer";
503				reg = <0x1e782000 0x90>;
504				interrupts-extended = <&gic  GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>,
505						<&gic  GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>,
506						<&gic  GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>,
507						<&gic  GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>,
508						<&gic  GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>,
509						<&gic  GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>,
510						<&gic  GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>,
511						<&gic  GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
512				clocks = <&syscon ASPEED_CLK_APB1>;
513				clock-names = "PCLK";
514				status = "disabled";
515                        };
516
517			uart1: serial@1e783000 {
518				compatible = "ns16550a";
519				reg = <0x1e783000 0x20>;
520				reg-shift = <2>;
521				reg-io-width = <4>;
522				interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>;
523				clocks = <&syscon ASPEED_CLK_GATE_UART1CLK>;
524				resets = <&lpc_reset 4>;
525				no-loopback-test;
526				pinctrl-names = "default";
527				pinctrl-0 = <&pinctrl_txd1_default &pinctrl_rxd1_default>;
528				status = "disabled";
529			};
530
531			uart5: serial@1e784000 {
532				compatible = "ns16550a";
533				reg = <0x1e784000 0x1000>;
534				reg-shift = <2>;
535				interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
536				clocks = <&syscon ASPEED_CLK_GATE_UART5CLK>;
537				no-loopback-test;
538			};
539
540			wdt1: watchdog@1e785000 {
541				compatible = "aspeed,ast2600-wdt";
542				reg = <0x1e785000 0x40>;
543			};
544
545			wdt2: watchdog@1e785040 {
546				compatible = "aspeed,ast2600-wdt";
547				reg = <0x1e785040 0x40>;
548				status = "disabled";
549			};
550
551			wdt3: watchdog@1e785080 {
552				compatible = "aspeed,ast2600-wdt";
553				reg = <0x1e785080 0x40>;
554				status = "disabled";
555			};
556
557			wdt4: watchdog@1e7850c0 {
558				compatible = "aspeed,ast2600-wdt";
559				reg = <0x1e7850C0 0x40>;
560				status = "disabled";
561			};
562
563			peci0: peci-controller@1e78b000 {
564				compatible = "aspeed,ast2600-peci";
565				reg = <0x1e78b000 0x100>;
566				interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
567				clocks = <&syscon ASPEED_CLK_GATE_REF0CLK>;
568				resets = <&syscon ASPEED_RESET_PECI>;
569				cmd-timeout-ms = <1000>;
570				clock-frequency = <1000000>;
571				status = "disabled";
572			};
573
574			lpc: lpc@1e789000 {
575				compatible = "aspeed,ast2600-lpc-v2", "simple-mfd", "syscon";
576				reg = <0x1e789000 0x1000>;
577				reg-io-width = <4>;
578
579				#address-cells = <1>;
580				#size-cells = <1>;
581				ranges = <0x0 0x1e789000 0x1000>;
582
583				kcs1: kcs@24 {
584					compatible = "aspeed,ast2500-kcs-bmc-v2";
585					reg = <0x24 0x1>, <0x30 0x1>, <0x3c 0x1>;
586					interrupts = <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>;
587					clocks = <&syscon ASPEED_CLK_GATE_LCLK>;
588					kcs_chan = <1>;
589					status = "disabled";
590				};
591
592				kcs2: kcs@28 {
593					compatible = "aspeed,ast2500-kcs-bmc-v2";
594					reg = <0x28 0x1>, <0x34 0x1>, <0x40 0x1>;
595					interrupts = <GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>;
596					clocks = <&syscon ASPEED_CLK_GATE_LCLK>;
597					status = "disabled";
598				};
599
600				kcs3: kcs@2c {
601					compatible = "aspeed,ast2500-kcs-bmc-v2";
602					reg = <0x2c 0x1>, <0x38 0x1>, <0x44 0x1>;
603					interrupts = <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>;
604					clocks = <&syscon ASPEED_CLK_GATE_LCLK>;
605					status = "disabled";
606				};
607
608				kcs4: kcs@114 {
609					compatible = "aspeed,ast2500-kcs-bmc-v2";
610					reg = <0x114 0x1>, <0x118 0x1>, <0x11c 0x1>;
611					interrupts = <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>;
612					clocks = <&syscon ASPEED_CLK_GATE_LCLK>;
613					status = "disabled";
614				};
615
616				lpc_ctrl: lpc-ctrl@80 {
617					compatible = "aspeed,ast2600-lpc-ctrl";
618					reg = <0x80 0x80>;
619					clocks = <&syscon ASPEED_CLK_GATE_LCLK>;
620					status = "disabled";
621				};
622
623				lpc_snoop: lpc-snoop@80 {
624					compatible = "aspeed,ast2600-lpc-snoop";
625					reg = <0x80 0x80>;
626					interrupts = <GIC_SPI 144 IRQ_TYPE_LEVEL_HIGH>;
627					clocks = <&syscon ASPEED_CLK_GATE_LCLK>;
628					status = "disabled";
629				};
630
631				lhc: lhc@a0 {
632					compatible = "aspeed,ast2600-lhc";
633					reg = <0xa0 0x24 0xc8 0x8>;
634				};
635
636				lpc_reset: reset-controller@98 {
637					compatible = "aspeed,ast2600-lpc-reset";
638					reg = <0x98 0x4>;
639					#reset-cells = <1>;
640				};
641
642				uart_routing: uart-routing@98 {
643					compatible = "aspeed,ast2600-uart-routing";
644					reg = <0x98 0x8>;
645					status = "disabled";
646				};
647
648				ibt: ibt@140 {
649					compatible = "aspeed,ast2600-ibt-bmc";
650					reg = <0x140 0x18>;
651					interrupts = <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>;
652					clocks = <&syscon ASPEED_CLK_GATE_LCLK>;
653					status = "disabled";
654				};
655			};
656
657			sdc: sdc@1e740000 {
658				compatible = "aspeed,ast2600-sd-controller";
659				reg = <0x1e740000 0x100>;
660				#address-cells = <1>;
661				#size-cells = <1>;
662				ranges = <0 0x1e740000 0x10000>;
663				clocks = <&syscon ASPEED_CLK_GATE_SDCLK>;
664				status = "disabled";
665
666				sdhci0: sdhci@1e740100 {
667					compatible = "aspeed,ast2600-sdhci", "sdhci";
668					reg = <0x100 0x100>;
669					interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>;
670					sdhci,auto-cmd12;
671					clocks = <&syscon ASPEED_CLK_SDIO>;
672					status = "disabled";
673				};
674
675				sdhci1: sdhci@1e740200 {
676					compatible = "aspeed,ast2600-sdhci", "sdhci";
677					reg = <0x200 0x100>;
678					interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>;
679					sdhci,auto-cmd12;
680					clocks = <&syscon ASPEED_CLK_SDIO>;
681					status = "disabled";
682				};
683			};
684
685			emmc_controller: sdc@1e750000 {
686				compatible = "aspeed,ast2600-sd-controller";
687				reg = <0x1e750000 0x100>;
688				#address-cells = <1>;
689				#size-cells = <1>;
690				ranges = <0 0x1e750000 0x10000>;
691				clocks = <&syscon ASPEED_CLK_GATE_EMMCCLK>;
692				status = "disabled";
693
694				emmc: sdhci@1e750100 {
695					compatible = "aspeed,ast2600-sdhci";
696					reg = <0x100 0x100>;
697					sdhci,auto-cmd12;
698					interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
699					clocks = <&syscon ASPEED_CLK_EMMC>;
700					pinctrl-names = "default";
701					pinctrl-0 = <&pinctrl_emmc_default>;
702				};
703			};
704
705			vuart1: serial@1e787000 {
706				compatible = "aspeed,ast2500-vuart";
707				reg = <0x1e787000 0x40>;
708				reg-shift = <2>;
709				interrupts = <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>;
710				clocks = <&syscon ASPEED_CLK_APB1>;
711				no-loopback-test;
712				status = "disabled";
713			};
714
715			vuart2: serial@1e788000 {
716				compatible = "aspeed,ast2500-vuart";
717				reg = <0x1e788000 0x40>;
718				reg-shift = <2>;
719				interrupts = <GIC_SPI 148 IRQ_TYPE_LEVEL_HIGH>;
720				clocks = <&syscon ASPEED_CLK_APB1>;
721				no-loopback-test;
722				status = "disabled";
723			};
724
725			uart2: serial@1e78d000 {
726				compatible = "ns16550a";
727				reg = <0x1e78d000 0x20>;
728				reg-shift = <2>;
729				reg-io-width = <4>;
730				interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
731				clocks = <&syscon ASPEED_CLK_GATE_UART2CLK>;
732				resets = <&lpc_reset 5>;
733				no-loopback-test;
734				pinctrl-names = "default";
735				pinctrl-0 = <&pinctrl_txd2_default &pinctrl_rxd2_default>;
736				status = "disabled";
737			};
738
739			uart3: serial@1e78e000 {
740				compatible = "ns16550a";
741				reg = <0x1e78e000 0x20>;
742				reg-shift = <2>;
743				reg-io-width = <4>;
744				interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
745				clocks = <&syscon ASPEED_CLK_GATE_UART3CLK>;
746				resets = <&lpc_reset 6>;
747				no-loopback-test;
748				pinctrl-names = "default";
749				pinctrl-0 = <&pinctrl_txd3_default &pinctrl_rxd3_default>;
750				status = "disabled";
751			};
752
753			uart4: serial@1e78f000 {
754				compatible = "ns16550a";
755				reg = <0x1e78f000 0x20>;
756				reg-shift = <2>;
757				reg-io-width = <4>;
758				interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
759				clocks = <&syscon ASPEED_CLK_GATE_UART4CLK>;
760				resets = <&lpc_reset 7>;
761				no-loopback-test;
762				pinctrl-names = "default";
763				pinctrl-0 = <&pinctrl_txd4_default &pinctrl_rxd4_default>;
764				status = "disabled";
765			};
766
767			uart6: serial@1e790000 {
768				compatible = "ns16550a";
769				reg = <0x1e790000 0x20>;
770				reg-shift = <2>;
771				reg-io-width = <4>;
772				interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>;
773				clocks = <&syscon ASPEED_CLK_GATE_UART6CLK>;
774				no-loopback-test;
775				pinctrl-names = "default";
776				pinctrl-0 = <&pinctrl_uart6_default>;
777
778				status = "disabled";
779			};
780
781			uart7: serial@1e790100 {
782				compatible = "ns16550a";
783				reg = <0x1e790100 0x20>;
784				reg-shift = <2>;
785				reg-io-width = <4>;
786				interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>;
787				clocks = <&syscon ASPEED_CLK_GATE_UART7CLK>;
788				no-loopback-test;
789				pinctrl-names = "default";
790				pinctrl-0 = <&pinctrl_uart7_default>;
791
792				status = "disabled";
793			};
794
795			uart8: serial@1e790200 {
796				compatible = "ns16550a";
797				reg = <0x1e790200 0x20>;
798				reg-shift = <2>;
799				reg-io-width = <4>;
800				interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>;
801				clocks = <&syscon ASPEED_CLK_GATE_UART8CLK>;
802				no-loopback-test;
803				pinctrl-names = "default";
804				pinctrl-0 = <&pinctrl_uart8_default>;
805
806				status = "disabled";
807			};
808
809			uart9: serial@1e790300 {
810				compatible = "ns16550a";
811				reg = <0x1e790300 0x20>;
812				reg-shift = <2>;
813				reg-io-width = <4>;
814				interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>;
815				clocks = <&syscon ASPEED_CLK_GATE_UART9CLK>;
816				no-loopback-test;
817				pinctrl-names = "default";
818				pinctrl-0 = <&pinctrl_uart9_default>;
819
820				status = "disabled";
821			};
822
823			i2c: bus@1e78a000 {
824				compatible = "simple-bus";
825				#address-cells = <1>;
826				#size-cells = <1>;
827				ranges = <0 0x1e78a000 0x1000>;
828			};
829
830			fsim0: fsi@1e79b000 {
831				compatible = "aspeed,ast2600-fsi-master", "fsi-master";
832				reg = <0x1e79b000 0x94>;
833				interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
834				pinctrl-names = "default";
835				pinctrl-0 = <&pinctrl_fsi1_default>;
836				clocks = <&syscon ASPEED_CLK_GATE_FSICLK>;
837				status = "disabled";
838			};
839
840			fsim1: fsi@1e79b100 {
841				compatible = "aspeed,ast2600-fsi-master", "fsi-master";
842				reg = <0x1e79b100 0x94>;
843				interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
844				pinctrl-names = "default";
845				pinctrl-0 = <&pinctrl_fsi2_default>;
846				clocks = <&syscon ASPEED_CLK_GATE_FSICLK>;
847				status = "disabled";
848			};
849		};
850	};
851};
852
853#include "aspeed-g6-pinctrl.dtsi"
854
855&i2c {
856	i2c0: i2c-bus@80 {
857		#address-cells = <1>;
858		#size-cells = <0>;
859		#interrupt-cells = <1>;
860		reg = <0x80 0x80>;
861		compatible = "aspeed,ast2600-i2c-bus";
862		clocks = <&syscon ASPEED_CLK_APB2>;
863		resets = <&syscon ASPEED_RESET_I2C>;
864		interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>;
865		bus-frequency = <100000>;
866		pinctrl-names = "default";
867		pinctrl-0 = <&pinctrl_i2c1_default>;
868		status = "disabled";
869	};
870
871	i2c1: i2c-bus@100 {
872		#address-cells = <1>;
873		#size-cells = <0>;
874		#interrupt-cells = <1>;
875		reg = <0x100 0x80>;
876		compatible = "aspeed,ast2600-i2c-bus";
877		clocks = <&syscon ASPEED_CLK_APB2>;
878		resets = <&syscon ASPEED_RESET_I2C>;
879		interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>;
880		bus-frequency = <100000>;
881		pinctrl-names = "default";
882		pinctrl-0 = <&pinctrl_i2c2_default>;
883		status = "disabled";
884	};
885
886	i2c2: i2c-bus@180 {
887		#address-cells = <1>;
888		#size-cells = <0>;
889		#interrupt-cells = <1>;
890		reg = <0x180 0x80>;
891		compatible = "aspeed,ast2600-i2c-bus";
892		clocks = <&syscon ASPEED_CLK_APB2>;
893		resets = <&syscon ASPEED_RESET_I2C>;
894		interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>;
895		bus-frequency = <100000>;
896		pinctrl-names = "default";
897		pinctrl-0 = <&pinctrl_i2c3_default>;
898		status = "disabled";
899	};
900
901	i2c3: i2c-bus@200 {
902		#address-cells = <1>;
903		#size-cells = <0>;
904		#interrupt-cells = <1>;
905		reg = <0x200 0x80>;
906		compatible = "aspeed,ast2600-i2c-bus";
907		clocks = <&syscon ASPEED_CLK_APB2>;
908		resets = <&syscon ASPEED_RESET_I2C>;
909		interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
910		bus-frequency = <100000>;
911		pinctrl-names = "default";
912		pinctrl-0 = <&pinctrl_i2c4_default>;
913		status = "disabled";
914	};
915
916	i2c4: i2c-bus@280 {
917		#address-cells = <1>;
918		#size-cells = <0>;
919		#interrupt-cells = <1>;
920		reg = <0x280 0x80>;
921		compatible = "aspeed,ast2600-i2c-bus";
922		clocks = <&syscon ASPEED_CLK_APB2>;
923		resets = <&syscon ASPEED_RESET_I2C>;
924		interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
925		bus-frequency = <100000>;
926		pinctrl-names = "default";
927		pinctrl-0 = <&pinctrl_i2c5_default>;
928		status = "disabled";
929	};
930
931	i2c5: i2c-bus@300 {
932		#address-cells = <1>;
933		#size-cells = <0>;
934		#interrupt-cells = <1>;
935		reg = <0x300 0x80>;
936		compatible = "aspeed,ast2600-i2c-bus";
937		clocks = <&syscon ASPEED_CLK_APB2>;
938		resets = <&syscon ASPEED_RESET_I2C>;
939		interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>;
940		bus-frequency = <100000>;
941		pinctrl-names = "default";
942		pinctrl-0 = <&pinctrl_i2c6_default>;
943		status = "disabled";
944	};
945
946	i2c6: i2c-bus@380 {
947		#address-cells = <1>;
948		#size-cells = <0>;
949		#interrupt-cells = <1>;
950		reg = <0x380 0x80>;
951		compatible = "aspeed,ast2600-i2c-bus";
952		clocks = <&syscon ASPEED_CLK_APB2>;
953		resets = <&syscon ASPEED_RESET_I2C>;
954		interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
955		bus-frequency = <100000>;
956		pinctrl-names = "default";
957		pinctrl-0 = <&pinctrl_i2c7_default>;
958		status = "disabled";
959	};
960
961	i2c7: i2c-bus@400 {
962		#address-cells = <1>;
963		#size-cells = <0>;
964		#interrupt-cells = <1>;
965		reg = <0x400 0x80>;
966		compatible = "aspeed,ast2600-i2c-bus";
967		clocks = <&syscon ASPEED_CLK_APB2>;
968		resets = <&syscon ASPEED_RESET_I2C>;
969		interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>;
970		bus-frequency = <100000>;
971		pinctrl-names = "default";
972		pinctrl-0 = <&pinctrl_i2c8_default>;
973		status = "disabled";
974	};
975
976	i2c8: i2c-bus@480 {
977		#address-cells = <1>;
978		#size-cells = <0>;
979		#interrupt-cells = <1>;
980		reg = <0x480 0x80>;
981		compatible = "aspeed,ast2600-i2c-bus";
982		clocks = <&syscon ASPEED_CLK_APB2>;
983		resets = <&syscon ASPEED_RESET_I2C>;
984		interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>;
985		bus-frequency = <100000>;
986		pinctrl-names = "default";
987		pinctrl-0 = <&pinctrl_i2c9_default>;
988		status = "disabled";
989	};
990
991	i2c9: i2c-bus@500 {
992		#address-cells = <1>;
993		#size-cells = <0>;
994		#interrupt-cells = <1>;
995		reg = <0x500 0x80>;
996		compatible = "aspeed,ast2600-i2c-bus";
997		clocks = <&syscon ASPEED_CLK_APB2>;
998		resets = <&syscon ASPEED_RESET_I2C>;
999		interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>;
1000		bus-frequency = <100000>;
1001		pinctrl-names = "default";
1002		pinctrl-0 = <&pinctrl_i2c10_default>;
1003		status = "disabled";
1004	};
1005
1006	i2c10: i2c-bus@580 {
1007		#address-cells = <1>;
1008		#size-cells = <0>;
1009		#interrupt-cells = <1>;
1010		reg = <0x580 0x80>;
1011		compatible = "aspeed,ast2600-i2c-bus";
1012		clocks = <&syscon ASPEED_CLK_APB2>;
1013		resets = <&syscon ASPEED_RESET_I2C>;
1014		interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
1015		bus-frequency = <100000>;
1016		pinctrl-names = "default";
1017		pinctrl-0 = <&pinctrl_i2c11_default>;
1018		status = "disabled";
1019	};
1020
1021	i2c11: i2c-bus@600 {
1022		#address-cells = <1>;
1023		#size-cells = <0>;
1024		#interrupt-cells = <1>;
1025		reg = <0x600 0x80>;
1026		compatible = "aspeed,ast2600-i2c-bus";
1027		clocks = <&syscon ASPEED_CLK_APB2>;
1028		resets = <&syscon ASPEED_RESET_I2C>;
1029		interrupts = <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>;
1030		bus-frequency = <100000>;
1031		pinctrl-names = "default";
1032		pinctrl-0 = <&pinctrl_i2c12_default>;
1033		status = "disabled";
1034	};
1035
1036	i2c12: i2c-bus@680 {
1037		#address-cells = <1>;
1038		#size-cells = <0>;
1039		#interrupt-cells = <1>;
1040		reg = <0x680 0x80>;
1041		compatible = "aspeed,ast2600-i2c-bus";
1042		clocks = <&syscon ASPEED_CLK_APB2>;
1043		resets = <&syscon ASPEED_RESET_I2C>;
1044		interrupts = <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>;
1045		bus-frequency = <100000>;
1046		pinctrl-names = "default";
1047		pinctrl-0 = <&pinctrl_i2c13_default>;
1048		status = "disabled";
1049	};
1050
1051	i2c13: i2c-bus@700 {
1052		#address-cells = <1>;
1053		#size-cells = <0>;
1054		#interrupt-cells = <1>;
1055		reg = <0x700 0x80>;
1056		compatible = "aspeed,ast2600-i2c-bus";
1057		clocks = <&syscon ASPEED_CLK_APB2>;
1058		resets = <&syscon ASPEED_RESET_I2C>;
1059		interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>;
1060		bus-frequency = <100000>;
1061		pinctrl-names = "default";
1062		pinctrl-0 = <&pinctrl_i2c14_default>;
1063		status = "disabled";
1064	};
1065
1066	i2c14: i2c-bus@780 {
1067		#address-cells = <1>;
1068		#size-cells = <0>;
1069		#interrupt-cells = <1>;
1070		reg = <0x780 0x80>;
1071		compatible = "aspeed,ast2600-i2c-bus";
1072		clocks = <&syscon ASPEED_CLK_APB2>;
1073		resets = <&syscon ASPEED_RESET_I2C>;
1074		interrupts = <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>;
1075		bus-frequency = <100000>;
1076		pinctrl-names = "default";
1077		pinctrl-0 = <&pinctrl_i2c15_default>;
1078		status = "disabled";
1079	};
1080
1081	i2c15: i2c-bus@800 {
1082		#address-cells = <1>;
1083		#size-cells = <0>;
1084		#interrupt-cells = <1>;
1085		reg = <0x800 0x80>;
1086		compatible = "aspeed,ast2600-i2c-bus";
1087		clocks = <&syscon ASPEED_CLK_APB2>;
1088		resets = <&syscon ASPEED_RESET_I2C>;
1089		interrupts = <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>;
1090		bus-frequency = <100000>;
1091		pinctrl-names = "default";
1092		pinctrl-0 = <&pinctrl_i2c16_default>;
1093		status = "disabled";
1094	};
1095};
1096