/*
 * Samsung's Exynos4210 based SMDKV310 board device tree source
 *
 * Copyright (c) 2010-2011 Samsung Electronics Co., Ltd.
 *		http://www.samsung.com
 * Copyright (c) 2010-2011 Linaro Ltd.
 *		www.linaro.org
 *
 * Device tree source file for Samsung's SMDKV310 board which is based on
 * Samsung's Exynos4210 SoC.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation.
*/

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

/ {
	model = "Samsung smdkv310 evaluation board based on Exynos4210";
	compatible = "samsung,smdkv310", "samsung,exynos4210", "samsung,exynos4";

	memory {
		reg = <0x40000000 0x80000000>;
	};

	chosen {
		bootargs = "root=/dev/ram0 rw ramdisk=8192 initrd=0x41000000,8M console=ttySAC1,115200 init=/linuxrc";
	};

	sdhci@12530000 {
		bus-width = <4>;
		pinctrl-names = "default";
		pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>;
		status = "okay";
	};

	g2d@12800000 {
		status = "okay";
	};

	codec@13400000 {
		samsung,mfc-r = <0x43000000 0x800000>;
		samsung,mfc-l = <0x51000000 0x800000>;
		status = "okay";
	};

	serial@13800000 {
		status = "okay";
	};

	serial@13810000 {
		status = "okay";
	};

	serial@13820000 {
		status = "okay";
	};

	serial@13830000 {
		status = "okay";
	};

	pinctrl@11000000 {
		keypad_rows: keypad-rows {
			samsung,pins = "gpx2-0", "gpx2-1";
			samsung,pin-function = <3>;
			samsung,pin-pud = <3>;
			samsung,pin-drv = <0>;
		};

		keypad_cols: keypad-cols {
			samsung,pins = "gpx1-0", "gpx1-1", "gpx1-2", "gpx1-3",
				       "gpx1-4", "gpx1-5", "gpx1-6", "gpx1-7";
			samsung,pin-function = <3>;
			samsung,pin-pud = <0>;
			samsung,pin-drv = <0>;
		};
	};

	keypad@100A0000 {
		samsung,keypad-num-rows = <2>;
		samsung,keypad-num-columns = <8>;
		linux,keypad-no-autorepeat;
		linux,keypad-wakeup;
		pinctrl-names = "default";
		pinctrl-0 = <&keypad_rows &keypad_cols>;
		status = "okay";

		key_1 {
			keypad,row = <0>;
			keypad,column = <3>;
			linux,code = <2>;
		};

		key_2 {
			keypad,row = <0>;
			keypad,column = <4>;
			linux,code = <3>;
		};

		key_3 {
			keypad,row = <0>;
			keypad,column = <5>;
			linux,code = <4>;
		};

		key_4 {
			keypad,row = <0>;
			keypad,column = <6>;
			linux,code = <5>;
		};

		key_5 {
			keypad,row = <0>;
			keypad,column = <7>;
			linux,code = <6>;
		};

		key_a {
			keypad,row = <1>;
			keypad,column = <3>;
			linux,code = <30>;
		};

		key_b {
			keypad,row = <1>;
			keypad,column = <4>;
			linux,code = <48>;
		};

		key_c {
			keypad,row = <1>;
			keypad,column = <5>;
			linux,code = <46>;
		};

		key_d {
			keypad,row = <1>;
			keypad,column = <6>;
			linux,code = <32>;
		};

		key_e {
			keypad,row = <1>;
			keypad,column = <7>;
			linux,code = <18>;
		};
	};

	i2c@13860000 {
		#address-cells = <1>;
		#size-cells = <0>;
		samsung,i2c-sda-delay = <100>;
		samsung,i2c-max-bus-freq = <100000>;
		status = "okay";

		eeprom@50 {
			compatible = "samsung,24ad0xd1";
			reg = <0x50>;
		};

		eeprom@52 {
			compatible = "samsung,24ad0xd1";
			reg = <0x52>;
		};
	};

	spi_2: spi@13940000 {
		status = "okay";

		w25x80@0 {
			#address-cells = <1>;
			#size-cells = <1>;
			compatible = "w25x80";
			reg = <0>;
			spi-max-frequency = <1000000>;

			controller-data {
				cs-gpio = <&gpc1 2 0>;
				samsung,spi-feedback-delay = <0>;
			};

			partition@0 {
				label = "U-Boot";
				reg = <0x0 0x40000>;
				read-only;
			};

			partition@40000 {
				label = "Kernel";
				reg = <0x40000 0xc0000>;
			};
		};
	};

	fixed-rate-clocks {
		xxti {
			compatible = "samsung,clock-xxti";
			clock-frequency = <12000000>;
		};

		xusbxti {
			compatible = "samsung,clock-xusbxti";
			clock-frequency = <24000000>;
		};
	};
};
