// SPDX-License-Identifier: GPL-2.0
/*
 * 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.
 */

/dts-v1/;
#include "exynos4210.dtsi"
#include <dt-bindings/gpio/gpio.h>

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

	memory@40000000 {
		device_type = "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 GPIO_ACTIVE_HIGH>;
			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 GPIO_ACTIVE_HIGH>;
			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 GPIO_ACTIVE_HIGH>;
			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 GPIO_ACTIVE_HIGH>;
			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 GPIO_ACTIVE_HIGH>;
			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 GPIO_ACTIVE_HIGH>;
			enable-active-high;
		};
	};

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

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

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

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

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

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

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

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

&cpu0 {
	cpu0-supply = <&varm_breg>;
};

&dsi_0 {
	vddcore-supply = <&vusb_reg>;
	vddio-supply = <&vmipi_reg>;
	samsung,burst-clock-frequency = <500000000>;
	samsung,esc-clock-frequency = <20000000>;
	samsung,pll-clock-frequency = <24000000>;
	status = "okay";

	panel@0 {
		reg = <0>;
		compatible = "samsung,s6e8aa0";
		vdd3-supply = <&vcclcd_reg>;
		vci-supply = <&vlcd_reg>;
		reset-gpios = <&gpy4 5 GPIO_ACTIVE_HIGH>;
		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>;
			};
		};
	};
};

&exynos_usbphy {
	status = "okay";
	vbus-supply = <&safe1_sreg>;
};

&fimc_0 {
	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 {
	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 {
	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 {
	status = "okay";
	assigned-clocks = <&clock CLK_MOUT_FIMC3>,
			  <&clock CLK_SCLK_FIMC3>;
	assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
	assigned-clock-rates = <0>, <160000000>;
};

&fimd {
	status = "okay";
};

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

&i2c_3 {
	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 IRQ_TYPE_EDGE_FALLING>;
		touchscreen-size-x = <720>;
		touchscreen-size-y = <1280>;
		avdd-supply = <&tsp_reg>;
		vdd-supply = <&tsp_reg>;
	};
};

&i2c_5 {
	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";
		interrupts-extended = <&gpx0 7 0>, <&gpx2 3 0>;

		reg = <0x66>;
		interrupt-parent = <&gpx0>;
		interrupts = <7 IRQ_TYPE_NONE>;

		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 GPIO_ACTIVE_HIGH>,
						 <&gpx0 6 GPIO_ACTIVE_HIGH>,
						 <&gpl0 0 GPIO_ACTIVE_HIGH>;

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

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

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

&serial_0 {
	status = "okay";
};

&serial_1 {
	status = "okay";
};

&serial_2 {
	status = "okay";
};

&serial_3 {
	status = "okay";
};

&tmu {
	status = "okay";
};
