/*
 * Samsung's Exynos4412 based Trats 2 board device tree source
 *
 * Copyright (c) 2013 Samsung Electronics Co., Ltd.
 *		http://www.samsung.com
 *
 * Device tree source file for Samsung's Trats 2 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"

/ {
	model = "Samsung Trats 2 based on Exynos4412";
	compatible = "samsung,trats2", "samsung,exynos4412";

	aliases {
		i2c8 = &i2c_ak8975;
	};

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

	chosen {
		bootargs = "console=ttySAC2,115200N8 root=/dev/mmcblk0p5 rootwait earlyprintk panic=5";
	};

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

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

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

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

		vemmc_reg: regulator-0 {
			compatible = "regulator-fixed";
			regulator-name = "VMEM_VDD_2.8V";
			regulator-min-microvolt = <2800000>;
			regulator-max-microvolt = <2800000>;
			gpio = <&gpk0 2 0>;
			enable-active-high;
		};

		cam_io_reg: voltage-regulator-1 {
			compatible = "regulator-fixed";
			regulator-name = "CAM_SENSOR_A";
			regulator-min-microvolt = <2800000>;
			regulator-max-microvolt = <2800000>;
			gpio = <&gpm0 2 0>;
			enable-active-high;
		};

		/* More to come */
	};

	gpio-keys {
		compatible = "gpio-keys";

		key-down {
			interrupt-parent = <&gpj1>;
			interrupts = <2 0>;
			gpios = <&gpj1 2 1>;
			linux,code = <114>;
			label = "volume down";
			debounce-interval = <10>;
		};

		key-up {
			interrupt-parent = <&gpj1>;
			interrupts = <1 0>;
			gpios = <&gpj1 1 1>;
			linux,code = <115>;
			label = "volume up";
			debounce-interval = <10>;
		};

		key-power {
			interrupt-parent = <&gpx2>;
			interrupts = <7 0>;
			gpios = <&gpx2 7 1>;
			linux,code = <116>;
			label = "power";
			debounce-interval = <10>;
			gpio-key,wakeup;
		};
	};

	i2c@13890000 {
		samsung,i2c-sda-delay = <100>;
		samsung,i2c-slave-addr = <0x10>;
		samsung,i2c-max-bus-freq = <400000>;
		pinctrl-0 = <&i2c3_bus>;
		pinctrl-names = "default";
		status = "okay";

		mms114-touchscreen@48 {
			compatible = "melfas,mms114";
			reg = <0x48>;
			interrupt-parent = <&gpm2>;
			interrupts = <3 2>;
			x-size = <720>;
			y-size = <1280>;
			avdd-supply = <&ldo23_reg>;
			vdd-supply = <&ldo24_reg>;
		};
	};

	i2c@138D0000 {
		samsung,i2c-sda-delay = <100>;
		samsung,i2c-slave-addr = <0x10>;
		samsung,i2c-max-bus-freq = <100000>;
		pinctrl-0 = <&i2c7_bus>;
		pinctrl-names = "default";
		status = "okay";

		max77686_pmic@09 {
			compatible = "maxim,max77686";
			interrupt-parent = <&gpx0>;
			interrupts = <7 0>;
			reg = <0x09>;
			#clock-cells = <1>;

			voltage-regulators {
				ldo1_reg: ldo1 {
					regulator-compatible = "LDO1";
					regulator-name = "VALIVE_1.0V_AP";
					regulator-min-microvolt = <1000000>;
					regulator-max-microvolt = <1000000>;
					regulator-always-on;
					regulator-mem-on;
				};

				ldo2_reg: ldo2 {
					regulator-compatible = "LDO2";
					regulator-name = "VM1M2_1.2V_AP";
					regulator-min-microvolt = <1200000>;
					regulator-max-microvolt = <1200000>;
					regulator-always-on;
					regulator-mem-on;
				};

				ldo3_reg: ldo3 {
					regulator-compatible = "LDO3";
					regulator-name = "VCC_1.8V_AP";
					regulator-min-microvolt = <1800000>;
					regulator-max-microvolt = <1800000>;
					regulator-always-on;
					regulator-mem-on;
				};

				ldo4_reg: ldo4 {
					regulator-compatible = "LDO4";
					regulator-name = "VCC_2.8V_AP";
					regulator-min-microvolt = <2800000>;
					regulator-max-microvolt = <2800000>;
					regulator-always-on;
					regulator-mem-on;
				};

				ldo5_reg: ldo5 {
					regulator-compatible = "LDO5";
					regulator-name = "VCC_1.8V_IO";
					regulator-min-microvolt = <1800000>;
					regulator-max-microvolt = <1800000>;
					regulator-always-on;
					regulator-mem-on;
				};

				ldo6_reg: ldo6 {
					regulator-compatible = "LDO6";
					regulator-name = "VMPLL_1.0V_AP";
					regulator-min-microvolt = <1000000>;
					regulator-max-microvolt = <1000000>;
					regulator-always-on;
					regulator-mem-on;
				};

				ldo7_reg: ldo7 {
					regulator-compatible = "LDO7";
					regulator-name = "VPLL_1.0V_AP";
					regulator-min-microvolt = <1000000>;
					regulator-max-microvolt = <1000000>;
					regulator-always-on;
					regulator-mem-on;
				};

				ldo8_reg: ldo8 {
					regulator-compatible = "LDO8";
					regulator-name = "VMIPI_1.0V";
					regulator-min-microvolt = <1000000>;
					regulator-max-microvolt = <1000000>;
					regulator-mem-off;
				};

				ldo9_reg: ldo9 {
					regulator-compatible = "LDO9";
					regulator-name = "CAM_ISP_MIPI_1.2V";
					regulator-min-microvolt = <1200000>;
					regulator-max-microvolt = <1200000>;
					regulator-mem-idle;
				};

				ldo10_reg: ldo10 {
					regulator-compatible = "LDO10";
					regulator-name = "VMIPI_1.8V";
					regulator-min-microvolt = <1800000>;
					regulator-max-microvolt = <1800000>;
					regulator-mem-off;
				};

				ldo11_reg: ldo11 {
					regulator-compatible = "LDO11";
					regulator-name = "VABB1_1.95V";
					regulator-min-microvolt = <1950000>;
					regulator-max-microvolt = <1950000>;
					regulator-always-on;
					regulator-mem-off;
				};

				ldo12_reg: ldo12 {
					regulator-compatible = "LDO12";
					regulator-name = "VUOTG_3.0V";
					regulator-min-microvolt = <3000000>;
					regulator-max-microvolt = <3000000>;
					regulator-mem-off;
				};

				ldo13_reg: ldo13 {
					regulator-compatible = "LDO13";
					regulator-name = "NFC_AVDD_1.8V";
					regulator-min-microvolt = <1800000>;
					regulator-max-microvolt = <1800000>;
					regulator-mem-idle;
				};

				ldo14_reg: ldo14 {
					regulator-compatible = "LDO14";
					regulator-name = "VABB2_1.95V";
					regulator-min-microvolt = <1950000>;
					regulator-max-microvolt = <1950000>;
					regulator-always-on;
					regulator-mem-off;
				};

				ldo15_reg: ldo15 {
					regulator-compatible = "LDO15";
					regulator-name = "VHSIC_1.0V";
					regulator-min-microvolt = <1000000>;
					regulator-max-microvolt = <1000000>;
					regulator-mem-off;
				};

				ldo16_reg: ldo16 {
					regulator-compatible = "LDO16";
					regulator-name = "VHSIC_1.8V";
					regulator-min-microvolt = <1800000>;
					regulator-max-microvolt = <1800000>;
					regulator-mem-off;
				};

				ldo17_reg: ldo17 {
					regulator-compatible = "LDO17";
					regulator-name = "CAM_SENSOR_CORE_1.2V";
					regulator-min-microvolt = <1200000>;
					regulator-max-microvolt = <1200000>;
					regulator-mem-idle;
				};

				ldo18_reg: ldo18 {
					regulator-compatible = "LDO18";
					regulator-name = "CAM_ISP_SEN_IO_1.8V";
					regulator-min-microvolt = <1800000>;
					regulator-max-microvolt = <1800000>;
					regulator-mem-idle;
				};

				ldo19_reg: ldo19 {
					regulator-compatible = "LDO19";
					regulator-name = "VT_CAM_1.8V";
					regulator-min-microvolt = <1800000>;
					regulator-max-microvolt = <1800000>;
					regulator-mem-idle;
				};

				ldo20_reg: ldo20 {
					regulator-compatible = "LDO20";
					regulator-name = "VDDQ_PRE_1.8V";
					regulator-min-microvolt = <1800000>;
					regulator-max-microvolt = <1800000>;
					regulator-mem-idle;
				};

				ldo21_reg: ldo21 {
					regulator-compatible = "LDO21";
					regulator-name = "VTF_2.8V";
					regulator-min-microvolt = <2800000>;
					regulator-max-microvolt = <2800000>;
					regulator-mem-idle;
				};

				ldo22_reg: ldo22 {
					regulator-compatible = "LDO22";
					regulator-name = "VMEM_VDD_2.8V";
					regulator-min-microvolt = <2800000>;
					regulator-max-microvolt = <2800000>;
					regulator-always-on;
					regulator-mem-off;
				};

				ldo23_reg: ldo23 {
					regulator-compatible = "LDO23";
					regulator-name = "TSP_AVDD_3.3V";
					regulator-min-microvolt = <3300000>;
					regulator-max-microvolt = <3300000>;
					regulator-mem-idle;
				};

				ldo24_reg: ldo24 {
					regulator-compatible = "LDO24";
					regulator-name = "TSP_VDD_1.8V";
					regulator-min-microvolt = <1800000>;
					regulator-max-microvolt = <1800000>;
					regulator-mem-idle;
				};

				ldo25_reg: ldo25 {
					regulator-compatible = "LDO25";
					regulator-name = "LCD_VCC_3.3V";
					regulator-min-microvolt = <2800000>;
					regulator-max-microvolt = <2800000>;
					regulator-mem-idle;
				};

				ldo26_reg: ldo26 {
					regulator-compatible = "LDO26";
					regulator-name = "MOTOR_VCC_3.0V";
					regulator-min-microvolt = <3000000>;
					regulator-max-microvolt = <3000000>;
					regulator-mem-idle;
				};

				buck1_reg: buck1 {
					regulator-compatible = "BUCK1";
					regulator-name = "vdd_mif";
					regulator-min-microvolt = <850000>;
					regulator-max-microvolt = <1100000>;
					regulator-always-on;
					regulator-boot-on;
					regulator-mem-off;
				};

				buck2_reg: buck2 {
					regulator-compatible = "BUCK2";
					regulator-name = "vdd_arm";
					regulator-min-microvolt = <850000>;
					regulator-max-microvolt = <1500000>;
					regulator-always-on;
					regulator-boot-on;
					regulator-mem-off;
				};

				buck3_reg: buck3 {
					regulator-compatible = "BUCK3";
					regulator-name = "vdd_int";
					regulator-min-microvolt = <850000>;
					regulator-max-microvolt = <1150000>;
					regulator-always-on;
					regulator-boot-on;
					regulator-mem-off;
				};

				buck4_reg: buck4 {
					regulator-compatible = "BUCK4";
					regulator-name = "vdd_g3d";
					regulator-min-microvolt = <850000>;
					regulator-max-microvolt = <1150000>;
					regulator-boot-on;
					regulator-mem-off;
				};

				buck5_reg: buck5 {
					regulator-compatible = "BUCK5";
					regulator-name = "VMEM_1.2V_AP";
					regulator-min-microvolt = <1200000>;
					regulator-max-microvolt = <1200000>;
					regulator-always-on;
				};

				buck6_reg: buck6 {
					regulator-compatible = "BUCK6";
					regulator-name = "VCC_SUB_1.35V";
					regulator-min-microvolt = <1350000>;
					regulator-max-microvolt = <1350000>;
					regulator-always-on;
				};

				buck7_reg: buck7 {
					regulator-compatible = "BUCK7";
					regulator-name = "VCC_SUB_2.0V";
					regulator-min-microvolt = <2000000>;
					regulator-max-microvolt = <2000000>;
					regulator-always-on;
				};

				buck8_reg: buck8 {
					regulator-compatible = "BUCK8";
					regulator-name = "VMEM_VDDF_3.0V";
					regulator-min-microvolt = <2850000>;
					regulator-max-microvolt = <2850000>;
					regulator-always-on;
					regulator-mem-off;
				};

				buck9_reg: buck9 {
					regulator-compatible = "BUCK9";
					regulator-name = "CAM_ISP_CORE_1.2V";
					regulator-min-microvolt = <1000000>;
					regulator-max-microvolt = <1200000>;
					regulator-mem-off;
				};
			};
		};
	};

	mmc@12550000 {
		num-slots = <1>;
		supports-highspeed;
		broken-cd;
		non-removable;
		card-detect-delay = <200>;
		vmmc-supply = <&vemmc_reg>;
		clock-frequency = <400000000>;
		samsung,dw-mshc-ciu-div = <0>;
		samsung,dw-mshc-sdr-timing = <2 3>;
		samsung,dw-mshc-ddr-timing = <1 2>;
		pinctrl-0 = <&sd4_clk &sd4_cmd &sd4_bus4 &sd4_bus8>;
		pinctrl-names = "default";
		status = "okay";

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

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

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

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

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

	i2c_ak8975: i2c-gpio-0 {
		compatible = "i2c-gpio";
		gpios = <&gpy2 4 0>, <&gpy2 5 0>;
		i2c-gpio,delay-us = <2>;
		#address-cells = <1>;
		#size-cells = <0>;
		status = "okay";

		ak8975@0c {
			compatible = "ak,ak8975";
			reg = <0x0c>;
			gpios = <&gpj0 7 0>;
		};
	};

	spi_1: spi@13930000 {
		pinctrl-names = "default";
		pinctrl-0 = <&spi1_bus>;
		status = "okay";

		s5c73m3_spi: s5c73m3 {
			compatible = "samsung,s5c73m3";
			spi-max-frequency = <50000000>;
			reg = <0>;
			controller-data {
				cs-gpio = <&gpb 5 0>;
				samsung,spi-feedback-delay = <2>;
			};
		};
	};

	camera {
		pinctrl-0 = <&cam_port_b_clk_active>;
		pinctrl-names = "default";
		status = "okay";

		fimc_0: fimc@11800000 {
			status = "okay";
		};

		fimc_1: fimc@11810000 {
			status = "okay";
		};

		fimc_2: fimc@11820000 {
			status = "okay";
		};

		fimc_3: fimc@11830000 {
			status = "okay";
		};

		csis_1: csis@11890000 {
			vddcore-supply = <&ldo8_reg>;
			vddio-supply = <&ldo10_reg>;
			clock-frequency = <160000000>;
			status = "okay";

			/* Camera D (4) MIPI CSI-2 (CSIS1) */
			port@4 {
				reg = <4>;
				csis1_ep: endpoint {
					remote-endpoint = <&is_s5k6a3_ep>;
					data-lanes = <1>;
					samsung,csis-hs-settle = <18>;
					samsung,csis-wclk;
				};
			};
		};

		fimc_lite_0: fimc-lite@12390000 {
			status = "okay";
		};

		fimc_lite_1: fimc-lite@123A0000 {
			status = "okay";
		};

		fimc-is@12000000 {
			pinctrl-0 = <&fimc_is_uart>;
			pinctrl-names = "default";
			status = "okay";

			i2c1_isp: i2c-isp@12140000 {
				pinctrl-0 = <&fimc_is_i2c1>;
				pinctrl-names = "default";

				s5k6a3@10 {
					compatible = "samsung,s5k6a3";
					reg = <0x10>;
					svdda-supply = <&cam_io_reg>;
					svddio-supply = <&ldo19_reg>;
					clock-frequency = <24000000>;
					/* CAM_B_CLKOUT */
					clocks = <&clock_cam 1>;
					clock-names = "mclk";
					samsung,camclk-out = <1>;
					gpios = <&gpm1 6 0>;

					port {
						is_s5k6a3_ep: endpoint {
							remote-endpoint = <&csis1_ep>;
							data-lanes = <1>;
						};
					};
				};
			};
		};
	};
};
