/*
 * 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"
#include <dt-bindings/interrupt-controller/irq.h>

/ {
	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>;
	};

	i2s0: i2s@03830000 {
		status = "okay";
	};

	i2s1: i2s@12D60000 {
		status = "disabled";
	};

	i2s2: i2s@12D70000 {
		status = "disabled";
	};

	i2s_stub: i2s-stub {
		compatible = "linux,i2s-stub";
	};

	sound {
		compatible = "samsung,smdk-i2s-stub";

		samsung,i2s-controller = <&i2s0>;
		samsung,audio-codec = <&i2s_stub>;
	};

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

		s5m8767_pmic@66 {
			compatible = "samsung,s5m8767-pmic";
			reg = <0x66>;
			interrupt-parent = <&gpx3>;
			interrupts = <2 IRQ_TYPE_LEVEL_LOW>;

			vinb1-supply = <&main_dc_reg>;
			vinb2-supply = <&main_dc_reg>;
			vinb3-supply = <&main_dc_reg>;
			vinb4-supply = <&main_dc_reg>;
			vinb5-supply = <&main_dc_reg>;
			vinb6-supply = <&main_dc_reg>;
			vinb7-supply = <&main_dc_reg>;
			vinb8-supply = <&main_dc_reg>;
			vinb9-supply = <&main_dc_reg>;

			vinl1-supply = <&buck7_reg>;
			vinl2-supply = <&buck7_reg>;
			vinl3-supply = <&buck7_reg>;
			vinl4-supply = <&main_dc_reg>;
			vinl5-supply = <&main_dc_reg>;
			vinl6-supply = <&main_dc_reg>;
			vinl7-supply = <&main_dc_reg>;
			vinl8-supply = <&buck8_reg>;
			vinl9-supply = <&buck8_reg>;

			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 = <912500>;
					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>;
				};

				buck7_reg: BUCK7 {
					regulator-name = "PVDD_BUCK7";
					regulator-always-on;
					op_mode = <1>;
				};

				buck8_reg: BUCK8 {
					regulator-name = "PVDD_BUCK8";
					regulator-always-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@12C80000 {
		status = "okay";

		samsung,i2c-sda-delay = <100>;
		samsung,i2c-max-bus-freq = <66000>;
		samsung,i2c-slave-addr = <0x50>;

		hdmiddc@50 {
			compatible = "samsung,exynos4210-hdmiddc";
			reg = <0x50>;
		};
	};

	i2c@12C90000 {
		status = "okay";

		wm1811a@1a {

			compatible = "wlf,wm1811";
			reg = <0x1a>;

			AVDD2-supply = <&main_dc_reg>;
			CPVDD-supply = <&main_dc_reg>;
			DBVDD1-supply = <&main_dc_reg>;
			DBVDD2-supply = <&main_dc_reg>;
			DBVDD3-supply = <&main_dc_reg>;
			LDO1VDD-supply = <&main_dc_reg>;
			SPKVDD1-supply = <&main_dc_reg>;
			SPKVDD2-supply = <&main_dc_reg>;

			wlf,ldo1ena = <&gpb0 0 0>;
			wlf,ldo2ena = <&gpb0 1 0>;
		};
	};

	i2c@12CE0000 {
		status = "okay";

		samsung,i2c-sda-delay = <100>;
		samsung,i2c-max-bus-freq = <66000>;
		samsung,i2c-slave-addr = <0x38>;

		hdmiphy: hdmiphy@38 {
			compatible = "samsung,exynos4212-hdmiphy";
			reg = <0x38>;

			#address-cells = <1>;
			#size-cells = <1>;

			phy-power-control {
				reg = <0x10040700 0x04>;
			};
		};
	};

	i2c@121D0000 {
		samsung,i2c-sda-delay = <100>;
		samsung,i2c-max-bus-freq = <40000>;
		samsung,i2c-slave-addr = <0x38>;

		sata-phy {
			compatible = "samsung,sata-phy";
			reg = <0x38>;
		};
	};

	sata@122F0000 {
		samsung,sata-freq = <66>;
	};
	
	mmc_0: mmc@12200000 {
		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>;
		vmmc-supply = <&mmc_reg>;
		pinctrl-names = "default";
		pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus4 &sd0_bus8>;

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

	mmc_2: mmc@12220000 {
		status = "okay";
		num-slots = <1>;
		supports-highspeed;
		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;
		};
	};

	i2s0: i2s@03830000 {
		status = "okay";
	};

	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>;
		phy = <&hdmiphy>;
	};

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

		main_dc_reg: regulator@0 {
			compatible = "regulator-fixed";
			reg = <0>;
			regulator-name = "MAIN_DC";
		};

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

		reg_hdmi_en: regulator@2 {
			compatible = "regulator-fixed";
			reg = <2>;
			regulator-name = "hdmi-en";
		};
	};

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

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

	fimd: fimd@14400000 {
		status = "okay";
		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>;
			};
		};
	};

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

		// SMSC USB3503 connected in hardware only mode as a PHY
		usb_hub: usb_hub {
			compatible = "smsc,usb3503a";

			reset-gpios = <&gpx3 5 1>;
			connect-gpios = <&gpd1 7 1>;
		};
	};

	usb@12110000 {
		usb-phy = <&usb2_phy>;
	};
};
