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

	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-always-on;
					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@38 {
			compatible = "samsung,exynos4212-hdmiphy";
			reg = <0x38>;
		};
	};

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

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