/*
 * Samsung's Exynos5250 based Arndale board device tree source
 *
 * Copyright (c) 2013 Samsung Electronics Co., Ltd.
 *		http://www.samsung.com
 *
 * 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 "exynos5250.dtsi"

/ {
	model = "Insignal Arndale evaluation board based on EXYNOS5250";
	compatible = "insignal,arndale", "samsung,exynos5250";

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

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

	codec@11000000 {
		samsung,mfc-r = <0x43000000 0x800000>;
		samsung,mfc-l = <0x51000000 0x800000>;
	};

	i2c@12C60000 {
		samsung,i2c-sda-delay = <100>;
		samsung,i2c-max-bus-freq = <20000>;
		samsung,i2c-slave-addr = <0x66>;

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

			s5m8767,pmic-buck2-dvs-voltage = <1300000>;
			s5m8767,pmic-buck3-dvs-voltage = <1100000>;
			s5m8767,pmic-buck4-dvs-voltage = <1200000>;
			s5m8767,pmic-buck-dvs-gpios = <&gpd1 0 0>,
							<&gpd1 1 0>,
							<&gpd1 2 0>;
			s5m8767,pmic-buck-ds-gpios = <&gpx2 3 0>,
							<&gpx2 4 0>,
							<&gpx2 5 0>;
			regulators {
				ldo1_reg: LDO1 {
					regulator-name = "VDD_ALIVE_1.0V";
					regulator-min-microvolt = <1100000>;
					regulator-max-microvolt = <1100000>;
					regulator-always-on;
					regulator-boot-on;
					op_mode = <1>;
				};

				ldo2_reg: LDO2 {
					regulator-name = "VDD_28IO_DP_1.35V";
					regulator-min-microvolt = <1200000>;
					regulator-max-microvolt = <1200000>;
					regulator-always-on;
					regulator-boot-on;
					op_mode = <1>;
				};

				ldo3_reg: LDO3 {
					regulator-name = "VDD_COMMON1_1.8V";
					regulator-min-microvolt = <1800000>;
					regulator-max-microvolt = <1800000>;
					regulator-always-on;
					regulator-boot-on;
					op_mode = <1>;
				};

				ldo4_reg: LDO4 {
					regulator-name = "VDD_IOPERI_1.8V";
					regulator-min-microvolt = <1800000>;
					regulator-max-microvolt = <1800000>;
					op_mode = <1>;
				};

				ldo5_reg: LDO5 {
					regulator-name = "VDD_EXT_1.8V";
					regulator-min-microvolt = <1800000>;
					regulator-max-microvolt = <1800000>;
					regulator-always-on;
					regulator-boot-on;
					op_mode = <1>;
				};

				ldo6_reg: LDO6 {
					regulator-name = "VDD_MPLL_1.1V";
					regulator-min-microvolt = <1100000>;
					regulator-max-microvolt = <1100000>;
					regulator-always-on;
					regulator-boot-on;
					op_mode = <1>;
				};

				ldo7_reg: LDO7 {
					regulator-name = "VDD_XPLL_1.1V";
					regulator-min-microvolt = <1100000>;
					regulator-max-microvolt = <1100000>;
					regulator-always-on;
					regulator-boot-on;
					op_mode = <1>;
				};

				ldo8_reg: LDO8 {
					regulator-name = "VDD_COMMON2_1.0V";
					regulator-min-microvolt = <1000000>;
					regulator-max-microvolt = <1000000>;
					regulator-always-on;
					regulator-boot-on;
					op_mode = <1>;
				};

				ldo9_reg: LDO9 {
					regulator-name = "VDD_33ON_3.0V";
					regulator-min-microvolt = <3000000>;
					regulator-max-microvolt = <3000000>;
					op_mode = <1>;
				};

				ldo10_reg: LDO10 {
					regulator-name = "VDD_COMMON3_1.8V";
					regulator-min-microvolt = <1800000>;
					regulator-max-microvolt = <1800000>;
					regulator-always-on;
					regulator-boot-on;
					op_mode = <1>;
				};

				ldo11_reg: LDO11 {
					regulator-name = "VDD_ABB2_1.8V";
					regulator-min-microvolt = <1800000>;
					regulator-max-microvolt = <1800000>;
					regulator-always-on;
					regulator-boot-on;
					op_mode = <1>;
				};

				ldo12_reg: LDO12 {
					regulator-name = "VDD_USB_3.0V";
					regulator-min-microvolt = <3000000>;
					regulator-max-microvolt = <3000000>;
					regulator-always-on;
					regulator-boot-on;
					op_mode = <1>;
				};

				ldo13_reg: LDO13 {
					regulator-name = "VDDQ_C2C_W_1.8V";
					regulator-min-microvolt = <1800000>;
					regulator-max-microvolt = <1800000>;
					regulator-always-on;
					regulator-boot-on;
					op_mode = <1>;
				};

				ldo14_reg: LDO14 {
					regulator-name = "VDD18_ABB0_3_1.8V";
					regulator-min-microvolt = <1800000>;
					regulator-max-microvolt = <1800000>;
					regulator-always-on;
					regulator-boot-on;
					op_mode = <1>;
				};

				ldo15_reg: LDO15 {
					regulator-name = "VDD10_COMMON4_1.0V";
					regulator-min-microvolt = <1000000>;
					regulator-max-microvolt = <1000000>;
					regulator-always-on;
					regulator-boot-on;
					op_mode = <1>;
				};

				ldo16_reg: LDO16 {
					regulator-name = "VDD18_HSIC_1.8V";
					regulator-min-microvolt = <1800000>;
					regulator-max-microvolt = <1800000>;
					regulator-always-on;
					regulator-boot-on;
					op_mode = <1>;
				};

				ldo17_reg: LDO17 {
					regulator-name = "VDDQ_MMC2_3_2.8V";
					regulator-min-microvolt = <2800000>;
					regulator-max-microvolt = <2800000>;
					regulator-always-on;
					regulator-boot-on;
					op_mode = <1>;
				};

				ldo18_reg: LDO18 {
					regulator-name = "VDD_33ON_2.8V";
					regulator-min-microvolt = <2800000>;
					regulator-max-microvolt = <2800000>;
					op_mode = <1>;
				};

				ldo22_reg: LDO22 {
					regulator-name = "EXT_33_OFF";
					regulator-min-microvolt = <3300000>;
					regulator-max-microvolt = <3300000>;
					op_mode = <1>;
				};

				ldo23_reg: LDO23 {
					regulator-name = "EXT_28_OFF";
					regulator-min-microvolt = <2800000>;
					regulator-max-microvolt = <2800000>;
					op_mode = <1>;
				};

				ldo25_reg: LDO25 {
					regulator-name = "PVDD_LDO25";
					regulator-min-microvolt = <1200000>;
					regulator-max-microvolt = <1200000>;
					op_mode = <1>;
				};

				ldo26_reg: LDO26 {
					regulator-name = "EXT_18_OFF";
					regulator-min-microvolt = <1800000>;
					regulator-max-microvolt = <1800000>;
					op_mode = <1>;
				};

				buck1_reg: BUCK1 {
					regulator-name = "vdd_mif";
					regulator-min-microvolt = <950000>;
					regulator-max-microvolt = <1200000>;
					regulator-always-on;
					regulator-boot-on;
					op_mode = <1>;
				};

				buck2_reg: BUCK2 {
					regulator-name = "vdd_arm";
					regulator-min-microvolt = <925000>;
					regulator-max-microvolt = <1300000>;
					regulator-always-on;
					regulator-boot-on;
					op_mode = <1>;
				};

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

				buck4_reg: BUCK4 {
					regulator-name = "vdd_g3d";
					regulator-min-microvolt = <1000000>;
					regulator-max-microvolt = <1000000>;
					regulator-boot-on;
					op_mode = <1>;
				};

				buck5_reg: BUCK5 {
					regulator-name = "VDD_MEM_1.35V";
					regulator-min-microvolt = <750000>;
					regulator-max-microvolt = <1355000>;
					regulator-always-on;
					regulator-boot-on;
					op_mode = <1>;
				};

				buck9_reg: BUCK9 {
					regulator-name = "VDD_33_OFF_EXT1";
					regulator-min-microvolt = <750000>;
					regulator-max-microvolt = <3000000>;
					op_mode = <1>;
				};
			};
		};
	};

	i2c@12C70000 {
		status = "disabled";
	};

	i2c@12C80000 {
		status = "disabled";
	};

	i2c@12C90000 {
		status = "disabled";
	};

	i2c@12CA0000 {
		status = "disabled";
	};

	i2c@12CB0000 {
		status = "disabled";
	};

	i2c@12CC0000 {
		status = "disabled";
	};

	i2c@12CD0000 {
		status = "disabled";
	};

	i2c@121D0000 {
		status = "disabled";
	};

	dwmmc_0: dwmmc0@12200000 {
		num-slots = <1>;
		supports-highspeed;
		broken-cd;
		fifo-depth = <0x80>;
		card-detect-delay = <200>;
		samsung,dw-mshc-ciu-div = <3>;
		samsung,dw-mshc-sdr-timing = <2 3>;
		samsung,dw-mshc-ddr-timing = <1 2>;
		vmmc-supply = <&mmc_reg>;
		pinctrl-names = "default";
		pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus4 &sd0_bus8>;

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

	dwmmc_1: dwmmc1@12210000 {
		status = "disabled";
	};

	dwmmc_2: dwmmc2@12220000 {
		num-slots = <1>;
		supports-highspeed;
		fifo-depth = <0x80>;
		card-detect-delay = <200>;
		samsung,dw-mshc-ciu-div = <3>;
		samsung,dw-mshc-sdr-timing = <2 3>;
		samsung,dw-mshc-ddr-timing = <1 2>;
		vmmc-supply = <&mmc_reg>;
		pinctrl-names = "default";
		pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>;

		slot@0 {
			reg = <0>;
			bus-width = <4>;
			disable-wp;
		};
	};

	dwmmc_3: dwmmc3@12230000 {
		status = "disabled";
	};

	spi_0: spi@12d20000 {
		status = "disabled";
	};

	spi_1: spi@12d30000 {
		status = "disabled";
	};

	spi_2: spi@12d40000 {
		status = "disabled";
	};

	gpio_keys {
		compatible = "gpio-keys";

		menu {
			label = "SW-TACT2";
			gpios = <&gpx1 4 1>;
			linux,code = <139>;
			gpio-key,wakeup;
		};

		home {
			label = "SW-TACT3";
			gpios = <&gpx1 5 1>;
			linux,code = <102>;
			gpio-key,wakeup;
		};

		up {
			label = "SW-TACT4";
			gpios = <&gpx1 6 1>;
			linux,code = <103>;
			gpio-key,wakeup;
		};

		down {
			label = "SW-TACT5";
			gpios = <&gpx1 7 1>;
			linux,code = <108>;
			gpio-key,wakeup;
		};

		back {
			label = "SW-TACT6";
			gpios = <&gpx2 0 1>;
			linux,code = <158>;
			gpio-key,wakeup;
		};

		wakeup {
			label = "SW-TACT7";
			gpios = <&gpx2 1 1>;
			linux,code = <143>;
			gpio-key,wakeup;
		};
	};

	hdmi {
		hpd-gpio = <&gpx3 7 2>;
		vdd_osc-supply = <&ldo10_reg>;
		vdd_pll-supply = <&ldo8_reg>;
		vdd-supply = <&ldo8_reg>;
	};

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

	reg_hdmi_en: fixedregulator@0 {
		compatible = "regulator-fixed";
		regulator-name = "hdmi-en";
	};

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

	dp-controller {
		samsung,color-space = <0>;
		samsung,dynamic-range = <0>;
		samsung,ycbcr-coeff = <0>;
		samsung,color-depth = <1>;
		samsung,link-rate = <0x0a>;
		samsung,lane-count = <4>;
	};

	fimd: fimd@14400000 {
		display-timings {
			native-mode = <&timing0>;
			timing0: timing@0 {
				/* 2560x1600 DP panel */
				clock-frequency = <50000>;
				hactive = <2560>;
				vactive = <1600>;
				hfront-porch = <48>;
				hback-porch = <80>;
				hsync-len = <32>;
				vback-porch = <16>;
				vfront-porch = <8>;
				vsync-len = <6>;
			};
		};
	};

	rtc {
		status = "okay";
	};
};
