162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * SoC core Device Tree for the ARM Integrator platforms
462306a36Sopenharmony_ci */
562306a36Sopenharmony_ci
662306a36Sopenharmony_ci/ {
762306a36Sopenharmony_ci	#address-cells = <1>;
862306a36Sopenharmony_ci	#size-cells = <1>;
962306a36Sopenharmony_ci
1062306a36Sopenharmony_ci	memory {
1162306a36Sopenharmony_ci		device_type = "memory";
1262306a36Sopenharmony_ci		reg = <0x0 0x0>;
1362306a36Sopenharmony_ci	};
1462306a36Sopenharmony_ci
1562306a36Sopenharmony_ci	core-module@10000000 {
1662306a36Sopenharmony_ci		compatible = "arm,core-module-integrator", "syscon", "simple-mfd";
1762306a36Sopenharmony_ci		reg = <0x10000000 0x200>;
1862306a36Sopenharmony_ci		ranges = <0x0 0x10000000 0x200>;
1962306a36Sopenharmony_ci		#address-cells = <1>;
2062306a36Sopenharmony_ci		#size-cells = <1>;
2162306a36Sopenharmony_ci
2262306a36Sopenharmony_ci		/* Use core module LED to indicate CPU load */
2362306a36Sopenharmony_ci		led@c,0 {
2462306a36Sopenharmony_ci			compatible = "register-bit-led";
2562306a36Sopenharmony_ci			reg = <0x0c 0x04>;
2662306a36Sopenharmony_ci			offset = <0x0c>;
2762306a36Sopenharmony_ci			mask = <0x01>;
2862306a36Sopenharmony_ci			label = "integrator:core_module";
2962306a36Sopenharmony_ci			linux,default-trigger = "cpu0";
3062306a36Sopenharmony_ci			default-state = "on";
3162306a36Sopenharmony_ci		};
3262306a36Sopenharmony_ci	};
3362306a36Sopenharmony_ci
3462306a36Sopenharmony_ci	ebi@12000000 {
3562306a36Sopenharmony_ci		compatible = "arm,external-bus-interface";
3662306a36Sopenharmony_ci		reg = <0x12000000 0x100>;
3762306a36Sopenharmony_ci	};
3862306a36Sopenharmony_ci
3962306a36Sopenharmony_ci	timer@13000000 {
4062306a36Sopenharmony_ci		reg = <0x13000000 0x100>;
4162306a36Sopenharmony_ci		interrupt-parent = <&pic>;
4262306a36Sopenharmony_ci		interrupts = <5>;
4362306a36Sopenharmony_ci	};
4462306a36Sopenharmony_ci
4562306a36Sopenharmony_ci	timer@13000100 {
4662306a36Sopenharmony_ci		reg = <0x13000100 0x100>;
4762306a36Sopenharmony_ci		interrupt-parent = <&pic>;
4862306a36Sopenharmony_ci		interrupts = <6>;
4962306a36Sopenharmony_ci	};
5062306a36Sopenharmony_ci
5162306a36Sopenharmony_ci	timer@13000200 {
5262306a36Sopenharmony_ci		reg = <0x13000200 0x100>;
5362306a36Sopenharmony_ci		interrupt-parent = <&pic>;
5462306a36Sopenharmony_ci		interrupts = <7>;
5562306a36Sopenharmony_ci	};
5662306a36Sopenharmony_ci
5762306a36Sopenharmony_ci	pic@14000000 {
5862306a36Sopenharmony_ci		compatible = "arm,versatile-fpga-irq";
5962306a36Sopenharmony_ci		#interrupt-cells = <1>;
6062306a36Sopenharmony_ci		interrupt-controller;
6162306a36Sopenharmony_ci		reg = <0x14000000 0x100>;
6262306a36Sopenharmony_ci		clear-mask = <0xffffffff>;
6362306a36Sopenharmony_ci	};
6462306a36Sopenharmony_ci
6562306a36Sopenharmony_ci	flash@24000000 {
6662306a36Sopenharmony_ci		compatible = "arm,versatile-flash", "cfi-flash";
6762306a36Sopenharmony_ci		reg = <0x24000000 0x02000000>;
6862306a36Sopenharmony_ci		bank-width = <4>;
6962306a36Sopenharmony_ci		partitions {
7062306a36Sopenharmony_ci			compatible = "arm,arm-firmware-suite";
7162306a36Sopenharmony_ci		};
7262306a36Sopenharmony_ci	};
7362306a36Sopenharmony_ci
7462306a36Sopenharmony_ci	fpga {
7562306a36Sopenharmony_ci		compatible = "simple-bus";
7662306a36Sopenharmony_ci		#address-cells = <1>;
7762306a36Sopenharmony_ci		#size-cells = <1>;
7862306a36Sopenharmony_ci		ranges;
7962306a36Sopenharmony_ci		interrupt-parent = <&pic>;
8062306a36Sopenharmony_ci
8162306a36Sopenharmony_ci		/*
8262306a36Sopenharmony_ci		 * These PrimeCells are in the same locations and using the
8362306a36Sopenharmony_ci		 * same interrupts in all Integrators, however the silicon
8462306a36Sopenharmony_ci		 * version deployed is different.
8562306a36Sopenharmony_ci		 */
8662306a36Sopenharmony_ci		rtc@15000000 {
8762306a36Sopenharmony_ci			reg = <0x15000000 0x1000>;
8862306a36Sopenharmony_ci			interrupts = <8>;
8962306a36Sopenharmony_ci		};
9062306a36Sopenharmony_ci
9162306a36Sopenharmony_ci		serial@16000000 {
9262306a36Sopenharmony_ci			reg = <0x16000000 0x1000>;
9362306a36Sopenharmony_ci			interrupts = <1>;
9462306a36Sopenharmony_ci		};
9562306a36Sopenharmony_ci
9662306a36Sopenharmony_ci		serial@17000000 {
9762306a36Sopenharmony_ci			reg = <0x17000000 0x1000>;
9862306a36Sopenharmony_ci			interrupts = <2>;
9962306a36Sopenharmony_ci		};
10062306a36Sopenharmony_ci
10162306a36Sopenharmony_ci		kmi@18000000 {
10262306a36Sopenharmony_ci			reg = <0x18000000 0x1000>;
10362306a36Sopenharmony_ci			interrupts = <3>;
10462306a36Sopenharmony_ci		};
10562306a36Sopenharmony_ci
10662306a36Sopenharmony_ci		kmi@19000000 {
10762306a36Sopenharmony_ci			reg = <0x19000000 0x1000>;
10862306a36Sopenharmony_ci			interrupts = <4>;
10962306a36Sopenharmony_ci		};
11062306a36Sopenharmony_ci
11162306a36Sopenharmony_ci		syscon@1a000000 {
11262306a36Sopenharmony_ci			/* Debug registers mapped as syscon */
11362306a36Sopenharmony_ci			compatible = "syscon", "simple-mfd";
11462306a36Sopenharmony_ci			reg = <0x1a000000 0x10>;
11562306a36Sopenharmony_ci			ranges = <0x0 0x1a000000 0x10>;
11662306a36Sopenharmony_ci			#address-cells = <1>;
11762306a36Sopenharmony_ci			#size-cells = <1>;
11862306a36Sopenharmony_ci
11962306a36Sopenharmony_ci			led@4,0 {
12062306a36Sopenharmony_ci				compatible = "register-bit-led";
12162306a36Sopenharmony_ci				reg = <0x04 0x04>;
12262306a36Sopenharmony_ci				offset = <0x04>;
12362306a36Sopenharmony_ci				mask = <0x01>;
12462306a36Sopenharmony_ci				label = "integrator:green0";
12562306a36Sopenharmony_ci				linux,default-trigger = "heartbeat";
12662306a36Sopenharmony_ci				default-state = "on";
12762306a36Sopenharmony_ci			};
12862306a36Sopenharmony_ci			led@4,1 {
12962306a36Sopenharmony_ci				compatible = "register-bit-led";
13062306a36Sopenharmony_ci				reg = <0x04 0x04>;
13162306a36Sopenharmony_ci				offset = <0x04>;
13262306a36Sopenharmony_ci				mask = <0x02>;
13362306a36Sopenharmony_ci				label = "integrator:yellow";
13462306a36Sopenharmony_ci				default-state = "off";
13562306a36Sopenharmony_ci			};
13662306a36Sopenharmony_ci			led@4,2 {
13762306a36Sopenharmony_ci				compatible = "register-bit-led";
13862306a36Sopenharmony_ci				reg = <0x04 0x04>;
13962306a36Sopenharmony_ci				offset = <0x04>;
14062306a36Sopenharmony_ci				mask = <0x04>;
14162306a36Sopenharmony_ci				label = "integrator:red";
14262306a36Sopenharmony_ci				default-state = "off";
14362306a36Sopenharmony_ci			};
14462306a36Sopenharmony_ci			led@4,3 {
14562306a36Sopenharmony_ci				compatible = "register-bit-led";
14662306a36Sopenharmony_ci				reg = <0x04 0x04>;
14762306a36Sopenharmony_ci				offset = <0x04>;
14862306a36Sopenharmony_ci				mask = <0x08>;
14962306a36Sopenharmony_ci				label = "integrator:green1";
15062306a36Sopenharmony_ci				default-state = "off";
15162306a36Sopenharmony_ci			};
15262306a36Sopenharmony_ci		};
15362306a36Sopenharmony_ci	};
15462306a36Sopenharmony_ci};
155