/*
 * Device Tree Source for the Genmai board
 *
 * Copyright (C) 2013-14 Renesas Solutions Corp.
 * Copyright (C) 2014 Wolfram Sang, Sang Engineering <wsa@sang-engineering.com>
 *
 * 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.
 */

/dts-v1/;
#include "r7s72100.dtsi"

/ {
	model = "Genmai";
	compatible = "renesas,genmai", "renesas,r7s72100";

	aliases {
		serial2 = &scif2;
	};

	chosen {
		bootargs = "console=ttySC2,115200 ignore_loglevel rw root=/dev/nfs ip=dhcp";
	};

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

	lbsc {
		#address-cells = <1>;
		#size-cells = <1>;
	};
};

&extal_clk {
	clock-frequency = <13330000>;
};

&usb_x1_clk {
	clock-frequency = <48000000>;
};

&mtu2 {
	status = "ok";
};

&i2c2 {
	status = "okay";
	clock-frequency = <400000>;

	eeprom@50 {
		compatible = "renesas,24c128";
		reg = <0x50>;
		pagesize = <64>;
	};
};

&scif2 {
	status = "okay";
};

&spi4 {
	status = "okay";

	codec: codec@0 {
		compatible = "wlf,wm8978";
		reg = <0>;
		spi-max-frequency = <5000000>;
	};
};
