/*
 * Samsung's Exynos4210 based Trats board device tree source
 *
 * Copyright (c) 2012 Samsung Electronics Co., Ltd.
 *		http://www.samsung.com
 *
 * Device tree source file for Samsung's Trats board which is based on
 * Samsung's Exynos4210 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 "exynos4210.dtsi"

/ {
	model = "Samsung Trats based on Exynos4210";
	compatible = "samsung,trats", "samsung,exynos4210", "samsung,exynos4";

	memory {
		reg =  <0x40000000 0x10000000
			0x50000000 0x10000000
			0x60000000 0x10000000
			0x70000000 0x10000000>;
	};

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

	regulators {
		compatible = "simple-bus";

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

		tsp_reg: regulator-1 {
			compatible = "regulator-fixed";
			regulator-name = "TSP_FIXED_VOLTAGES";
			regulator-min-microvolt = <2800000>;
			regulator-max-microvolt = <2800000>;
			gpio = <&gpl0 3 0>;
			enable-active-high;
		};

		cam_af_28v_reg: regulator-2 {
			compatible = "regulator-fixed";
			regulator-name = "8M_AF_2.8V_EN";
			regulator-min-microvolt = <2800000>;
			regulator-max-microvolt = <2800000>;
			gpio = <&gpk1 1 0>;
			enable-active-high;
		};

		cam_io_en_reg: regulator-3 {
			compatible = "regulator-fixed";
			regulator-name = "CAM_IO_EN";
			regulator-min-microvolt = <2800000>;
			regulator-max-microvolt = <2800000>;
			gpio = <&gpe2 1 0>;
			enable-active-high;
		};

		cam_io_12v_reg: regulator-4 {
			compatible = "regulator-fixed";
			regulator-name = "8M_1.2V_EN";
			regulator-min-microvolt = <1200000>;
			regulator-max-microvolt = <1200000>;
			gpio = <&gpe2 5 0>;
			enable-active-high;
		};

		vt_core_15v_reg: regulator-5 {
			compatible = "regulator-fixed";
			regulator-name = "VT_CORE_1.5V";
			regulator-min-microvolt = <1500000>;
			regulator-max-microvolt = <1500000>;
			gpio = <&gpe2 2 0>;
			enable-active-high;
		};
	};

	hsotg@12480000 {
		vusb_d-supply = <&vusb_reg>;
		vusb_a-supply = <&vusbdac_reg>;
		dr_mode = "peripheral";
		status = "okay";
	};

	sdhci_emmc: sdhci@12510000 {
		bus-width = <8>;
		non-removable;
		pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus8>;
		pinctrl-names = "default";
		vmmc-supply = <&vemmc_reg>;
		status = "okay";
	};

	exynos-usbphy@125B0000 {
		status = "okay";
	};

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

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

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

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

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

		vol-down-key {
			gpios = <&gpx2 1 1>;
			linux,code = <114>;
			label = "volume down";
			debounce-interval = <10>;
		};

		vol-up-key {
			gpios = <&gpx2 0 1>;
			linux,code = <115>;
			label = "volume up";
			debounce-interval = <10>;
		};

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

		ok-key {
			gpios = <&gpx3 5 1>;
			linux,code = <352>;
			label = "ok";
			debounce-interval = <10>;
		};
	};

	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 = <&gpx0>;
			interrupts = <4 2>;
			x-size = <720>;
			y-size = <1280>;
			avdd-supply = <&tsp_reg>;
			vdd-supply = <&tsp_reg>;
		};
	};

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

		max8997_pmic@66 {
			compatible = "maxim,max8997-pmic";

			reg = <0x66>;

			max8997,pmic-buck1-uses-gpio-dvs;
			max8997,pmic-buck2-uses-gpio-dvs;
			max8997,pmic-buck5-uses-gpio-dvs;

			max8997,pmic-ignore-gpiodvs-side-effect;
			max8997,pmic-buck125-default-dvs-idx = <0>;

			max8997,pmic-buck125-dvs-gpios = <&gpx0 5 0>,
						         <&gpx0 6 0>,
							 <&gpl0 0 0>;

			max8997,pmic-buck1-dvs-voltage = <1350000>, <1300000>,
							 <1250000>, <1200000>,
							 <1150000>, <1100000>,
							 <1000000>, <950000>;

			max8997,pmic-buck2-dvs-voltage = <1100000>, <1000000>,
							 <950000>,  <900000>,
							 <1100000>, <1000000>,
							 <950000>,  <900000>;

			max8997,pmic-buck5-dvs-voltage = <1200000>, <1200000>,
							 <1200000>, <1200000>,
							 <1200000>, <1200000>,
							 <1200000>, <1200000>;

			regulators {
				valive_reg: LDO2 {
				     regulator-name = "VALIVE_1.1V_C210";
				     regulator-min-microvolt = <1100000>;
				     regulator-max-microvolt = <1100000>;
				     regulator-always-on;
				};

				vusb_reg: LDO3 {
				     regulator-name = "VUSB_1.1V_C210";
				     regulator-min-microvolt = <1100000>;
				     regulator-max-microvolt = <1100000>;
				};

				vmipi_reg: LDO4 {
				     regulator-name = "VMIPI_1.8V";
				     regulator-min-microvolt = <1800000>;
				     regulator-max-microvolt = <1800000>;
				};

				vpda_reg: LDO6 {
				     regulator-name = "VCC_1.8V_PDA";
				     regulator-min-microvolt = <1800000>;
				     regulator-max-microvolt = <1800000>;
				     regulator-always-on;
				};

				vcam_reg: LDO7 {
				     regulator-name = "CAM_ISP_1.8V";
				     regulator-min-microvolt = <1800000>;
				     regulator-max-microvolt = <1800000>;
				};

				vusbdac_reg: LDO8 {
				     regulator-name = "VUSB/VDAC_3.3V_C210";
				     regulator-min-microvolt = <3300000>;
				     regulator-max-microvolt = <3300000>;
				};

				vccpda_reg: LDO9 {
				     regulator-name = "VCC_2.8V_PDA";
				     regulator-min-microvolt = <2800000>;
				     regulator-max-microvolt = <2800000>;
				     regulator-always-on;
				};

				vpll_reg: LDO10 {
				     regulator-name = "VPLL_1.1V_C210";
				     regulator-min-microvolt = <1100000>;
				     regulator-max-microvolt = <1100000>;
				     regulator-always-on;
				};

				vtcam_reg: LDO12 {
				     regulator-name = "VT_CAM_1.8V";
				     regulator-min-microvolt = <1800000>;
				     regulator-max-microvolt = <1800000>;
				};

				vcclcd_reg: LDO13 {
				     regulator-name = "VCC_3.3V_LCD";
				     regulator-min-microvolt = <3300000>;
				     regulator-max-microvolt = <3300000>;
				};

				vlcd_reg: LDO15 {
				     regulator-name = "VLCD_2.2V";
				     regulator-min-microvolt = <2200000>;
				     regulator-max-microvolt = <2200000>;
				};

				camsensor_reg: LDO16 {
				     regulator-name = "CAM_SENSOR_IO_1.8V";
				     regulator-min-microvolt = <1800000>;
				     regulator-max-microvolt = <1800000>;
				};

				vddq_reg: LDO21 {
				     regulator-name = "VDDQ_M1M2_1.2V";
				     regulator-min-microvolt = <1200000>;
				     regulator-max-microvolt = <1200000>;
				     regulator-always-on;
				};

				varm_breg: BUCK1 {
				     /*
				      * HACK: The real name is VARM_1.2V_C210,
				      * but exynos-cpufreq does not support
				      * DT-based regulator lookup yet.
				      */
				     regulator-name = "vdd_arm";
				     regulator-min-microvolt = <900000>;
				     regulator-max-microvolt = <1350000>;
				     regulator-always-on;
				};

				vint_breg: BUCK2 {
				     regulator-name = "VINT_1.1V_C210";
				     regulator-min-microvolt = <900000>;
				     regulator-max-microvolt = <1100000>;
				     regulator-always-on;
				};

				camisp_breg: BUCK4 {
				     regulator-name = "CAM_ISP_CORE_1.2V";
				     regulator-min-microvolt = <1200000>;
				     regulator-max-microvolt = <1200000>;
				};

				vmem_breg: BUCK5 {
				     regulator-name = "VMEM_1.2V_C210";
				     regulator-min-microvolt = <1200000>;
				     regulator-max-microvolt = <1200000>;
				     regulator-always-on;
				};

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

				safe1_sreg: ESAFEOUT1 {
				     regulator-name = "SAFEOUT1";
				     regulator-always-on;
				};

				safe2_sreg: ESAFEOUT2 {
				     regulator-name = "SAFEOUT2";
				     regulator-boot-on;
				};
			};
		};
	};

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

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

	dsi_0: dsi@11C80000 {
		vddcore-supply = <&vusb_reg>;
		vddio-supply = <&vmipi_reg>;
		samsung,pll-clock-frequency = <24000000>;
		status = "okay";

		ports {
			#address-cells = <1>;
			#size-cells = <0>;

			port@1 {
				reg = <1>;

				dsi_out: endpoint {
					remote-endpoint = <&dsi_in>;
					samsung,burst-clock-frequency = <500000000>;
					samsung,esc-clock-frequency = <20000000>;
				};
			};
		};

		panel@0 {
			reg = <0>;
			compatible = "samsung,s6e8aa0";
			vdd3-supply = <&vcclcd_reg>;
			vci-supply = <&vlcd_reg>;
			reset-gpios = <&gpy4 5 0>;
			power-on-delay= <50>;
			reset-delay = <100>;
			init-delay = <100>;
			flip-horizontal;
			flip-vertical;
			panel-width-mm = <58>;
			panel-height-mm = <103>;

			display-timings {
				timing-0 {
					clock-frequency = <57153600>;
					hactive = <720>;
					vactive = <1280>;
					hfront-porch = <5>;
					hback-porch = <5>;
					hsync-len = <5>;
					vfront-porch = <13>;
					vback-porch = <1>;
					vsync-len = <2>;
				};
			};

			port {
				dsi_in: endpoint {
					remote-endpoint = <&dsi_out>;
				};
			};
		};
	};

	fimd@11c00000 {
		status = "okay";
	};

	tmu@100C0000 {
		status = "okay";
	};

	thermal-zones {
		cpu_thermal: cpu-thermal {
			cooling-maps {
				map0 {
				     /* Corresponds to 800MHz at freq_table */
				     cooling-device = <&cpu0 2 2>;
				};
				map1 {
				     /* Corresponds to 200MHz at freq_table */
				     cooling-device = <&cpu0 4 4>;
			       };
		       };
		};
	};

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

		fimc_0: fimc@11800000 {
			status = "okay";
			assigned-clocks = <&clock CLK_MOUT_FIMC0>,
					<&clock CLK_SCLK_FIMC0>;
			assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
			assigned-clock-rates = <0>, <160000000>;
		};

		fimc_1: fimc@11810000 {
			status = "okay";
			assigned-clocks = <&clock CLK_MOUT_FIMC1>,
					<&clock CLK_SCLK_FIMC1>;
			assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
			assigned-clock-rates = <0>, <160000000>;
		};

		fimc_2: fimc@11820000 {
			status = "okay";
			assigned-clocks = <&clock CLK_MOUT_FIMC2>,
					<&clock CLK_SCLK_FIMC2>;
			assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
			assigned-clock-rates = <0>, <160000000>;
		};

		fimc_3: fimc@11830000 {
			status = "okay";
			assigned-clocks = <&clock CLK_MOUT_FIMC3>,
					<&clock CLK_SCLK_FIMC3>;
			assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
			assigned-clock-rates = <0>, <160000000>;
		};
	};
};
