diff --git a/arch/arm/boot/dts/cust.dtsi b/arch/arm/boot/dts/cust.dtsi
new file mode 100644
index 0000000..1a55b21
--- /dev/null
+++ b/arch/arm/boot/dts/cust.dtsi
@@ -0,0 +1,300 @@
+/*
+ * Generated by MTK SP Drv_CodeGen Version 03.13.6  for MT6580. Copyright MediaTek Inc. (C) 2013.
+ * Sat Nov 25 16:49:33 2017
+ * Do Not Modify the File.
+ */
+
+#include <dt-bindings/interrupt-controller/irq.h>
+#include <dt-bindings/interrupt-controller/arm-gic.h>
+
+/*************************
+ * EINT DTSI File
+*************************/
+
+&accdet {
+	interrupt-parent = <&eintc>;
+	interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
+	debounce = <0 256000>;
+	status = "okay";
+};
+&mhall {
+	interrupt-parent = <&eintc>;
+	interrupts = <18 IRQ_TYPE_LEVEL_LOW>;
+	debounce = <18 16000>;
+	status = "okay";
+};
+&touch {
+	interrupt-parent = <&eintc>;
+	interrupts = <5 IRQ_TYPE_EDGE_FALLING>;
+	debounce = <5 0>;
+	status = "okay";
+};
+&als {
+	interrupt-parent = <&eintc>;
+	interrupts = <6 IRQ_TYPE_LEVEL_LOW>;
+	debounce = <6 0>;
+	status = "okay";
+};
+&dsi_te {
+	interrupt-parent = <&eintc>;
+	interrupts = <68 IRQ_TYPE_EDGE_RISING>;
+	debounce = <68 0>;
+	status = "okay";
+};
+
+
+/********************
+ * GPIO USAGE MAPPING DTSI File
+****************/
+
+&gpio_usage_mapping {
+	GPIO_FDD_BAND_SUPPORT_DETECT_1ST_PIN = <21>;
+	GPIO_SIM1_SCLK = <22>;
+	GPIO_SIM1_SIO = <23>;
+	GPIO_SIM2_SIO = <24>;
+	GPIO_SIM2_SCLK = <25>;
+	GPIO_FDD_BAND_SUPPORT_DETECT_2ND_PIN = <84>;
+};
+
+
+&eintc {
+};
+
+
+/*************************
+ * PMIC DTSI File
+*************************/
+
+&mt_pmic_vmc_ldo_reg {
+	regulator-name = "vmc";
+	regulator-default-on = <0>; /* 0:skip, 1: off, 2:on */
+	status = "okay";
+};
+&mt_pmic_vmch_ldo_reg {
+	regulator-name = "vmch";
+	regulator-default-on = <0>; /* 0:skip, 1: off, 2:on */
+	status = "okay";
+};
+&mt_pmic_vemc_3v3_ldo_reg {
+	regulator-name = "vemc3v3";
+	regulator-default-on = <0>; /* 0:skip, 1: off, 2:on */
+	status = "okay";
+};
+&mt_pmic_vgp1_ldo_reg {
+	regulator-name = "vgp1";
+	regulator-default-on = <0>; /* 0:skip, 1: off, 2:on */
+	status = "okay";
+};
+&mt_pmic_vgp2_ldo_reg {
+	regulator-name = "vgp2";
+	regulator-default-on = <0>; /* 0:skip, 1: off, 2:on */
+	status = "okay";
+};
+&mt_pmic_vgp3_ldo_reg {
+	regulator-name = "vgp3";
+	regulator-default-on = <0>; /* 0:skip, 1: off, 2:on */
+	status = "okay";
+};
+&mt_pmic_vcn_1v8_ldo_reg {
+	regulator-name = "vcn1v8";
+	regulator-default-on = <0>; /* 0:skip, 1: off, 2:on */
+	status = "okay";
+};
+&mt_pmic_vsim1_ldo_reg {
+	regulator-name = "vsim1";
+	regulator-default-on = <0>; /* 0:skip, 1: off, 2:on */
+	status = "okay";
+};
+&mt_pmic_vsim2_ldo_reg {
+	regulator-name = "vsim2";
+	regulator-default-on = <0>; /* 0:skip, 1: off, 2:on */
+	status = "okay";
+};
+&mt_pmic_vcamaf_ldo_reg {
+	regulator-name = "vcamaf";
+	regulator-default-on = <0>; /* 0:skip, 1: off, 2:on */
+	status = "okay";
+};
+&mt_pmic_vibr_ldo_reg {
+	regulator-name = "vibr";
+	regulator-default-on = <0>; /* 0:skip, 1: off, 2:on */
+	status = "okay";
+};
+&mt_pmic_vm_ldo_reg {
+	regulator-name = "vm";
+	regulator-default-on = <0>; /* 0:skip, 1: off, 2:on */
+	status = "okay";
+};
+&mt_pmic_vrf18_ldo_reg {
+	regulator-name = "vrf18";
+	regulator-default-on = <0>; /* 0:skip, 1: off, 2:on */
+	status = "okay";
+};
+&mt_pmic_vcamd_ldo_reg {
+	regulator-name = "vcamd";
+	regulator-default-on = <0>; /* 0:skip, 1: off, 2:on */
+	status = "okay";
+};
+&mt_pmic_vcanio_ldo_reg {
+	regulator-name = "vcanio";
+	regulator-default-on = <0>; /* 0:skip, 1: off, 2:on */
+	status = "okay";
+};
+&mt_pmic_vcama_ldo_reg {
+	regulator-name = "vcama";
+	regulator-default-on = <0>; /* 0:skip, 1: off, 2:on */
+	status = "okay";
+};
+&mt_pmic_vcn33_ldo_reg {
+	regulator-name = "vcn33";
+	regulator-default-on = <0>; /* 0:skip, 1: off, 2:on */
+	status = "okay";
+};
+&mt_pmic_vcn28_ldo_reg {
+	regulator-name = "vcn28";
+	regulator-default-on = <0>; /* 0:skip, 1: off, 2:on */
+	status = "okay";
+};
+
+&kd_camera_hw1 {
+	vcamd-supply = <&mt_pmic_vgp3_ldo_reg>;
+
+	vcamaf-supply = <&mt_pmic_vcamaf_ldo_reg>;
+
+	vcamd_main2-supply = <&mt_pmic_vcamd_ldo_reg>;
+	vcamd_sub-supply = <&mt_pmic_vcamd_ldo_reg>;
+
+	vcamio-supply = <&mt_pmic_vcanio_ldo_reg>;
+	vcamio_main2-supply = <&mt_pmic_vcanio_ldo_reg>;
+	vcamio_sub-supply = <&mt_pmic_vcanio_ldo_reg>;
+
+	vcama-supply = <&mt_pmic_vcama_ldo_reg>;
+	vcama_main2-supply = <&mt_pmic_vcama_ldo_reg>;
+	vcama_sub-supply = <&mt_pmic_vcama_ldo_reg>;
+
+	status = "okay";
+};
+
+&touch {
+	vtouch-supply = <&mt_pmic_vgp1_ldo_reg>;
+	status = "okay";
+};
+
+
+/********************************************
+ *ADC DTSI File
+********************************************/
+
+&auxadc {
+	adc_channel@ {
+		compatible = "mediatek,adc_channel";
+		mediatek,temperature0 = <0>;
+		mediatek,temperature1 = <1>;
+		mediatek,lcm_voltage = <12>;
+		status = "okay";
+	};
+};
+
+
+/**********************************************
+ *CLK_BUF DTSI File
+********************************************/
+
+&rf_clock_buffer_ctrl {
+	mediatek,clkbuf-quantity = <4>;
+	mediatek,clkbuf-config = <2 2 1 1>;
+	status = "okay";
+};
+
+
+/**********************************************
+ *Keypad DTSI File
+********************************************/
+
+&keypad{
+	mediatek,kpd-key-debounce = <1024>;
+	mediatek,kpd-sw-pwrkey = <116>;
+	mediatek,kpd-hw-pwrkey = <8>;
+	mediatek,kpd-use-extend-type = <0>;
+	/*HW Keycode [0~71] -> Linux Keycode*/
+	mediatek,kpd-hw-map-num = <72>;
+	mediatek,kpd-hw-init-map = <115 114 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+				0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
+				0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 >;
+	mediatek,kpd-pwrkey-eint-gpio = <0>;
+	mediatek,kpd-pwkey-gpio-din  = <0>;
+	mediatek,kpd-hw-dl-key0 = <0>;
+	mediatek,kpd-hw-dl-key1 = <1>;
+	mediatek,kpd-hw-dl-key2 = <8>;
+	mediatek,kpd-hw-recovery-key = <0>;
+	mediatek,kpd-hw-factory-key = <1>;
+	status = "okay";
+};
+
+
+/*************************
+ * I2C DTSI File
+*************************/
+
+&i2c0 {
+	#address-cells = <1>;
+	#size-cells = <0>;
+	camera_main@36 {
+		compatible = "mediatek,camera_main";
+		reg = <0x36>;
+		status = "okay";
+	};
+	camera_main_af@0c {
+		compatible = "mediatek,camera_main_af";
+		reg = <0x0c>;
+		status = "okay";
+	};
+	camera_sub@21 {
+		compatible = "mediatek,camera_sub";
+		reg = <0x21>;
+		status = "okay";
+	};
+};
+
+&i2c1 {
+	#address-cells = <1>;
+	#size-cells = <0>;
+	cap_touch@39 {
+		compatible = "mediatek,cap_touch";
+		reg = <0x39>;
+		status = "okay";
+	};
+	ext_buck@60 {
+		compatible = "mediatek,ext_buck";
+		reg = <0x60>;
+		status = "okay";
+	};
+};
+
+&i2c2 {
+	#address-cells = <1>;
+	#size-cells = <0>;
+	strobe_main@63 {
+		compatible = "mediatek,strobe_main";
+		reg = <0x63>;
+		status = "okay";
+	};
+	msensor@0c {
+		compatible = "mediatek,msensor";
+		reg = <0x0c>;
+		status = "okay";
+	};
+	gsensor@4c {
+		compatible = "mediatek,gsensor";
+		reg = <0x4c>;
+		status = "okay";
+	};
+	alsps@23 {
+		compatible = "mediatek,alsps";
+		reg = <0x23>;
+		status = "okay";
+	};
+};
+
+
+