/*
 * Samsung's Exynos4412 based SMDK board device tree source
 *
 * Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
 *		http://www.samsung.com
 *
 * Device tree source file for Samsung's SMDK4412 board which is based on
 * Samsung's Exynos4412 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 "exynos4412.dtsi"

/ {
	model = "Samsung SMDK evaluation board based on Exynos4412";
	compatible = "samsung,smdk4412", "samsung,exynos4412", "samsung,exynos4";

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

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

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

	pinctrl@11000000 {
		keypad_rows: keypad-rows {
			samsung,pins = "gpx2-0", "gpx2-1", "gpx2-2";
			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 = <3>;
		samsung,keypad-num-columns = <8>;
		linux,keypad-no-autorepeat;
		linux,keypad-wakeup;
		pinctrl-0 = <&keypad_rows &keypad_cols>;
		pinctrl-names = "default";
		status = "okay";

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

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

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

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

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

		key_A {
			keypad,row = <2>;
			keypad,column = <6>;
			linux,code = <30>;
		};

		key_B {
			keypad,row = <2>;
			keypad,column = <7>;
			linux,code = <48>;
		};

		key_C {
			keypad,row = <0>;
			keypad,column = <5>;
			linux,code = <46>;
		};

		key_D {
			keypad,row = <2>;
			keypad,column = <5>;
			linux,code = <32>;
		};

		key_E {
			keypad,row = <0>;
			keypad,column = <7>;
			linux,code = <18>;
		};
	};

	sdhci@12530000 {
		bus-width = <4>;
		pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus4 &sd2_cd>;
		pinctrl-names = "default";
		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";
	};

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

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