// SPDX-License-Identifier: GPL-2.0
/*
 * SoC core Device Tree for the ARM Integrator platforms
 */

/ {
	#address-cells = <1>;
	#size-cells = <1>;

	memory {
		device_type = "memory";
		reg = <0x0 0x0>;
	};

	core-module@10000000 {
		compatible = "arm,core-module-integrator", "syscon", "simple-mfd";
		reg = <0x10000000 0x200>;

		/* Use core module LED to indicate CPU load */
		led@c.0 {
			compatible = "register-bit-led";
			offset = <0x0c>;
			mask = <0x01>;
			label = "integrator:core_module";
			linux,default-trigger = "cpu0";
			default-state = "on";
		};
	};

	ebi@12000000 {
		compatible = "arm,external-bus-interface";
		reg = <0x12000000 0x100>;
	};

	timer@13000000 {
		reg = <0x13000000 0x100>;
		interrupt-parent = <&pic>;
		interrupts = <5>;
	};

	timer@13000100 {
		reg = <0x13000100 0x100>;
		interrupt-parent = <&pic>;
		interrupts = <6>;
	};

	timer@13000200 {
		reg = <0x13000200 0x100>;
		interrupt-parent = <&pic>;
		interrupts = <7>;
	};

	pic@14000000 {
		compatible = "arm,versatile-fpga-irq";
		#interrupt-cells = <1>;
		interrupt-controller;
		reg = <0x14000000 0x100>;
		clear-mask = <0xffffffff>;
	};

	flash@24000000 {
		compatible = "arm,versatile-flash", "cfi-flash";
		reg = <0x24000000 0x02000000>;
		bank-width = <4>;
		partitions {
			compatible = "arm,arm-firmware-suite";
		};
	};

	fpga {
		compatible = "simple-bus";
		#address-cells = <1>;
		#size-cells = <1>;
		ranges;
		interrupt-parent = <&pic>;

		/*
		 * These PrimeCells are in the same locations and using the
		 * same interrupts in all Integrators, however the silicon
		 * version deployed is different.
		 */
		rtc@15000000 {
			reg = <0x15000000 0x1000>;
			interrupts = <8>;
		};

		uart@16000000 {
			reg = <0x16000000 0x1000>;
			interrupts = <1>;
		};

		uart@17000000 {
			reg = <0x17000000 0x1000>;
			interrupts = <2>;
		};

		kmi@18000000 {
			reg = <0x18000000 0x1000>;
			interrupts = <3>;
		};

		kmi@19000000 {
			reg = <0x19000000 0x1000>;
			interrupts = <4>;
		};

		syscon {
			/* Debug registers mapped as syscon */
			compatible = "syscon", "simple-mfd";
			reg = <0x1a000000 0x10>;

			led@4.0 {
				compatible = "register-bit-led";
				offset = <0x04>;
				mask = <0x01>;
				label = "integrator:green0";
				linux,default-trigger = "heartbeat";
				default-state = "on";
			};
			led@4.1 {
				compatible = "register-bit-led";
				offset = <0x04>;
				mask = <0x02>;
				label = "integrator:yellow";
				default-state = "off";
			};
			led@4.2 {
				compatible = "register-bit-led";
				offset = <0x04>;
				mask = <0x04>;
				label = "integrator:red";
				default-state = "off";
			};
			led@4.3 {
				compatible = "register-bit-led";
				offset = <0x04>;
				mask = <0x08>;
				label = "integrator:green1";
				default-state = "off";
			};
		};
	};
};
