/*
 * Insignal's Exynos4412 based Origen board device tree source
 *
 * Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
 *		http://www.samsung.com
 *
 * Device tree source file for Insignal's Origen 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"
#include <dt-bindings/input/input.h>

/ {
	model = "Insignal Origen evaluation board based on Exynos4412";
	compatible = "insignal,origen4412", "samsung,exynos4412", "samsung,exynos4";

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

	chosen {
		bootargs ="console=ttySAC2,115200";
	};

	firmware@0203F000 {
		compatible = "samsung,secure-firmware";
		reg = <0x0203F000 0x1000>;
	};

	regulators {
		compatible = "simple-bus";
		#address-cells = <1>;
		#size-cells = <0>;

		mmc_reg: regulator@0 {
			compatible = "regulator-fixed";
			reg = <0>;
			regulator-name = "VMEM_VDD_2.8V";
			regulator-min-microvolt = <2800000>;
			regulator-max-microvolt = <2800000>;
			gpio = <&gpx1 1 0>;
			enable-active-high;
		};
	};

	watchdog@10060000 {
		status = "okay";
	};

	rtc@10070000 {
		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";
			samsung,pin-function = <3>;
			samsung,pin-pud = <0>;
			samsung,pin-drv = <0>;
		};
	};

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

		key_home {
			keypad,row = <0>;
			keypad,column = <0>;
			linux,code = <KEY_HOME>;
		};

		key_down {
			keypad,row = <0>;
			keypad,column = <1>;
			linux,code = <KEY_DOWN>;
		};

		key_up {
			keypad,row = <1>;
			keypad,column = <0>;
			linux,code = <KEY_UP>;
		};

		key_menu {
			keypad,row = <1>;
			keypad,column = <1>;
			linux,code = <KEY_MENU>;
		};

		key_back {
			keypad,row = <2>;
			keypad,column = <0>;
			linux,code = <KEY_BACK>;
		};

		key_enter {
			keypad,row = <2>;
			keypad,column = <1>;
			linux,code = <KEY_ENTER>;
		};
	};

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

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

	mmc@12550000 {
		pinctrl-0 = <&sd4_clk &sd4_cmd &sd4_bus4 &sd4_bus8>;
		pinctrl-names = "default";
		status = "okay";

		num-slots = <1>;
		supports-highspeed;
		broken-cd;
		card-detect-delay = <200>;
		samsung,dw-mshc-ciu-div = <3>;
		samsung,dw-mshc-sdr-timing = <2 3>;
		samsung,dw-mshc-ddr-timing = <1 2>;

		slot@0 {
			reg = <0>;
			bus-width = <8>;
		};
	};

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

	fimd@11c00000 {
		pinctrl-0 = <&lcd_clk &lcd_data24 &pwm1_out>;
		pinctrl-names = "default";
		status = "okay";
	};

	display-timings {
		native-mode = <&timing0>;
		timing0: timing {
			clock-frequency = <47500000>;
			hactive = <1024>;
			vactive = <600>;
			hfront-porch = <64>;
			hback-porch = <16>;
			hsync-len = <48>;
			vback-porch = <64>;
			vfront-porch = <16>;
			vsync-len = <3>;
		};
	};

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

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

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

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

	i2c@13860000 {
		#address-cells = <1>;
		#size-cells = <0>;
		samsung,i2c-sda-delay = <100>;
		samsung,i2c-max-bus-freq = <20000>;
		pinctrl-0 = <&i2c0_bus>;
		pinctrl-names = "default";
		status = "okay";

		s5m8767_pmic@66 {
			compatible = "samsung,s5m8767-pmic";
			reg = <0x66>;

			s5m8767,pmic-buck-default-dvs-idx = <3>;

			s5m8767,pmic-buck-dvs-gpios = <&gpx2 3 0>,
							 <&gpx2 4 0>,
							 <&gpx2 5 0>;

			s5m8767,pmic-buck-ds-gpios = <&gpm3 5 0>,
							<&gpm3 6 0>,
							<&gpm3 7 0>;

			s5m8767,pmic-buck2-dvs-voltage = <1250000>, <1200000>,
							 <1200000>, <1200000>,
							 <1200000>, <1200000>,
							 <1200000>, <1200000>;

			s5m8767,pmic-buck3-dvs-voltage = <1100000>, <1100000>,
							 <1100000>, <1100000>,
							 <1100000>, <1100000>,
							 <1100000>, <1100000>;

			s5m8767,pmic-buck4-dvs-voltage = <1200000>, <1200000>,
							 <1200000>, <1200000>,
							 <1200000>, <1200000>,
							 <1200000>, <1200000>;

			regulators {
				ldo1_reg: LDO1 {
					regulator-name = "VDD_ALIVE";
					regulator-min-microvolt = <1100000>;
					regulator-max-microvolt = <1100000>;
					regulator-always-on;
					regulator-boot-on;
					op_mode = <1>; /* Normal Mode */
				};

				ldo2_reg: LDO2 {
					regulator-name = "VDDQ_M12";
					regulator-min-microvolt = <1200000>;
					regulator-max-microvolt = <1200000>;
					regulator-always-on;
					op_mode = <1>; /* Normal Mode */
				};

				ldo3_reg: LDO3 {
					regulator-name = "VDDIOAP_18";
					regulator-min-microvolt = <1800000>;
					regulator-max-microvolt = <1800000>;
					regulator-always-on;
					op_mode = <1>; /* Normal Mode */
				};

				ldo4_reg: LDO4 {
					regulator-name = "VDDQ_PRE";
					regulator-min-microvolt = <1800000>;
					regulator-max-microvolt = <1800000>;
					regulator-always-on;
					op_mode = <1>; /* Normal Mode */
				};

				ldo5_reg: LDO5 {
					regulator-name = "VDD18_2M";
					regulator-min-microvolt = <1800000>;
					regulator-max-microvolt = <1800000>;
					regulator-always-on;
					op_mode = <1>; /* Normal Mode */
				};

				ldo6_reg: LDO6 {
					regulator-name = "VDD10_MPLL";
					regulator-min-microvolt = <1000000>;
					regulator-max-microvolt = <1000000>;
					regulator-always-on;
					op_mode = <1>; /* Normal Mode */
				};

				ldo7_reg: LDO7 {
					regulator-name = "VDD10_XPLL";
					regulator-min-microvolt = <1000000>;
					regulator-max-microvolt = <1000000>;
					regulator-always-on;
					op_mode = <1>; /* Normal Mode */
				};

				ldo8_reg: LDO8 {
					regulator-name = "VDD10_MIPI";
					regulator-min-microvolt = <1000000>;
					regulator-max-microvolt = <1000000>;
					regulator-always-on;
					op_mode = <1>; /* Normal Mode */
				};

				ldo9_reg: LDO9 {
					regulator-name = "VDD33_LCD";
					regulator-min-microvolt = <3300000>;
					regulator-max-microvolt = <3300000>;
					regulator-always-on;
					op_mode = <1>; /* Normal Mode */
				};

				ldo10_reg: LDO10 {
					regulator-name = "VDD18_MIPI";
					regulator-min-microvolt = <1800000>;
					regulator-max-microvolt = <1800000>;
					regulator-always-on;
					op_mode = <1>; /* Normal Mode */
				};

				ldo11_reg: LDO11 {
					regulator-name = "VDD18_ABB1";
					regulator-min-microvolt = <1800000>;
					regulator-max-microvolt = <1800000>;
					regulator-always-on;
					op_mode = <1>; /* Normal Mode */
				};

				ldo12_reg: LDO12 {
					regulator-name = "VDD33_UOTG";
					regulator-min-microvolt = <3300000>;
					regulator-max-microvolt = <3300000>;
					regulator-always-on;
					op_mode = <1>; /* Normal Mode */
				};

				ldo13_reg: LDO13 {
					regulator-name = "VDDIOPERI_18";
					regulator-min-microvolt = <1800000>;
					regulator-max-microvolt = <1800000>;
					regulator-always-on;
					op_mode = <1>; /* Normal Mode */
				};

				ldo14_reg: LDO14 {
					regulator-name = "VDD18_ABB02";
					regulator-min-microvolt = <1800000>;
					regulator-max-microvolt = <1800000>;
					regulator-always-on;
					op_mode = <1>; /* Normal Mode */
				};

				ldo15_reg: LDO15 {
					regulator-name = "VDD10_USH";
					regulator-min-microvolt = <1000000>;
					regulator-max-microvolt = <1000000>;
					regulator-always-on;
					op_mode = <1>; /* Normal Mode */
				};

				ldo16_reg: LDO16 {
					regulator-name = "VDD18_HSIC";
					regulator-min-microvolt = <1800000>;
					regulator-max-microvolt = <1800000>;
					regulator-always-on;
					op_mode = <1>; /* Normal Mode */
				};

				ldo17_reg: LDO17 {
					regulator-name = "VDDIOAP_MMC012_28";
					regulator-min-microvolt = <2800000>;
					regulator-max-microvolt = <2800000>;
					regulator-always-on;
					op_mode = <1>; /* Normal Mode */
				};

				ldo18_reg: LDO18 {
					regulator-name = "VDDIOPERI_28";
					regulator-min-microvolt = <2800000>;
					regulator-max-microvolt = <2800000>;
					regulator-always-on;
					op_mode = <1>; /* Normal Mode */
				};

				ldo19_reg: LDO19 {
					regulator-name = "DVDD25";
					regulator-min-microvolt = <2500000>;
					regulator-max-microvolt = <2500000>;
					regulator-always-on;
					op_mode = <1>; /* Normal Mode */
				};

				ldo20_reg: LDO20 {
					regulator-name = "VDD28_CAM";
					regulator-min-microvolt = <2800000>;
					regulator-max-microvolt = <2800000>;
					regulator-always-on;
					op_mode = <1>; /* Normal Mode */
				};

				ldo21_reg: LDO21 {
					regulator-name = "VDD28_AF";
					regulator-min-microvolt = <2800000>;
					regulator-max-microvolt = <2800000>;
					regulator-always-on;
					op_mode = <1>; /* Normal Mode */
				};

				ldo22_reg: LDO22 {
					regulator-name = "VDDA28_2M";
					regulator-min-microvolt = <2800000>;
					regulator-max-microvolt = <2800000>;
					regulator-always-on;
					op_mode = <1>; /* Normal Mode */
				};

				ldo23_reg: LDO23 {
					regulator-name = "VDD28_TF";
					regulator-min-microvolt = <2800000>;
					regulator-max-microvolt = <2800000>;
					regulator-always-on;
					op_mode = <1>; /* Normal Mode */
				};

				ldo24_reg: LDO24 {
					regulator-name = "VDD33_A31";
					regulator-min-microvolt = <3300000>;
					regulator-max-microvolt = <3300000>;
					regulator-always-on;
					op_mode = <1>; /* Normal Mode */
				};

				ldo25_reg: LDO25 {
					regulator-name = "VDD18_CAM";
					regulator-min-microvolt = <1800000>;
					regulator-max-microvolt = <1800000>;
					regulator-always-on;
					op_mode = <1>; /* Normal Mode */
				};

				ldo26_reg: LDO26 {
					regulator-name = "VDD18_A31";
					regulator-min-microvolt = <1800000>;
					regulator-max-microvolt = <1800000>;
					regulator-always-on;
					op_mode = <1>; /* Normal Mode */
				};

				ldo27_reg: LDO27 {
					regulator-name = "GPS_1V8";
					regulator-min-microvolt = <1800000>;
					regulator-max-microvolt = <1800000>;
					regulator-always-on;
					op_mode = <1>; /* Normal Mode */
				};

				ldo28_reg: LDO28 {
					regulator-name = "DVDD12";
					regulator-min-microvolt = <1200000>;
					regulator-max-microvolt = <1200000>;
					regulator-always-on;
					op_mode = <1>; /* Normal Mode */
				};

				buck1_reg: BUCK1 {
					regulator-name = "vdd_mif";
					regulator-min-microvolt = <950000>;
					regulator-max-microvolt	= <1100000>;
					regulator-always-on;
					regulator-boot-on;
					op_mode = <1>; /* Normal Mode */
				};

				buck2_reg: BUCK2 {
					regulator-name = "vdd_arm";
					regulator-min-microvolt = <900000>;
					regulator-max-microvolt	= <1350000>;
					regulator-always-on;
					regulator-boot-on;
					op_mode = <1>; /* Normal Mode */
				};

				buck3_reg: BUCK3 {
					regulator-name = "vdd_int";
					regulator-min-microvolt = <900000>;
					regulator-max-microvolt	= <1200000>;
					regulator-always-on;
					regulator-boot-on;
					op_mode = <1>; /* Normal Mode */
				};

				buck4_reg: BUCK4 {
					regulator-name = "vdd_g3d";
					regulator-min-microvolt = <750000>;
					regulator-max-microvolt	= <1500000>;
					regulator-always-on;
					regulator-boot-on;
					op_mode = <1>; /* Normal Mode */
				};

				buck5_reg: BUCK5 {
					regulator-name = "vdd_m12";
					regulator-min-microvolt = <750000>;
					regulator-max-microvolt	= <1500000>;
					regulator-always-on;
					regulator-boot-on;
					op_mode = <1>; /* Normal Mode */
				};

				buck6_reg: BUCK6 {
					regulator-name = "vdd12_5m";
					regulator-min-microvolt = <750000>;
					regulator-max-microvolt	= <1500000>;
					regulator-always-on;
					regulator-boot-on;
					op_mode = <1>; /* Normal Mode */
				};

				buck9_reg: BUCK9 {
					regulator-name = "vddf28_emmc";
					regulator-min-microvolt = <750000>;
					regulator-max-microvolt	= <3000000>;
					regulator-always-on;
					regulator-boot-on;
					op_mode = <1>; /* Normal Mode */
				};
			};
		};
	};

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

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