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