/*
 * 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_pmic";
			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 = <&gpio 0x6a 0>;
		status = "disabled";
	};

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

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

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

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