/*
 * Device Tree Source for Renesas r8a7779
 *
 * Copyright (C) 2013 Renesas Solutions Corp.
 * Copyright (C) 2013 Simon Horman
 *
 * This file is licensed under the terms of the GNU General Public License
 * version 2.  This program is licensed "as is" without any warranty of any
 * kind, whether express or implied.
 */

/include/ "skeleton.dtsi"

/ {
	compatible = "renesas,r8a7779";

	cpus {
		#address-cells = <1>;
		#size-cells = <0>;

		cpu@0 {
			device_type = "cpu";
			compatible = "arm,cortex-a9";
			reg = <0>;
		};
		cpu@1 {
			device_type = "cpu";
			compatible = "arm,cortex-a9";
			reg = <1>;
		};
		cpu@2 {
			device_type = "cpu";
			compatible = "arm,cortex-a9";
			reg = <2>;
		};
		cpu@3 {
			device_type = "cpu";
			compatible = "arm,cortex-a9";
			reg = <3>;
		};
	};

        gic: interrupt-controller@f0001000 {
                compatible = "arm,cortex-a9-gic";
                #interrupt-cells = <3>;
                interrupt-controller;
                reg = <0xf0001000 0x1000>,
                      <0xf0000100 0x100>;
        };

	irqpin0: irqpin@fe780010 {
		compatible = "renesas,intc-irqpin";
		#interrupt-cells = <2>;
		interrupt-controller;
		reg = <0xfe78001c 4>,
			<0xfe780010 4>,
			<0xfe780024 4>,
			<0xfe780044 4>,
			<0xfe780064 4>;
		interrupt-parent = <&gic>;
		interrupts = <0 27 0x4
				0 28 0x4
				0 29 0x4
				0 30 0x4>;
		sense-bitfield-width = <2>;
	};

	i2c0: i2c@0xffc70000 {
		#address-cells = <1>;
		#size-cells = <0>;
		compatible = "renesas,rmobile-iic";
		reg = <0xffc70000 0x1000>;
		interrupt-parent = <&gic>;
		interrupts = <0 79 0x4>;
	};

	i2c1: i2c@0xffc71000 {
		#address-cells = <1>;
		#size-cells = <0>;
		compatible = "renesas,rmobile-iic";
		reg = <0xffc71000 0x1000>;
		interrupt-parent = <&gic>;
		interrupts = <0 82 0x4>;
	};

	i2c2: i2c@0xffc72000 {
		#address-cells = <1>;
		#size-cells = <0>;
		compatible = "renesas,rmobile-iic";
		reg = <0xffc72000 0x1000>;
		interrupt-parent = <&gic>;
		interrupts = <0 80 0x4>;
	};

	i2c3: i2c@0xffc73000 {
		#address-cells = <1>;
		#size-cells = <0>;
		compatible = "renesas,rmobile-iic";
		reg = <0xffc73000 0x1000>;
		interrupt-parent = <&gic>;
		interrupts = <0 81 0x4>;
	};

	thermal@ffc48000 {
		compatible = "renesas,rcar-thermal";
		reg = <0xffc48000 0x38>;
	};

	sata: sata@fc600000 {
		compatible = "renesas,rcar-sata";
		reg = <0xfc600000 0x2000>;
		interrupt-parent = <&gic>;
		interrupts = <0 100 0x4>;
	};
};
