162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0
262306a36Sopenharmony_ci#include <dt-bindings/clock/ath79-clk.h>
362306a36Sopenharmony_ci
462306a36Sopenharmony_ci/ {
562306a36Sopenharmony_ci	compatible = "qca,ar9132";
662306a36Sopenharmony_ci
762306a36Sopenharmony_ci	#address-cells = <1>;
862306a36Sopenharmony_ci	#size-cells = <1>;
962306a36Sopenharmony_ci
1062306a36Sopenharmony_ci	cpus {
1162306a36Sopenharmony_ci		#address-cells = <1>;
1262306a36Sopenharmony_ci		#size-cells = <0>;
1362306a36Sopenharmony_ci
1462306a36Sopenharmony_ci		cpu@0 {
1562306a36Sopenharmony_ci			device_type = "cpu";
1662306a36Sopenharmony_ci			compatible = "mips,mips24Kc";
1762306a36Sopenharmony_ci			clocks = <&pll ATH79_CLK_CPU>;
1862306a36Sopenharmony_ci			reg = <0>;
1962306a36Sopenharmony_ci		};
2062306a36Sopenharmony_ci	};
2162306a36Sopenharmony_ci
2262306a36Sopenharmony_ci	cpuintc: interrupt-controller {
2362306a36Sopenharmony_ci		compatible = "qca,ar9132-cpu-intc", "qca,ar7100-cpu-intc";
2462306a36Sopenharmony_ci
2562306a36Sopenharmony_ci		interrupt-controller;
2662306a36Sopenharmony_ci		#interrupt-cells = <1>;
2762306a36Sopenharmony_ci
2862306a36Sopenharmony_ci		qca,ddr-wb-channel-interrupts = <2>, <3>, <4>, <5>;
2962306a36Sopenharmony_ci		qca,ddr-wb-channels = <&ddr_ctrl 3>, <&ddr_ctrl 2>,
3062306a36Sopenharmony_ci					<&ddr_ctrl 0>, <&ddr_ctrl 1>;
3162306a36Sopenharmony_ci	};
3262306a36Sopenharmony_ci
3362306a36Sopenharmony_ci	ahb {
3462306a36Sopenharmony_ci		compatible = "simple-bus";
3562306a36Sopenharmony_ci		ranges;
3662306a36Sopenharmony_ci
3762306a36Sopenharmony_ci		#address-cells = <1>;
3862306a36Sopenharmony_ci		#size-cells = <1>;
3962306a36Sopenharmony_ci
4062306a36Sopenharmony_ci		interrupt-parent = <&cpuintc>;
4162306a36Sopenharmony_ci
4262306a36Sopenharmony_ci		apb {
4362306a36Sopenharmony_ci			compatible = "simple-bus";
4462306a36Sopenharmony_ci			ranges;
4562306a36Sopenharmony_ci
4662306a36Sopenharmony_ci			#address-cells = <1>;
4762306a36Sopenharmony_ci			#size-cells = <1>;
4862306a36Sopenharmony_ci
4962306a36Sopenharmony_ci			interrupt-parent = <&miscintc>;
5062306a36Sopenharmony_ci
5162306a36Sopenharmony_ci			ddr_ctrl: memory-controller@18000000 {
5262306a36Sopenharmony_ci				compatible = "qca,ar9132-ddr-controller",
5362306a36Sopenharmony_ci						"qca,ar7240-ddr-controller";
5462306a36Sopenharmony_ci				reg = <0x18000000 0x100>;
5562306a36Sopenharmony_ci
5662306a36Sopenharmony_ci				#qca,ddr-wb-channel-cells = <1>;
5762306a36Sopenharmony_ci			};
5862306a36Sopenharmony_ci
5962306a36Sopenharmony_ci			uart: uart@18020000 {
6062306a36Sopenharmony_ci				compatible = "ns8250";
6162306a36Sopenharmony_ci				reg = <0x18020000 0x20>;
6262306a36Sopenharmony_ci				interrupts = <3>;
6362306a36Sopenharmony_ci
6462306a36Sopenharmony_ci				clocks = <&pll ATH79_CLK_AHB>;
6562306a36Sopenharmony_ci				clock-names = "uart";
6662306a36Sopenharmony_ci
6762306a36Sopenharmony_ci				reg-io-width = <4>;
6862306a36Sopenharmony_ci				reg-shift = <2>;
6962306a36Sopenharmony_ci				no-loopback-test;
7062306a36Sopenharmony_ci
7162306a36Sopenharmony_ci				status = "disabled";
7262306a36Sopenharmony_ci			};
7362306a36Sopenharmony_ci
7462306a36Sopenharmony_ci			gpio: gpio@18040000 {
7562306a36Sopenharmony_ci				compatible = "qca,ar9132-gpio",
7662306a36Sopenharmony_ci						"qca,ar7100-gpio";
7762306a36Sopenharmony_ci				reg = <0x18040000 0x30>;
7862306a36Sopenharmony_ci				interrupts = <2>;
7962306a36Sopenharmony_ci
8062306a36Sopenharmony_ci				ngpios = <22>;
8162306a36Sopenharmony_ci
8262306a36Sopenharmony_ci				gpio-controller;
8362306a36Sopenharmony_ci				#gpio-cells = <2>;
8462306a36Sopenharmony_ci
8562306a36Sopenharmony_ci				interrupt-controller;
8662306a36Sopenharmony_ci				#interrupt-cells = <2>;
8762306a36Sopenharmony_ci			};
8862306a36Sopenharmony_ci
8962306a36Sopenharmony_ci			pll: pll-controller@18050000 {
9062306a36Sopenharmony_ci				compatible = "qca,ar9132-pll",
9162306a36Sopenharmony_ci						"qca,ar9130-pll";
9262306a36Sopenharmony_ci				reg = <0x18050000 0x20>;
9362306a36Sopenharmony_ci
9462306a36Sopenharmony_ci				clock-names = "ref";
9562306a36Sopenharmony_ci				/* The board must provides the ref clock */
9662306a36Sopenharmony_ci
9762306a36Sopenharmony_ci				#clock-cells = <1>;
9862306a36Sopenharmony_ci				clock-output-names = "cpu", "ddr", "ahb";
9962306a36Sopenharmony_ci			};
10062306a36Sopenharmony_ci
10162306a36Sopenharmony_ci			wdt: wdt@18060008 {
10262306a36Sopenharmony_ci				compatible = "qca,ar7130-wdt";
10362306a36Sopenharmony_ci				reg = <0x18060008 0x8>;
10462306a36Sopenharmony_ci
10562306a36Sopenharmony_ci				interrupts = <4>;
10662306a36Sopenharmony_ci
10762306a36Sopenharmony_ci				clocks = <&pll ATH79_CLK_AHB>;
10862306a36Sopenharmony_ci				clock-names = "wdt";
10962306a36Sopenharmony_ci			};
11062306a36Sopenharmony_ci
11162306a36Sopenharmony_ci			miscintc: interrupt-controller@18060010 {
11262306a36Sopenharmony_ci				compatible = "qca,ar9132-misc-intc",
11362306a36Sopenharmony_ci					   "qca,ar7100-misc-intc";
11462306a36Sopenharmony_ci				reg = <0x18060010 0x8>;
11562306a36Sopenharmony_ci
11662306a36Sopenharmony_ci				interrupt-parent = <&cpuintc>;
11762306a36Sopenharmony_ci				interrupts = <6>;
11862306a36Sopenharmony_ci
11962306a36Sopenharmony_ci				interrupt-controller;
12062306a36Sopenharmony_ci				#interrupt-cells = <1>;
12162306a36Sopenharmony_ci			};
12262306a36Sopenharmony_ci
12362306a36Sopenharmony_ci			rst: reset-controller@1806001c {
12462306a36Sopenharmony_ci				compatible = "qca,ar9132-reset",
12562306a36Sopenharmony_ci						"qca,ar7100-reset";
12662306a36Sopenharmony_ci				reg = <0x1806001c 0x4>;
12762306a36Sopenharmony_ci
12862306a36Sopenharmony_ci				#reset-cells = <1>;
12962306a36Sopenharmony_ci			};
13062306a36Sopenharmony_ci		};
13162306a36Sopenharmony_ci
13262306a36Sopenharmony_ci		usb: usb@1b000100 {
13362306a36Sopenharmony_ci			compatible = "qca,ar7100-ehci", "generic-ehci";
13462306a36Sopenharmony_ci			reg = <0x1b000100 0x100>;
13562306a36Sopenharmony_ci
13662306a36Sopenharmony_ci			interrupts = <3>;
13762306a36Sopenharmony_ci			resets = <&rst 5>;
13862306a36Sopenharmony_ci
13962306a36Sopenharmony_ci			has-transaction-translator;
14062306a36Sopenharmony_ci
14162306a36Sopenharmony_ci			phy-names = "usb";
14262306a36Sopenharmony_ci			phys = <&usb_phy>;
14362306a36Sopenharmony_ci
14462306a36Sopenharmony_ci			status = "disabled";
14562306a36Sopenharmony_ci		};
14662306a36Sopenharmony_ci
14762306a36Sopenharmony_ci		spi: spi@1f000000 {
14862306a36Sopenharmony_ci			compatible = "qca,ar9132-spi", "qca,ar7100-spi";
14962306a36Sopenharmony_ci			reg = <0x1f000000 0x10>;
15062306a36Sopenharmony_ci
15162306a36Sopenharmony_ci			clocks = <&pll ATH79_CLK_AHB>;
15262306a36Sopenharmony_ci			clock-names = "ahb";
15362306a36Sopenharmony_ci
15462306a36Sopenharmony_ci			status = "disabled";
15562306a36Sopenharmony_ci
15662306a36Sopenharmony_ci			#address-cells = <1>;
15762306a36Sopenharmony_ci			#size-cells = <0>;
15862306a36Sopenharmony_ci		};
15962306a36Sopenharmony_ci	};
16062306a36Sopenharmony_ci
16162306a36Sopenharmony_ci	usb_phy: usb-phy {
16262306a36Sopenharmony_ci		compatible = "qca,ar7100-usb-phy";
16362306a36Sopenharmony_ci
16462306a36Sopenharmony_ci		reset-names = "phy", "suspend-override";
16562306a36Sopenharmony_ci		resets = <&rst 4>, <&rst 3>;
16662306a36Sopenharmony_ci
16762306a36Sopenharmony_ci		#phy-cells = <0>;
16862306a36Sopenharmony_ci
16962306a36Sopenharmony_ci		status = "disabled";
17062306a36Sopenharmony_ci	};
17162306a36Sopenharmony_ci};
172