/*
 * Samsung's Exynos5420 based Arndale Octa 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 "exynos5420.dtsi"
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/input/input.h>

/ {
	model = "Insignal Arndale Octa evaluation board based on EXYNOS5420";
	compatible = "insignal,arndale-octa", "samsung,exynos5420";

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

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

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

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

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

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

	mmc@12200000 {
		status = "okay";
		broken-cd;
		supports-highspeed;
		card-detect-delay = <200>;
		samsung,dw-mshc-ciu-div = <3>;
		samsung,dw-mshc-sdr-timing = <0 4>;
		samsung,dw-mshc-ddr-timing = <0 2>;
		pinctrl-names = "default";
		pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus4 &sd0_bus8>;

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

	mmc@12220000 {
		status = "okay";
		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>;
		pinctrl-names = "default";
		pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>;

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

	i2c_2: i2c@12C80000 {
		samsung,i2c-sda-delay = <100>;
		samsung,i2c-max-bus-freq = <66000>;
		samsung,i2c-slave-addr = <0x50>;
		status = "okay";

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

	hsi2c_4: i2c@12CA0000 {
		status = "okay";

		s2mps11_pmic@66 {
			compatible = "samsung,s2mps11-pmic";
			reg = <0x66>;
			s2mps11,buck2-ramp-delay = <12>;
			s2mps11,buck34-ramp-delay = <12>;
			s2mps11,buck16-ramp-delay = <12>;
			s2mps11,buck6-ramp-enable = <1>;
			s2mps11,buck2-ramp-enable = <1>;
			s2mps11,buck3-ramp-enable = <1>;
			s2mps11,buck4-ramp-enable = <1>;

			interrupt-parent = <&gpx3>;
			interrupts = <2 IRQ_TYPE_LEVEL_HIGH>;

			s2mps11_osc: clocks {
				#clock-cells = <1>;
				clock-output-names = "s2mps11_ap",
						"s2mps11_cp", "s2mps11_bt";
			};

			regulators {
				ldo1_reg: LDO1 {
					regulator-name = "vdd_ldo1";
					regulator-min-microvolt = <1000000>;
					regulator-max-microvolt = <1000000>;
					regulator-always-on;
				};

				ldo3_reg: LDO3 {
					regulator-name = "vdd_ldo3";
					regulator-min-microvolt = <1800000>;
					regulator-max-microvolt = <1800000>;
					regulator-always-on;
				};

				ldo5_reg: LDO5 {
					regulator-name = "vdd_ldo5";
					regulator-min-microvolt = <1800000>;
					regulator-max-microvolt = <1800000>;
					regulator-always-on;
				};

				ldo6_reg: LDO6 {
					regulator-name = "vdd_ldo6";
					regulator-min-microvolt = <1000000>;
					regulator-max-microvolt = <1000000>;
					regulator-always-on;
				};

				ldo7_reg: LDO7 {
					regulator-name = "vdd_ldo7";
					regulator-min-microvolt = <1800000>;
					regulator-max-microvolt = <1800000>;
					regulator-always-on;
				};

				ldo8_reg: LDO8 {
					regulator-name = "vdd_ldo8";
					regulator-min-microvolt = <1800000>;
					regulator-max-microvolt = <1800000>;
					regulator-always-on;
				};

				ldo9_reg: LDO9 {
					regulator-name = "vdd_ldo9";
					regulator-min-microvolt = <3000000>;
					regulator-max-microvolt = <3000000>;
					regulator-always-on;
				};

				ldo10_reg: LDO10 {
					regulator-name = "vdd_ldo10";
					regulator-min-microvolt = <1800000>;
					regulator-max-microvolt = <1800000>;
					regulator-always-on;
				};

				ldo11_reg: LDO11 {
					regulator-name = "vdd_ldo11";
					regulator-min-microvolt = <1000000>;
					regulator-max-microvolt = <1000000>;
					regulator-always-on;
				};

				ldo12_reg: LDO12 {
					regulator-name = "vdd_ldo12";
					regulator-min-microvolt = <1800000>;
					regulator-max-microvolt = <1800000>;
					regulator-always-on;
				};

				ldo13_reg: LDO13 {
					regulator-name = "vdd_ldo13";
					regulator-min-microvolt = <2800000>;
					regulator-max-microvolt = <2800000>;
					regulator-always-on;
				};

				ldo15_reg: LDO15 {
					regulator-name = "vdd_ldo15";
					regulator-min-microvolt = <3100000>;
					regulator-max-microvolt = <3100000>;
					regulator-always-on;
				};

				ldo16_reg: LDO16 {
					regulator-name = "vdd_ldo16";
					regulator-min-microvolt = <2200000>;
					regulator-max-microvolt = <2200000>;
					regulator-always-on;
				};

				ldo17_reg: LDO17 {
					regulator-name = "tsp_avdd";
					regulator-min-microvolt = <3300000>;
					regulator-max-microvolt = <3300000>;
					regulator-always-on;
				};

				ldo19_reg: LDO19 {
					regulator-name = "vdd_sd";
					regulator-min-microvolt = <2800000>;
					regulator-max-microvolt = <2800000>;
					regulator-always-on;
				};

				ldo23_reg: LDO23 {
					regulator-name = "vdd_ldo23";
					regulator-min-microvolt = <1200000>;
					regulator-max-microvolt = <1200000>;
					regulator-always-on;
				};

				ldo24_reg: LDO24 {
					regulator-name = "tsp_io";
					regulator-min-microvolt = <2800000>;
					regulator-max-microvolt = <2800000>;
					regulator-always-on;
				};

				buck1_reg: BUCK1 {
					regulator-name = "vdd_mif";
					regulator-min-microvolt = <800000>;
					regulator-max-microvolt = <1300000>;
					regulator-always-on;
					regulator-boot-on;
				};

				buck2_reg: BUCK2 {
					regulator-name = "vdd_arm";
					regulator-min-microvolt = <800000>;
					regulator-max-microvolt = <1500000>;
					regulator-always-on;
					regulator-boot-on;
				};

				buck3_reg: BUCK3 {
					regulator-name = "vdd_int";
					regulator-min-microvolt = <800000>;
					regulator-max-microvolt = <1400000>;
					regulator-always-on;
					regulator-boot-on;
				};

				buck4_reg: BUCK4 {
					regulator-name = "vdd_g3d";
					regulator-min-microvolt = <800000>;
					regulator-max-microvolt = <1400000>;
					regulator-always-on;
					regulator-boot-on;
				};

				buck5_reg: BUCK5 {
					regulator-name = "vdd_mem";
					regulator-min-microvolt = <800000>;
					regulator-max-microvolt = <1400000>;
					regulator-always-on;
					regulator-boot-on;
				};

				buck6_reg: BUCK6 {
					regulator-name = "vdd_kfc";
					regulator-min-microvolt = <800000>;
					regulator-max-microvolt = <1500000>;
					regulator-always-on;
					regulator-boot-on;
				};

				buck7_reg: BUCK7 {
					regulator-name = "vdd_1.0v_ldo";
					regulator-min-microvolt = <800000>;
					regulator-max-microvolt = <1500000>;
					regulator-always-on;
					regulator-boot-on;
				};

				buck8_reg: BUCK8 {
					regulator-name = "vdd_1.8v_ldo";
					regulator-min-microvolt = <800000>;
					regulator-max-microvolt = <1500000>;
					regulator-always-on;
					regulator-boot-on;
				};

				buck9_reg: BUCK9 {
					regulator-name = "vdd_2.8v_ldo";
					regulator-min-microvolt = <3000000>;
					regulator-max-microvolt = <3750000>;
					regulator-always-on;
					regulator-boot-on;
				};

				buck10_reg: BUCK10 {
					regulator-name = "vdd_vmem";
					regulator-min-microvolt = <2850000>;
					regulator-max-microvolt = <2850000>;
					regulator-always-on;
					regulator-boot-on;
				};
			};
		};
	};

	hdmi@14530000 {
		hpd-gpio = <&gpx3 7 2>;
		vdd_osc-supply = <&ldo7_reg>;
		vdd_pll-supply = <&ldo6_reg>;
		vdd-supply = <&ldo6_reg>;
		status = "okay";
	};

	gpio_keys {
		compatible = "gpio-keys";

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

	amba {
		mdma1: mdma@11C10000 {
			/*
			 * MDMA1 can support both secure and non-secure
			 * AXI transactions. When this is enabled in the kernel
			 * for boards that run in secure mode, we are getting
			 * imprecise external aborts causing the kernel to oops.
			 */
			status = "disabled";
		};
	};

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

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

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

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