/*
 * arch/c6x/boot/dts/evmc6472.dts
 *
 * EVMC6472 Evaluation Platform For TMS320C6472
 *
 * Copyright (C) 2011 Texas Instruments Incorporated
 *
 * Author: Mark Salter <msalter@redhat.com>
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License
 * as published by the Free Software Foundation; either version 2
 * of the License, or (at your option) any later version.
 *
 */

/dts-v1/;

/include/ "tms320c6472.dtsi"

/ {
	model = "eInfochips EVMC6472";
	compatible = "einfochips,evmc6472";

	chosen {
		bootargs = "console=hvc root=/dev/nfs ip=dhcp rw";
	};

	memory {
		device_type = "memory";
		reg = <0xE0000000 0x10000000>;
	};

	soc {
		megamod_pic: interrupt-controller@1800000 {
		       interrupts = < 12 13 14 15 >;
		};

		timer0: timer@25e0000 {
			interrupt-parent = <&megamod_pic>;
			interrupts = < 16 >;
		};

		timer1: timer@25f0000 {
			interrupt-parent = <&megamod_pic>;
			interrupts = < 16 >;
		};

		timer2: timer@2600000 {
			interrupt-parent = <&megamod_pic>;
			interrupts = < 16 >;
		};

		timer3: timer@2610000 {
			interrupt-parent = <&megamod_pic>;
			interrupts = < 16 >;
		};

		timer4: timer@2620000 {
			interrupt-parent = <&megamod_pic>;
			interrupts = < 16 >;
		};

		timer5: timer@2630000 {
			interrupt-parent = <&megamod_pic>;
			interrupts = < 16 >;
		};

		clock-controller@29a0000 {
			clock-frequency = <25000000>;
		};
	};
};
