Samsung's Multi Core Timer (MCT)

The Samsung's Multi Core Timer (MCT) module includes two main blocks, the
global timer and CPU local timers. The global timer is a 64-bit free running
up-counter and can generate 4 interrupts when the counter reaches one of the
four preset counter values. The CPU local timers are 32-bit free running
down-counters and generate an interrupt when the counter expires. There is
one CPU local timer instantiated in MCT for every CPU in the system.

Required properties:

- compatible: should be "samsung,exynos4210-mct".
  (a) "samsung,exynos4210-mct", for mct compatible with Exynos4210 mct.
  (b) "samsung,exynos4412-mct", for mct compatible with Exynos4412 mct.

- reg: base address of the mct controller and length of the address space
  it occupies.

- interrupts: the list of interrupts generated by the controller. The following
  should be the order of the interrupts specified. The local timer interrupts
  should be specified after the four global timer interrupts have been
  specified.

	0: Global Timer Interrupt 0
	1: Global Timer Interrupt 1
	2: Global Timer Interrupt 2
	3: Global Timer Interrupt 3
	4: Local Timer Interrupt 0
	5: Local Timer Interrupt 1
	6: ..
	7: ..
	i: Local Timer Interrupt n

Example 1: In this example, the system uses only the first global timer
	   interrupt generated by MCT and the remaining three global timer
	   interrupts are unused. Two local timer interrupts have been
	   specified.

	mct@10050000 {
		compatible = "samsung,exynos4210-mct";
		reg = <0x10050000 0x800>;
		interrupts = <0 57 0>, <0 0 0>, <0 0 0>, <0 0 0>,
			     <0 42 0>, <0 48 0>;
	};

Example 2: In this example, the MCT global and local timer interrupts are
	   connected to two seperate interrupt controllers. Hence, an
	   interrupt-map is created to map the interrupts to the respective
	   interrupt controllers.

	mct@101C0000 {
		compatible = "samsung,exynos4210-mct";
		reg = <0x101C0000 0x800>;
		interrupt-controller;
		#interrups-cells = <2>;
		interrupt-parent = <&mct_map>;
		interrupts = <0 0>, <1 0>, <2 0>, <3 0>,
			     <4 0>, <5 0>;

		mct_map: mct-map {
			#interrupt-cells = <2>;
			#address-cells = <0>;
			#size-cells = <0>;
			interrupt-map = <0x0 0 &combiner 23 3>,
					<0x4 0 &gic 0 120 0>,
					<0x5 0 &gic 0 121 0>;
		};
	};
