/*
 * Samsung's Exynos4412 based Trats2 board device tree source
 *
 * Copyright (c) 2014 Samsung Electronics Co., Ltd.
 *		http://www.samsung.com
 *
 * SPDX-License-Identifier:	GPL-2.0+
 */

/dts-v1/;
#include "exynos4412.dtsi"

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

	config {
		samsung,dsim-device-name = "s6e8ax0";
	};

	aliases {
		i2c0 = "/i2c@13860000";
		i2c1 = "/i2c@13870000";
		i2c2 = "/i2c@13880000";
		i2c3 = "/i2c@13890000";
		i2c4 = "/i2c@138a0000";
		i2c5 = "/i2c@138b0000";
		i2c6 = "/i2c@138c0000";
		i2c7 = "/i2c@138d0000";
		serial0 = "/serial@13800000";
		console = "/serial@13820000";
		mmc0 = "sdhci@12510000";
		mmc2 = "sdhci@12530000";
		mmc4 = "dwmmc@12550000";
	};

	i2c@138d0000 {
		samsung,i2c-sda-delay = <100>;
		samsung,i2c-slave-addr = <0x10>;
		samsung,i2c-max-bus-freq = <100000>;
		status = "okay";

		max77686_pmic@09 {
			compatible = "maxim,max77686";
			interrupts = <7 0>;
			reg = <0x09 0 0>;
			#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;
				};
			};
		};
	};

	fimd@11c00000 {
		compatible = "samsung,exynos-fimd";
		reg = <0x11c00000 0xa4>;

		samsung,vl-freq = <60>;
		samsung,vl-col = <720>;
		samsung,vl-row = <1280>;
		samsung,vl-width = <720>;
		samsung,vl-height = <1280>;

		samsung,vl-clkp = <0>;
		samsung,vl-oep = <0>;
		samsung,vl-hsp = <1>;
		samsung,vl-vsp = <1>;
		samsung,vl-dp = <1>;
		samsung,vl-bpix = <4>;

		samsung,vl-hspw = <5>;
		samsung,vl-hbpd = <10>;
		samsung,vl-hfpd = <10>;
		samsung,vl-vspw = <2>;
		samsung,vl-vbpd = <1>;
		samsung,vl-vfpd = <13>;
		samsung,vl-cmd-allow-len = <0xf>;

		samsung,winid = <0>;
		samsung,power-on-delay = <30>;
		samsung,interface-mode = <1>;
		samsung,mipi-enabled = <1>;
		samsung,dp-enabled;
		samsung,dual-lcd-enabled;

		samsung,logo-on = <1>;
		samsung,resolution = <0>;
		samsung,rgb-mode = <0>;
	};

	mipidsi@11c80000 {
		compatible = "samsung,exynos-mipi-dsi";
		reg = <0x11c80000 0x5c>;

		samsung,dsim-config-e-interface = <1>;
		samsung,dsim-config-e-virtual-ch = <0>;
		samsung,dsim-config-e-pixel-format = <7>;
		samsung,dsim-config-e-burst-mode = <1>;
		samsung,dsim-config-e-no-data-lane = <3>;
		samsung,dsim-config-e-byte-clk = <0>;
		samsung,dsim-config-hfp = <1>;

		samsung,dsim-config-p = <3>;
		samsung,dsim-config-m = <120>;
		samsung,dsim-config-s = <1>;

		samsung,dsim-config-pll-stable-time = <500>;
		samsung,dsim-config-esc-clk = <20000000>;
		samsung,dsim-config-stop-holding-cnt = <0x7ff>;
		samsung,dsim-config-bta-timeout = <0xff>;
		samsung,dsim-config-rx-timeout = <0xffff>;

		samsung,dsim-device-id = <0xffffffff>;
		samsung,dsim-device-bus-id = <0>;

		samsung,dsim-device-reverse-panel = <1>;
	};

	sdhci@12510000 {
		samsung,bus-width = <8>;
		samsung,timing = <1 3 3>;
		pwr-gpios = <&gpk0 4 0>;
		status = "disabled";
	};

	sdhci@12520000 {
		status = "disabled";
	};

	sdhci@12530000 {
		samsung,bus-width = <4>;
		samsung,timing = <1 2 3>;
		cd-gpios = <&gpk2 2 0>;
	};

	sdhci@12540000 {
		status = "disabled";
	};

	dwmmc@12550000 {
		samsung,bus-width = <8>;
		samsung,timing = <2 1 0>;
		pwr-gpios = <&gpk0 4 0>;
		fifoth_val = <0x203f0040>;
		bus_hz = <400000000>;
		div = <0x3>;
		index = <4>;
	};
};
