ASoC: msm8998: Set headphones only for a "3-pole-jack".
am: 10a367d9d3

Change-Id: I5109a0adfd96af9551a4acd570c1607d1f180d97
diff --git a/arch/arm64/Kconfig.platforms b/arch/arm64/Kconfig.platforms
index b38e2be..5e6ad59 100644
--- a/arch/arm64/Kconfig.platforms
+++ b/arch/arm64/Kconfig.platforms
@@ -86,6 +86,15 @@
 	use the MSM8998 chipset. If you do not wish to build a kernel
 	that runs on this board, say 'N' here.
 
+config BOARD_VEGA
+	bool "Enable Support for Lenovo Vega board"
+	select ARCH_MSM8998
+	depends on ARCH_QCOM
+	help
+	This enables support for the Lenovo Vega boards which
+	use the MSM8998 chipset. If you do not wish to build a kernel
+	that runs on this board, say 'N' here.
+
 config BOARD_MSMCORTEX
         bool "Enable Support for Qualcomm MSM8998 MTP board"
 	depends on ARCH_QCOM
diff --git a/arch/arm64/boot/dts/lenovo/2912653_Goertek_Cowboycos_4000mAh_averaged_MasterSlave_Jun12th2017_PMI8998GUI20058.dtsi b/arch/arm64/boot/dts/lenovo/2912653_Goertek_Cowboycos_4000mAh_averaged_MasterSlave_Jun12th2017_PMI8998GUI20058.dtsi
new file mode 100644
index 0000000..0ac2655
--- /dev/null
+++ b/arch/arm64/boot/dts/lenovo/2912653_Goertek_Cowboycos_4000mAh_averaged_MasterSlave_Jun12th2017_PMI8998GUI20058.dtsi
@@ -0,0 +1,71 @@
+qcom,2912653_goertek_cowboycos_4000mah_averaged_masterslave_jun12th2017 {
+	qcom, = <24>;
+	/* #2912653_Goertek_Cowboycos_4000mAh_averaged_MasterSlave_Jun12th2017*/
+	qcom,max-voltage-uv = <4400000>;
+	qcom,nom-batt-capacity-mah = <4000>;
+	qcom,fg-cc-cv-threshold-mv = <4390>;
+	qcom,fastchg-current-ma = <2800>;
+	qcom,batt-id-kohm = <100>;
+	qcom,battery-beta = <3380>;
+	qcom,battery-type = "2912653_goertek_cowboycos_4000mah_averaged_masterslave_jun12th2017";
+	qcom,checksum = <0x80E8>;
+	qcom,gui-version = "PMI8998GUI - 2.0.0.58";
+	qcom,fg-profile-data = [
+		 63 1F C3 05
+		 5E 0A 66 06
+		 7B 1D 13 F5
+		 4E 12 0F 14
+		 FA 18 F5 22
+		 59 45 3D 53
+		 56 00 00 00
+		 0E 00 00 00
+		 00 00 B9 C5
+		 AC C5 51 A4
+		 17 00 08 00
+		 39 D3 6A E5
+		 9D FD 76 EB
+		 52 00 52 0B
+		 A8 E5 A8 32
+		 16 06 09 20
+		 27 00 14 00
+		 C3 1F 8C 05
+		 77 0A B5 FC
+		 66 1D EE E2
+		 01 0B CF 14
+		 62 19 BD 22
+		 97 45 DD 52
+		 54 00 00 00
+		 0E 00 00 00
+		 00 00 FC D5
+		 E5 C2 3A BB
+		 13 00 00 00
+		 46 00 6A E5
+		 E7 06 55 EB
+		 51 F2 A9 0A
+		 48 DB 75 1B
+		 B0 33 CC FF
+		 07 10 00 00
+		 51 10 66 46
+		 13 00 40 00
+		 40 01 0A FA
+		 FF 00 00 00
+		 00 00 00 00
+		 00 00 00 00
+		 00 00 00 00
+		 00 00 00 00
+		 00 00 00 00
+		 00 00 00 00
+		 00 00 00 00
+		 00 00 00 00
+		 00 00 00 00
+		 00 00 00 00
+		 00 00 00 00
+		 00 00 00 00
+		 00 00 00 00
+		 00 00 00 00
+		 00 00 00 00
+		 00 00 00 00
+		 00 00 00 00
+		 00 00 00 00
+	];
+};
diff --git a/arch/arm64/boot/dts/lenovo/3066604_Goertek_L17D1P33_4000mAh_averaged_MasterSlave_Aug22nd2017_PMI8998GUI20058.dtsi b/arch/arm64/boot/dts/lenovo/3066604_Goertek_L17D1P33_4000mAh_averaged_MasterSlave_Aug22nd2017_PMI8998GUI20058.dtsi
new file mode 100644
index 0000000..5bbe960
--- /dev/null
+++ b/arch/arm64/boot/dts/lenovo/3066604_Goertek_L17D1P33_4000mAh_averaged_MasterSlave_Aug22nd2017_PMI8998GUI20058.dtsi
@@ -0,0 +1,72 @@
+
+qcom,3066604_goertek_l17d1p33_4000mah_averaged_masterslave_aug22nd2017 {
+	qcom, = <24>;
+	/* #3066604_Goertek_L17D1P33_4000mAh_averaged_MasterSlave_Aug22nd2017*/
+	qcom,max-voltage-uv = <4400000>;
+	qcom,fg-cc-cv-threshold-mv = <4390>;
+	qcom,fastchg-current-ma = <2800>;
+	qcom,nom-batt-capacity-mah = <4000>;
+	qcom,batt-id-kohm = <10>;
+	qcom,battery-beta = <3380>;
+	qcom,battery-type = "3066604_goertek_l17d1p33_4000mah_averaged_masterslave_aug22nd2017";
+	qcom,checksum = <0xE887>;
+	qcom,gui-version = "PMI8998GUI - 2.0.0.58";
+	qcom,fg-profile-data = [
+		 D1 1F 38 05
+		 D8 0A E4 05
+		 6E 1D F5 EC
+		 4A 0B 6A 15
+		 66 19 53 22
+		 6D 3C B6 4B
+		 5B 00 00 00
+		 11 00 00 00
+		 00 00 D3 C5
+		 57 C4 13 C2
+		 16 00 08 00
+		 AE DA D3 E4
+		 09 FD 89 F2
+		 1E 02 37 13
+		 CF 04 35 2A
+		 1B 06 09 20
+		 27 00 14 00
+		 24 20 09 05
+		 F6 0A C9 05
+		 56 1D 4D F2
+		 50 03 55 0C
+		 68 19 BA 22
+		 98 45 E4 52
+		 5A 00 00 00
+		 0D 00 00 00
+		 00 00 40 CC
+		 13 AB 0C C3
+		 12 00 00 00
+		 82 EA D3 E4
+		 89 FD D7 EB
+		 05 E2 30 0A
+		 21 EC FA 1A
+		 A8 33 CC FF
+		 07 10 00 00
+		 CB 0F 66 46
+		 12 00 40 00
+		 94 01 0A FA
+		 FF 00 00 00
+		 00 00 00 00
+		 00 00 00 00
+		 00 00 00 00
+		 00 00 00 00
+		 00 00 00 00
+		 00 00 00 00
+		 00 00 00 00
+		 00 00 00 00
+		 00 00 00 00
+		 00 00 00 00
+		 00 00 00 00
+		 00 00 00 00
+		 00 00 00 00
+		 00 00 00 00
+		 00 00 00 00
+		 00 00 00 00
+		 00 00 00 00
+		 00 00 00 00
+	];
+};
diff --git a/arch/arm64/boot/dts/lenovo/dsi-panel-boe-nt36860-dualmipi-video.dtsi b/arch/arm64/boot/dts/lenovo/dsi-panel-boe-nt36860-dualmipi-video.dtsi
new file mode 100644
index 0000000..507db8c5
--- /dev/null
+++ b/arch/arm64/boot/dts/lenovo/dsi-panel-boe-nt36860-dualmipi-video.dtsi
@@ -0,0 +1,380 @@
+/* Copyright (c) 2015-2017, The Linux Foundation. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 and
+ * only version 2 as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ */
+
+&mdss_mdp {
+	dsi_dual_boe_nt36860_video: qcom,mdss_dsi_boe_nt36860_dualdsi_video {
+		qcom,mdss-dsi-panel-name = "Dual DSI boe nt36860 75fps dsc 1440x2560";
+		qcom,mdss-dsi-panel-type = "dsi_video_mode";
+		qcom,mdss-dsi-panel-framerate = <75>;
+		qcom,mdss-dsi-virtual-channel-id = <0>;
+		qcom,mdss-dsi-stream = <0>;
+		qcom,mdss-dsi-panel-width = <720>;
+		qcom,mdss-dsi-panel-height = <2560>;
+		qcom,mdss-dsi-h-front-porch = <120>;
+		qcom,mdss-dsi-h-back-porch = <120>;
+		qcom,mdss-dsi-h-pulse-width = <4>;
+		qcom,mdss-dsi-h-sync-skew = <0>;
+		qcom,mdss-dsi-v-back-porch = <10>;
+		qcom,mdss-dsi-v-front-porch = <1328>;
+		qcom,mdss-dsi-v-pulse-width = <2>;
+		qcom,mdss-pan-physical-width-dimension = <68>;
+		qcom,mdss-pan-physical-height-dimension = <121>;
+		qcom,mdss-dsi-bpp = <24>;
+		qcom,mdss-dsi-underflow-color = <0xff>;
+		qcom,mdss-dsi-border-color = <0>;
+		qcom,mdss-dsi-on-command = [
+			15 01 00 00 01 00 02 FF 22
+			15 01 00 00 00 00 02 00 5B
+			15 01 00 00 00 00 02 01 5B
+			15 01 00 00 00 00 02 02 5B
+			15 01 00 00 00 00 02 03 5B
+			15 01 00 00 00 00 02 04 5A
+			15 01 00 00 00 00 02 05 5A
+			15 01 00 00 00 00 02 06 5A
+			15 01 00 00 00 00 02 07 5A
+			15 01 00 00 00 00 02 08 5A
+			15 01 00 00 00 00 02 09 58
+			15 01 00 00 00 00 02 0A 55
+			15 01 00 00 00 00 02 0B 53
+			15 01 00 00 00 00 02 0C 50
+			15 01 00 00 00 00 02 0D 4C
+			15 01 00 00 00 00 02 0E 48
+			15 01 00 00 00 00 02 0F 44
+			15 01 00 00 00 00 02 10 40
+			15 01 00 00 00 00 02 11 50
+			15 01 00 00 00 00 02 12 60
+			15 01 00 00 00 00 02 13 70
+			15 01 00 00 00 00 02 14 58
+			15 01 00 00 00 00 02 15 68
+			15 01 00 00 00 00 02 16 78
+			15 01 00 00 00 00 02 17 00
+			15 01 00 00 00 00 02 18 40
+			15 01 00 00 00 00 02 19 40
+			15 01 00 00 00 00 02 1A 40
+			15 01 00 00 00 00 02 1B 40
+			15 01 00 00 00 00 02 1C 40
+			15 01 00 00 00 00 02 1D 40
+			15 01 00 00 00 00 02 1E 40
+			15 01 00 00 00 00 02 1F 40
+			15 01 00 00 00 00 02 20 40
+			15 01 00 00 00 00 02 21 45
+			15 01 00 00 00 00 02 22 49
+			15 01 00 00 00 00 02 23 4C
+			15 01 00 00 00 00 02 24 4B
+			15 01 00 00 00 00 02 25 48
+			15 01 00 00 00 00 02 26 44
+			15 01 00 00 00 00 02 27 41
+			15 01 00 00 00 00 02 28 40
+			15 01 00 00 00 00 02 2D 00
+			15 01 00 00 00 00 02 2F 40
+			15 01 00 00 00 00 02 30 40
+			15 01 00 00 00 00 02 31 40
+			15 01 00 00 00 00 02 32 40
+			15 01 00 00 00 00 02 33 40
+			15 01 00 00 00 00 02 34 40
+			15 01 00 00 00 00 02 35 40
+			15 01 00 00 00 00 02 36 40
+			15 01 00 00 00 00 02 37 40
+			15 01 00 00 00 00 02 38 40
+			15 01 00 00 00 00 02 39 40
+			15 01 00 00 00 00 02 3A 40
+			15 01 00 00 00 00 02 3B 40
+			15 01 00 00 00 00 02 3D 40
+			15 01 00 00 00 00 02 3F 40
+			15 01 00 00 00 00 02 40 40
+			15 01 00 00 00 00 02 41 40
+			15 01 00 00 00 00 02 42 40
+			15 01 00 00 00 00 02 43 40
+			15 01 00 00 00 00 02 44 40
+			15 01 00 00 00 00 02 45 40
+			15 01 00 00 00 00 02 46 40
+			15 01 00 00 00 00 02 47 40
+			15 01 00 00 00 00 02 48 40
+			15 01 00 00 00 00 02 49 40
+			15 01 00 00 00 00 02 4A 40
+			15 01 00 00 00 00 02 4B 40
+			15 01 00 00 00 00 02 4C 40
+			15 01 00 00 00 00 02 4D 40
+			15 01 00 00 00 00 02 4E 40
+			15 01 00 00 00 00 02 4F 40
+			15 01 00 00 00 00 02 50 40
+			15 01 00 00 00 00 02 51 40
+			15 01 00 00 00 00 02 52 40
+			15 01 00 00 00 00 02 53 01
+			15 01 00 00 00 00 02 54 00
+			15 01 00 00 00 00 02 55 88
+			15 01 00 00 00 00 02 56 7E
+			15 01 00 00 00 00 02 58 37
+			15 01 00 00 00 00 02 59 37
+			15 01 00 00 00 00 02 5A 37
+			15 01 00 00 00 00 02 5B 37
+			15 01 00 00 00 00 02 5C 37
+			15 01 00 00 00 00 02 5D 37
+			15 01 00 00 00 00 02 5E 37
+			15 01 00 00 00 00 02 5F 37
+			15 01 00 00 00 00 02 60 37
+			15 01 00 00 00 00 02 61 37
+			15 01 00 00 00 00 02 62 37
+			15 01 00 00 00 00 02 63 37
+			15 01 00 00 00 00 02 64 37
+			15 01 00 00 00 00 02 65 37
+			15 01 00 00 00 00 02 66 37
+			15 01 00 00 00 00 02 67 37
+			15 01 00 00 00 00 02 68 37
+			15 01 00 00 00 00 02 69 37
+			15 01 00 00 00 00 02 6A 37
+			15 01 00 00 00 00 02 6B 37
+			15 01 00 00 00 00 02 6C 37
+			15 01 00 00 00 00 02 6D 37
+			15 01 00 00 00 00 02 6E 37
+			15 01 00 00 00 00 02 6F 37
+			15 01 00 00 00 00 02 70 00
+			15 01 00 00 00 00 02 71 00
+			15 01 00 00 00 00 02 72 00
+			15 01 00 00 00 00 02 73 12
+			15 01 00 00 00 00 02 74 06
+			15 01 00 00 00 00 02 75 0C
+			15 01 00 00 00 00 02 76 03
+			15 01 00 00 00 00 02 77 09
+			15 01 00 00 00 00 02 78 0F
+			15 01 00 00 00 00 02 79 68
+			15 01 00 00 00 00 02 7A 88
+			15 01 00 00 00 00 02 83 01
+			15 01 00 00 00 00 02 84 38
+			15 01 00 00 00 00 02 85 40
+			15 01 00 00 00 00 02 86 40
+			15 01 00 00 00 00 02 87 40
+			15 01 00 00 00 00 02 88 40
+			15 01 00 00 00 00 02 89 40
+			15 01 00 00 00 00 02 8A 40
+			15 01 00 00 00 00 02 8B 40
+			15 01 00 00 00 00 02 8C 45
+			15 01 00 00 00 00 02 8D 48
+			15 01 00 00 00 00 02 8E 49
+			15 01 00 00 00 00 02 8F 48
+			15 01 00 00 00 00 02 90 45
+			15 01 00 00 00 00 02 91 40
+			15 01 00 00 00 00 02 92 40
+			15 01 00 00 00 00 02 93 40
+			15 01 00 00 00 00 02 94 40
+			15 01 00 00 00 00 02 95 40
+			15 01 00 00 00 00 02 96 40
+			15 01 00 00 00 00 02 97 40
+			15 01 00 00 00 00 02 98 40
+			15 01 00 00 00 00 02 99 40
+			15 01 00 00 00 00 02 9A 40
+			15 01 00 00 00 00 02 9B 40
+			15 01 00 00 00 00 02 9C 40
+			15 01 00 00 00 00 02 9D 40
+			15 01 00 00 00 00 02 9E 40
+			15 01 00 00 00 00 02 9F 40
+			15 01 00 00 00 00 02 A0 40
+			15 01 00 00 00 00 02 A2 20
+			15 01 00 00 00 00 02 B0 32
+			15 01 00 00 00 00 02 B1 52
+			15 01 00 00 00 00 02 B2 74
+			15 01 00 00 00 00 02 B3 00
+			15 01 00 00 00 00 02 B4 50
+			15 01 00 00 00 00 02 B5 14
+			15 01 00 00 00 00 02 B6 18
+			15 01 00 00 00 00 02 B7 00
+			15 01 00 00 00 00 02 B8 77
+			15 01 00 00 00 00 02 B9 05
+			15 01 00 00 00 00 02 BA 10
+			15 01 00 00 00 00 02 BB 14
+			15 01 00 00 00 00 02 BC 0F
+			15 01 00 00 00 00 02 BD 18
+			15 01 00 00 00 00 02 BE 1F
+			15 01 00 00 00 00 02 BF 04
+			15 01 00 00 00 00 02 C0 10
+			15 01 00 00 00 00 02 C1 14
+			15 01 00 00 00 00 02 C2 03
+			15 01 00 00 00 00 02 C3 07
+			15 01 00 00 00 00 02 C4 0A
+			15 01 00 00 00 00 02 C5 60
+			15 01 00 00 00 00 02 C6 55
+			15 01 00 00 00 00 02 C7 FF
+			15 01 00 00 00 00 02 C8 38
+			15 01 00 00 00 00 02 C9 44
+			15 01 00 00 00 00 02 CA 11
+			15 01 00 00 00 00 02 CD C6
+			15 01 00 00 00 00 02 FB 01
+
+			15 01 00 00 00 00 02 FF D0
+			15 01 00 00 00 00 02 FB 01
+			15 01 00 00 00 00 02 05 88
+
+
+			15 01 00 00 00 00 02 FF E0
+			15 01 00 00 00 00 02 FB 01
+			15 01 00 00 00 00 02 53 22
+
+			15 01 00 00 00 00 02 FF 23
+			15 01 00 00 00 00 02 FB 01
+			15 01 00 00 00 00 02 A9 00
+			15 01 00 00 00 00 02 AC 04
+			15 01 00 00 00 00 02 AD 8B
+			15 01 00 00 00 00 02 AE A0
+			15 01 00 00 00 00 02 AF C5
+
+			15 01 00 00 00 00 02 FF 24
+			15 01 00 00 00 00 02 FB 01
+			15 01 00 00 00 00 02 30 03
+			15 01 00 00 00 00 02 F5 8F
+
+			15 01 00 00 00 00 02 FF 25
+			15 01 00 00 00 00 02 FB 01
+			15 01 00 00 00 00 02 C4 10
+			15 01 00 00 00 00 02 61 20
+			15 01 00 00 00 00 02 62 30
+
+			15 01 00 00 00 00 02 FF 26
+			15 01 00 00 00 00 02 FB 01
+			15 01 00 00 00 00 02 4D 8B
+
+			15 01 00 00 00 00 02 FF 10
+			15 01 00 00 00 00 02 FB 01
+			15 01 00 00 00 00 02 C0 83
+			39 01 00 00 02 00 05 BE 00 0C 05 30
+			15 01 00 00 00 00 02 53 24
+			39 01 00 00 00 00 03 51 01 1E
+			15 01 00 00 00 00 02 35 00
+			15 01 00 00 00 00 02 BB 03
+			15 01 00 00 00 00 02 36 00
+			15 01 00 00 00 00 02 55 80
+			05 01 00 00 78 00 02 11 00
+		];
+
+		qcom,mdss-dsi-on-command-tianma = [
+			15 01 00 00 00 00 02 FF E0
+			15 01 00 00 00 00 02 FB 01
+			15 01 00 00 00 00 02 53 22
+
+			15 01 00 00 00 00 02 FF 20
+			15 01 00 00 00 00 02 FB 01
+			15 01 00 00 00 00 02 59 FF
+			15 01 00 00 00 00 02 5D 0F
+			15 01 00 00 00 00 02 61 FF
+
+			15 01 00 00 00 00 02 FF 29
+			15 01 00 00 00 00 02 FB 01
+			15 01 00 00 00 00 02 42 00
+			15 01 00 00 00 00 02 43 6C
+			15 01 00 00 00 00 02 45 00
+			15 01 00 00 00 00 02 46 6C
+			15 01 00 00 00 00 02 47 00
+			15 01 00 00 00 00 02 48 0C
+			15 01 00 00 00 00 02 49 03
+			15 01 00 00 00 00 02 4A 50
+
+			15 01 00 00 00 00 02 58 00
+			15 01 00 00 00 00 02 59 00
+			15 01 00 00 00 00 02 5A 04
+			15 01 00 00 00 00 02 5B 68
+			15 01 00 00 00 00 02 5C 04
+			15 01 00 00 00 00 02 5D 68
+
+			15 01 00 00 00 00 02 64 00
+			15 01 00 00 00 00 02 65 01
+			15 01 00 00 00 00 02 66 5A
+			15 01 00 00 00 00 02 67 01
+			15 01 00 00 00 00 02 68 5A
+
+			15 01 00 00 00 00 02 69 00
+			15 01 00 00 00 00 02 6A 01
+			15 01 00 00 00 00 02 6B 5A
+			15 01 00 00 00 00 02 6C 01
+			15 01 00 00 00 00 02 6D 5A
+
+			15 01 00 00 00 00 02 A9 08
+			15 01 00 00 00 00 02 AA 13
+			15 01 00 00 00 00 02 AB 87
+			15 01 00 00 00 00 02 AD 08
+			15 01 00 00 00 00 02 AE 13
+			15 01 00 00 00 00 02 AF 87
+
+			15 01 00 00 00 00 02 FF 23
+			15 01 00 00 00 00 02 FB 01
+			15 01 00 00 00 00 02 A9 00
+			15 01 00 00 00 00 02 AC 04
+			15 01 00 00 00 00 02 AD 8A
+			15 01 00 00 00 00 02 AE A0
+			15 01 00 00 00 00 02 AF C1
+
+
+			15 01 00 00 00 00 02 FF 24
+			15 01 00 00 00 00 02 FB 01
+			15 01 00 00 00 00 02 F5 8F
+
+			15 01 00 00 00 00 02 FF 25
+			15 01 00 00 00 00 02 FB 01
+			15 01 00 00 00 00 02 C4 10
+			15 01 00 00 00 00 02 61 20
+			15 01 00 00 00 00 02 62 30
+
+			15 01 00 00 00 00 02 FF 26
+			15 01 00 00 00 00 02 FB 01
+			15 01 00 00 00 00 02 4D 8B
+
+			15 01 00 00 00 00 02 FF 10
+			15 01 00 00 00 00 02 FB 01
+			15 01 00 00 00 00 02 C0 83
+			39 01 00 00 02 00 05 BE 00 0C 05 30
+			15 01 00 00 00 00 02 53 24
+			39 01 00 00 00 00 03 51 08 1E
+			15 01 00 00 00 00 02 35 00
+			15 01 00 00 00 00 02 BB 03
+			15 01 00 00 00 00 02 36 00
+			05 01 00 00 78 00 02 11 00
+		];
+		qcom,mdss-dsi-post-panel-on-command = [05 01 00 00 28 00 01 29];
+		qcom,mdss-dsi-off-command = [15 01 00 00 28 00 02 28 00
+			05 01 00 00 78 00 02 10 00];
+		qcom,mdss-dsi-on-command-state = "dsi_lp_mode";
+		qcom,mdss-dsi-off-command-state = "dsi_hs_mode";
+		qcom,mdss-dsi-h-sync-pulse = <0>;
+		qcom,mdss-dsi-traffic-mode = "burst_mode";
+		qcom,mdss-dsi-bllp-eof-power-mode;
+		qcom,mdss-dsi-bllp-power-mode;
+		qcom,mdss-dsi-lane-0-state;
+		qcom,mdss-dsi-lane-1-state;
+		qcom,mdss-dsi-lane-2-state;
+		qcom,mdss-dsi-lane-3-state;
+		oem,display-select-gpio = <&tlmm 8 0>;
+                qcom,mdss-dsi-panel-timings =  [00 1C 08 07 23 22 07 07 05 03 04 00];
+                qcom,mdss-dsi-t-clk-post = <0x0D>;
+                qcom,mdss-dsi-t-clk-pre = <0x2D>;
+
+		qcom,mdss-dsi-dma-trigger = "trigger_sw";
+		qcom,mdss-dsi-mdp-trigger = "none";
+		qcom,mdss-dsi-reset-sequence = <1 10>, <0 10>, <1 10>;
+		qcom,mdss-dsi-tx-eot-append;
+		qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_dcs";
+		qcom,mdss-dsi-bl-min-level = <1>;
+		qcom,mdss-dsi-bl-max-level = <255>;
+
+		qcom,adjust-timer-wakeup-ms = <1>;
+		qcom,compression-mode = "dsc";
+		qcom,config-select = <&dsi_dual_boe_nt36860_video_config0>;
+
+		dsi_dual_boe_nt36860_video_config0: config0 {
+			qcom,mdss-dsc-encoders = <1>;
+			qcom,mdss-dsc-slice-height = <8>;
+			qcom,mdss-dsc-slice-width = <720>;
+			qcom,mdss-dsc-slice-per-pkt = <1>;
+
+			qcom,mdss-dsc-bit-per-component = <8>;
+			qcom,mdss-dsc-bit-per-pixel = <8>;
+			qcom,mdss-dsc-block-prediction-enable;
+		};
+	};
+};
diff --git a/arch/arm64/boot/dts/lenovo/msm8998-vega-common.dtsi b/arch/arm64/boot/dts/lenovo/msm8998-vega-common.dtsi
new file mode 100644
index 0000000..a1c7d56
--- /dev/null
+++ b/arch/arm64/boot/dts/lenovo/msm8998-vega-common.dtsi
@@ -0,0 +1,779 @@
+/* Copyright (c) 2016, The Linux Foundation. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 and
+ * only version 2 as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ */
+
+#include "../qcom/apq8098-v2.1.dtsi"
+#include "../qcom/msm8998-camera-sensor-cdp.dtsi"
+#include "../qcom/msm8998-mdss-panels.dtsi"
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/input.h>
+
+#include "../qcom/dsi-panel-jdi-synaptics-r63450.dtsi"
+#include "../qcom/dsi-panel-jdi-novatek-nt36860.dtsi"
+#include "dsi-panel-boe-nt36860-dualmipi-video.dtsi"
+#include "msm8998-vega-pinctrl.dtsi"
+
+/ {
+	bluetooth: bt_wcn3990 {
+		compatible = "qca,wcn3990";
+		qca,bt-vdd-io-supply = <&pm8998_s3>;
+		qca,bt-vdd-xtal-supply = <&pm8998_s5>;
+		qca,bt-vdd-core-supply = <&pm8998_l7_pin_ctrl>;
+		qca,bt-vdd-pa-supply = <&pm8998_l17_pin_ctrl>;
+		qca,bt-vdd-ldo-supply = <&pm8998_l25_pin_ctrl>;
+		qca,bt-chip-pwd-supply = <&pmi8998_bob_pin1>;
+
+		qca,bt-vdd-io-voltage-level = <1352000 1352000>;
+		qca,bt-vdd-xtal-voltage-level = <2040000 2040000>;
+		qca,bt-vdd-core-voltage-level = <1800000 1800000>;
+		qca,bt-vdd-pa-voltage-level = <1304000 1304000>;
+		qca,bt-vdd-ldo-voltage-level = <3312000 3312000>;
+		qca,bt-chip-pwd-voltage-level = <3600000 3600000>;
+
+		qca,bt-vdd-io-current-level = <1>; /* LPM/PFM */
+		qca,bt-vdd-xtal-current-level = <1>; /* LPM/PFM */
+		qca,bt-vdd-core-current-level = <1>; /* LPM/PFM */
+		qca,bt-vdd-pa-current-level = <1>; /* LPM/PFM */
+		qca,bt-vdd-ldo-current-level = <1>; /* LPM/PFM */
+	};
+
+	board-info {
+		goog,wlan-mac-0-cmdline-arg = "wifimac0";
+		goog,wlan-mac-1-cmdline-arg = "wifimac1";
+	};
+};
+
+&qusb_phy0 {
+	qcom,qusb-phy-host-init-seq =
+		/* value reg_offsets> */
+		<0x63 0x210
+		0x13 0x04
+		0x7c 0x18c
+		0x80 0x2c
+		0x0a 0x184
+		0x8c 0x21c
+		0x05 0x23c
+		0x03 0x240
+		0xff 0x218
+		0x62 0x210>;
+};
+
+&blsp1_uart3_hs {
+	status = "ok";
+};
+
+&ufsphy1 {
+	vdda-phy-supply = <&pm8998_l1>;
+	vdda-pll-supply = <&pm8998_l2>;
+	vddp-ref-clk-supply = <&pm8998_l26>;
+	vdda-phy-max-microamp = <51400>;
+	vdda-pll-max-microamp = <14600>;
+	vddp-ref-clk-max-microamp = <100>;
+	vddp-ref-clk-always-on;
+	status = "ok";
+};
+
+&ufs1 {
+	vdd-hba-supply = <&gdsc_ufs>;
+	vdd-hba-fixed-regulator;
+	vcc-supply = <&pm8998_l20>;
+	vccq-supply = <&pm8998_l26>;
+	vccq2-supply = <&pm8998_s4>;
+	vcc-max-microamp = <750000>;
+	vccq-max-microamp = <560000>;
+	vccq2-max-microamp = <750000>;
+	status = "ok";
+};
+
+&ufs_ice {
+	status = "ok";
+};
+
+&sdhc_2 {
+	vdd-supply = <&pm8998_l21>;
+	qcom,vdd-voltage-level = <2950000 2960000>;
+	qcom,vdd-current-level = <200 800000>;
+
+	vdd-io-supply = <&pm8998_l13>;
+	qcom,vdd-io-voltage-level = <1808000 2960000>;
+	qcom,vdd-io-current-level = <200 22000>;
+
+	pinctrl-names = "active", "sleep";
+	pinctrl-0 = <&sdc2_clk_on  &sdc2_cmd_on &sdc2_data_on &sdc2_cd_on>;
+	pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off &sdc2_cd_off>;
+
+	qcom,clk-rates = <400000 20000000 25000000
+	                        50000000 100000000 200000000>;
+	qcom,bus-speed-mode = "SDR12", "SDR25", "SDR50", "DDR50", "SDR104";
+
+	cd-gpios = <&tlmm 95 0x1>;
+
+	status = "ok";
+};
+
+&uartblsp2dm1 {
+	status = "ok";
+	pinctrl-names = "default";
+	pinctrl-0 = <&uart_console_active>;
+};
+
+&pm8998_gpios {
+	/* GPIO 6 for Vol+ Key */
+	gpio@c500 {
+		status = "okay";
+		qcom,mode = <0>;
+		qcom,pull = <0>;
+		qcom,vin-sel = <0>;
+		qcom,src-sel = <0>;
+		qcom,out-strength = <1>;
+	};
+
+	/* GPIO 8 for Focus Key */
+	gpio@c700 {
+		status = "okay";
+		qcom,mode = <0>;
+		qcom,pull = <0>;
+		qcom,vin-sel = <0>;
+		qcom,src-sel = <0>;
+		qcom,out-strength = <1>;
+	};
+
+	gpio@cc00 { /* GPIO 13 */
+		qcom,mode = <1>;
+		qcom,output-type = <0>;
+		qcom,pull = <5>;
+		qcom,vin-sel = <0>;
+		qcom,out-strength = <1>;
+		qcom,src-sel = <3>;
+		qcom,master-en = <1>;
+		status = "okay";
+	};
+};
+
+&mdss_dp_ctrl {
+	status = "disabled";
+	pinctrl-names = "mdss_dp_active", "mdss_dp_sleep";
+	pinctrl-0 = <&mdss_dp_aux_active &mdss_dp_usbplug_cc_active>;
+	pinctrl-1 = <&mdss_dp_aux_suspend &mdss_dp_usbplug_cc_suspend>;
+	qcom,aux-en-gpio = <&tlmm 77 0>;
+	qcom,aux-sel-gpio = <&tlmm 78 0>;
+	qcom,usbplug-cc-gpio = <&tlmm 38 0>;
+};
+
+&mdss_mdp {
+	qcom,mdss-pref-prim-intf = "dsi";
+};
+
+&mdss_dsi {
+	hw-config = "split_dsi";
+};
+
+
+&labibb {
+	status = "ok";
+	qcom,qpnp-labibb-mode = "lcd";
+};
+
+&dsi_jdi_synaptics_r63450 {
+	qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled";
+	qcom,mdss-dsi-bl-min-level = <1>;
+	qcom,mdss-dsi-bl-max-level = <2400>;
+	qcom,panel-supply-entries = <&dsi_panel_pwr_supply>;
+};
+
+&dsi_jdi_novatek_nt36860 {
+	qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled";
+	qcom,mdss-dsi-bl-min-level = <1>;
+	qcom,mdss-dsi-bl-max-level = <2400>;
+	qcom,panel-supply-entries = <&dsi_panel_pwr_supply>;
+};
+
+&dsi_dual_boe_nt36860_video {
+	qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled";
+	qcom,mdss-dsi-bl-min-level = <1>;
+	qcom,mdss-dsi-bl-max-level = <4095>;
+	qcom,mdss-dsi-mode-sel-gpio-state = "dual_port";
+	qcom,panel-supply-entries = <&dsi_panel_pwr_supply>;
+};
+
+&dsi_dual_nt35597_video {
+	qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled";
+	qcom,mdss-dsi-bl-min-level = <1>;
+	qcom,mdss-dsi-bl-max-level = <4095>;
+	qcom,mdss-dsi-mode-sel-gpio-state = "dual_port";
+	qcom,panel-supply-entries = <&dsi_panel_pwr_supply>;
+};
+
+&dsi_dual_nt35597_cmd {
+	qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled";
+	qcom,mdss-dsi-bl-min-level = <1>;
+	qcom,mdss-dsi-bl-max-level = <4095>;
+	qcom,mdss-dsi-mode-sel-gpio-state = "dual_port";
+	qcom,panel-supply-entries = <&dsi_panel_pwr_supply>;
+};
+
+&dsi_nt35597_dsc_video {
+	qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled";
+	qcom,mdss-dsi-bl-min-level = <1>;
+	qcom,mdss-dsi-bl-max-level = <4095>;
+	qcom,mdss-dsi-mode-sel-gpio-state = "single_port";
+	qcom,panel-supply-entries = <&dsi_panel_pwr_supply>;
+};
+
+&dsi_nt35597_dsc_cmd {
+	qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled";
+	qcom,mdss-dsi-bl-min-level = <1>;
+	qcom,mdss-dsi-bl-max-level = <4095>;
+	qcom,mdss-dsi-mode-sel-gpio-state = "single_port";
+	qcom,panel-supply-entries = <&dsi_panel_pwr_supply>;
+};
+
+&dsi_sharp_4k_dsc_video {
+	qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled";
+	qcom,mdss-dsi-bl-min-level = <1>;
+	qcom,mdss-dsi-bl-max-level = <4095>;
+	qcom,panel-supply-entries = <&dsi_panel_pwr_supply>;
+};
+
+&dsi_sharp_4k_dsc_cmd {
+	qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled";
+	qcom,mdss-dsi-bl-min-level = <1>;
+	qcom,mdss-dsi-bl-max-level = <4095>;
+	qcom,panel-supply-entries = <&dsi_panel_pwr_supply>;
+};
+
+&mdss_hdmi_tx {
+	status = "disabled";
+};
+
+&pmi8998_haptics {
+	status = "okay";
+};
+
+&pm8998_vadc {
+	chan@83 {
+		label = "vph_pwr";
+		reg = <0x83>;
+		qcom,decimation = <2>;
+		qcom,pre-div-channel-scaling = <1>;
+		qcom,calibration-type = "absolute";
+		qcom,scale-function = <0>;
+		qcom,hw-settle-time = <0>;
+		qcom,fast-avg-setup = <0>;
+	};
+
+	chan@85 {
+		label = "vcoin";
+		reg = <0x85>;
+		qcom,decimation = <2>;
+		qcom,pre-div-channel-scaling = <1>;
+		qcom,calibration-type = "absolute";
+		qcom,scale-function = <0>;
+		qcom,hw-settle-time = <0>;
+		qcom,fast-avg-setup = <0>;
+	};
+
+	chan@4c {
+		label = "xo_therm";
+		reg = <0x4c>;
+		qcom,decimation = <2>;
+		qcom,pre-div-channel-scaling = <0>;
+		qcom,calibration-type = "ratiometric";
+		qcom,scale-function = <4>;
+		qcom,hw-settle-time = <2>;
+		qcom,fast-avg-setup = <0>;
+	};
+
+	chan@4d {
+		label = "msm_therm";
+		reg = <0x4d>;
+		qcom,decimation = <2>;
+		qcom,pre-div-channel-scaling = <0>;
+		qcom,calibration-type = "ratiometric";
+		qcom,scale-function = <2>;
+		qcom,hw-settle-time = <2>;
+		qcom,fast-avg-setup = <0>;
+	};
+
+	chan@51 {
+		label = "quiet_therm";
+		reg = <0x51>;
+		qcom,decimation = <2>;
+		qcom,pre-div-channel-scaling = <0>;
+		qcom,calibration-type = "ratiometric";
+		qcom,scale-function = <2>;
+		qcom,hw-settle-time = <2>;
+		qcom,fast-avg-setup = <0>;
+	};
+};
+
+&pm8998_adc_tm {
+	chan@83 {
+		label = "vph_pwr";
+		reg = <0x83>;
+		qcom,pre-div-channel-scaling = <1>;
+		qcom,calibration-type = "absolute";
+		qcom,scale-function = <0>;
+		qcom,hw-settle-time = <0>;
+		qcom,btm-channel-number = <0x60>;
+	};
+
+	chan@4d {
+		label = "msm_therm";
+		reg = <0x4d>;
+		qcom,pre-div-channel-scaling = <0>;
+		qcom,calibration-type = "ratiometric";
+		qcom,scale-function = <2>;
+		qcom,hw-settle-time = <2>;
+		qcom,btm-channel-number = <0x68>;
+		qcom,thermal-node;
+	};
+
+	chan@51 {
+		label = "quiet_therm";
+		reg = <0x51>;
+		qcom,pre-div-channel-scaling = <0>;
+		qcom,calibration-type = "ratiometric";
+		qcom,scale-function = <2>;
+		qcom,hw-settle-time = <2>;
+		qcom,btm-channel-number = <0x70>;
+		qcom,thermal-node;
+	};
+	chan@4c {
+		label = "xo_therm";
+		reg = <0x4c>;
+		qcom,pre-div-channel-scaling = <0>;
+		qcom,calibration-type = "ratiometric";
+		qcom,scale-function = <4>;
+		qcom,hw-settle-time = <2>;
+		qcom,btm-channel-number = <0x78>;
+		qcom,thermal-node;
+	};
+};
+
+&soc {
+	/delete-node/ msm_cdc_pinctrl@64;
+	/delete-node/ sound-tavil;
+	/delete-node/ qcom,wcd-dsp-mgr;
+
+	gpio_keys {
+		compatible = "gpio-keys";
+		input-name = "gpio-keys";
+		status = "okay";
+		pinctrl-names = "tlmm_gpio_key_active", "tlmm_gpio_key_suspend";
+		pinctrl-0 = <&external_trigger_active>;
+		pinctrl-1 = <&external_trigger_suspend>;
+
+		vol_up {
+			label = "volume_up";
+			gpios = <&pm8998_gpios 6 0x1>;
+			linux,input-type = <1>;
+			linux,code = <115>;
+			gpio-key,wakeup;
+			debounce-interval = <15>;
+		};
+
+		cam_focus {
+			label = "cam_focus";
+			gpios = <&pm8998_gpios 8 0x1>;
+			linux,input-type = <1>;
+			linux,code = <528>;
+			gpio-key,wakeup;
+			debounce-interval = <15>;
+		};
+
+		external_trigger: external_trigger {
+			label = "external_trigger";
+			gpios = <&tlmm 117 GPIO_ACTIVE_LOW>;
+			linux,input-type = <1>;
+			linux,code = <KEY_FN_F5>;
+			debounce-interval = <0>;
+		};
+	};
+
+	sound-9335 {
+		/delete-property/qcom,wsa-devs;
+		/delete-property/qcom,wsa-aux-dev-prefix;
+		qcom,wsa-max-devs = <0>;
+		qcom,mbhc-audio-jack-type = "3-pole-jack";
+	};
+
+	wcd_rst_gpio: msm_cdc_pinctrl@116 {
+		compatible = "qcom,msm-cdc-pinctrl";
+		pinctrl-names = "aud_active", "aud_sleep";
+		pinctrl-0 = <&cdc_reset_active>;
+		pinctrl-1 = <&cdc_reset_sleep>;
+	};
+
+	qcom,bcl {
+		/delete-property/ qcom,bcl-hotplug-list;
+		/delete-property/ qcom,bcl-soc-hotplug-list;
+		qcom,ibat-monitor {
+			qcom,mitigation-freq-khz = <1132800>;
+			qcom,soc-low-threshold = <2>;
+		};
+	};
+
+	access_ramoops@0 {
+		compatible = "access_ramoops";
+		label = "metadata";
+		memory-region = <&ramoops_meta_mem>;
+	};
+
+	access_ramoops@1 {
+		compatible = "access_ramoops";
+		label = "ramoops";
+		memory-region = <&alt_ramoops_mem>;
+	};
+
+	ramoops {
+		compatible = "ramoops";
+		status = "ok";
+		console-size = <0 0x00080000>;
+		pmsg-size = <0 0x00040000>;
+		record-size = <0 0x00008000>;
+		ftrace-size = <0 0x00020000>;
+		memory-region = <&ramoops_mem>;
+		alt-memory-region = <&alt_ramoops_mem>;
+	};
+};
+
+&slim_aud {
+	/delete-node/ tavil_codec;
+
+	tasha_codec {
+		qcom,cdc-micbias2-headset-only;
+		qcom,cdc-micbias2-mv = <2400>;
+
+		/delete-node/ swr_master; /* Don't enable WSA */
+	};
+};
+
+/{
+	mtp_batterydata: qcom,battery-data {
+		qcom,batt-id-range-pct = <15>;
+		goog,dc-batt-id = <200>;
+		#include "2912653_Goertek_Cowboycos_4000mAh_averaged_MasterSlave_Jun12th2017_PMI8998GUI20058.dtsi"
+		#include "3066604_Goertek_L17D1P33_4000mAh_averaged_MasterSlave_Aug22nd2017_PMI8998GUI20058.dtsi"
+	};
+};
+
+&firmware {
+	android {
+		fstab {
+			vendor {
+				fsmgr_flags = "wait,slotselect,verify";
+			};
+		};
+	};
+};
+
+&pmi8998_charger {
+	/delete-property/qcom,batteryless-platform;
+};
+
+&rpm_bus {
+	rpm-regulator-ldoa16 {
+		status = "okay";
+		pm8998_l16: regulator-l16 {
+			regulator-min-microvolt = <3312000>;
+			regulator-max-microvolt = <3312000>;
+			status = "okay";
+		};
+	};
+
+	rpm-regulator-ldoa22 {
+		status = "okay";
+		pm8998_l22: regulator-l22 {
+			regulator-min-microvolt = <3312000>;
+			regulator-max-microvolt = <3312000>;
+			status = "okay";
+		};
+	};
+
+	rpm-regulator-ldoa25 {
+		pm8998_l25: regulator-l25 {
+			regulator-min-microvolt = <3312000>;
+			regulator-max-microvolt = <3312000>;
+		};
+
+		pm8998_l25_pin_ctrl: regulator-l25-pin-ctrl {
+			regulator-min-microvolt = <3312000>;
+			regulator-max-microvolt = <3312000>;
+		};
+	};
+
+	rpm-regulator-ldoa28 {
+		status = "okay";
+		pm8998_l28: regulator-l28 {
+			regulator-min-microvolt = <3312000>;
+			regulator-max-microvolt = <3312000>;
+			status = "okay";
+		};
+	};
+};
+
+/ {
+	reserved-memory {
+		ramoops_mem: ramoops_region@0 {
+			compatible = "removed-dma-pool";
+			no-map;
+			reg = <0 0x88f00000 0 0x00100000>;
+		};
+		ramoops_meta_mem: ramoops_meta_region@89000000 {
+			compatible = "removed-dma-pool";
+			no-map;
+			reg = <0 0x89000000 0 0x1000>;
+		};
+		alt_ramoops_mem: ramoops_region@89001000 {
+			compatible = "removed-dma-pool";
+			no-map;
+			reg = <0 0x89001000 0 0x00100000>;
+		};
+	};
+};
+
+&ssc_sensors {
+	/* SLPI firmware files are spli.* */
+	qcom,firmware-name = "slpi";
+};
+
+&cci {
+	qcom,camera@0 {
+		cell-index = <0>;
+		compatible = "qcom,camera";
+		reg = <0x0>;
+		qcom,csiphy-sd-index = <0>;
+		qcom,csid-sd-index = <0>;
+		qcom,mount-angle = <270>;
+		cam_v_custom1-supply = <&pm8998_lvs1>;
+		cam_vio-supply = <&pm8998_l9>;
+		cam_vana-supply = <&pm8998_l22>;
+		cam_vdig-supply = <&pm8998_l8>;
+		qcom,cam-vreg-name = "cam_v_custom1", "cam_vio", "cam_vana", "cam_vdig";
+		qcom,cam-custom-vreg-name = "cam_v_custom1";
+		qcom,cam-vreg-type = <1 0 0 0>;
+		qcom,cam-vreg-min-voltage = <0 1808000 3312000 1200000>;
+		qcom,cam-vreg-max-voltage = <0 2960000 3312000 1200000>;
+		qcom,cam-vreg-op-mode = <0 105000 80000 105000>;
+		qcom,gpio-no-mux = <0>;
+		pinctrl-names = "cam_default", "cam_suspend";
+		pinctrl-0 = <&cam_sensor_mclk0_active
+				&cam_sensor_6dofl_active>;
+		pinctrl-1 = <&cam_sensor_mclk0_suspend
+				 &cam_sensor_6dofl_suspend>;
+		gpios = <&tlmm 13 0>,
+			<&tlmm 148 0>,
+			<&tlmm 52 0>,
+			<&tlmm 93 0>;
+		qcom,gpio-reset = <1>;
+		qcom,gpio-vana = <2>;
+		qcom,gpio-vio  = <3>;
+		qcom,gpio-req-tbl-num = <0 1 2 3>;
+		qcom,gpio-req-tbl-flags = <1 0 0 0>;
+		qcom,gpio-req-tbl-label = "CAMIF_MCLK",
+		        "CAM_RESET",
+		        "CAM_VANA",
+		        "CAM_VDIG";
+		qcom,sensor-position = <0>;
+		qcom,sensor-mode = <1>;
+		qcom,cci-master = <0>;
+		status = "ok";
+		clocks = <&clock_mmss clk_mclk0_clk_src>,
+		        <&clock_mmss clk_mmss_camss_mclk0_clk>;
+		clock-names = "cam_src_clk", "cam_clk";
+		qcom,clock-rates = <24000000 0>;
+	};
+	qcom,camera@3 {
+		cell-index = <3>;
+		compatible = "qcom,camera";
+		reg = <0x3>;
+		qcom,csiphy-sd-index = <0>;
+		qcom,csid-sd-index = <0>;
+		qcom,mount-angle = <270>;
+		cam_v_custom1-supply = <&pm8998_lvs1>;
+		cam_vdig-supply = <&pm8998_l8>;
+		cam_vio-supply = <&pm8998_l9>;
+		cam_vana-supply = <&pm8998_l22>;
+		qcom,cam-vreg-name = "cam_v_custom1", "cam_vdig", "cam_vio", "cam_vana";
+		qcom,cam-vreg-type = <1 0 0 0>;
+		qcom,cam-custom-vreg-name = "cam_v_custom1";
+		qcom,cam-vreg-min-voltage = <1700000 1140000 1700000 3312000>;
+		qcom,cam-vreg-max-voltage = <3000000 1260000 3000000 3312000>;
+		qcom,cam-vreg-op-mode = <1800000 1200000 1800000 2800000>;
+		qcom,gpio-no-mux = <0>;
+		pinctrl-names = "cam_default", "cam_suspend";
+		pinctrl-0 = <&cam_sensor_6dofr_active>;
+		pinctrl-1 = <&cam_sensor_6dofr_suspend>;
+		gpios = <&tlmm 13 0>,
+			<&tlmm 149 0>,
+			<&tlmm 52 0>,
+			<&tlmm 93 0>;
+		qcom,gpio-reset = <1>;
+		qcom,gpio-vana  = <2>;
+		qcom,gpio-vio   = <3>;
+		qcom,gpio-req-tbl-num = <0 1 2 3>;
+		qcom,gpio-req-tbl-flags = <1 0 0 0>;
+		qcom,gpio-req-tbl-label = "CAMIF_MCLK",
+			"CAM_RESET",
+			"CAM_VANA",
+			"CAM_VDIG";
+		qcom,sensor-position = <1>;
+		qcom,sensor-mode = <1>;
+		qcom,cci-master = <0>;
+		status = "ok";
+		clocks = <&clock_mmss clk_mclk0_clk_src>,
+			<&clock_mmss clk_mmss_camss_mclk0_clk>;
+		clock-names = "cam_src_clk", "cam_clk";
+		qcom,clock-rates = <24000000 0>;
+	};
+};
+
+&rpm_bus {
+	rpm-regulator-ldoa18 {
+		status = "okay";
+		pm8998_l18: regulator-l18 {
+			regulator-min-microvolt = <2500000>;
+			regulator-max-microvolt = <2500000>;
+			status = "okay";
+		};
+	};
+};
+
+&dsi_panel_pwr_supply {
+	qcom,panel-supply-entry@3 {
+		reg = <3>;
+		qcom,supply-name = "level-swap";
+		qcom,supply-min-voltage = <3008000>;
+		qcom,supply-max-voltage = <3008000>;
+		qcom,supply-enable-load = <100000>;
+		qcom,supply-disable-load = <100>;
+	};
+};
+
+&dsi_panel_pwr_supply_no_labibb{
+	qcom,panel-supply-entry@1 {
+		reg = <1>;
+		qcom,supply-name = "level-swap";
+		qcom,supply-min-voltage = <3008000>;
+		qcom,supply-max-voltage = <3008000>;
+		qcom,supply-enable-load = <100000>;
+		qcom,supply-disable-load = <100>;
+	};
+};
+
+&mdss_dsi0 {
+	qcom,dsi-pref-prim-pan = <&dsi_dual_boe_nt36860_video>;
+	pinctrl-names = "mdss_default", "mdss_sleep";
+	pinctrl-0 = <&mdss_dsi_active &mdss_te_active>;
+	pinctrl-1 = <&mdss_dsi_suspend &mdss_te_suspend>;
+	qcom,platform-bklight-en-gpio = <&tlmm 39 0>;
+	qcom,platform-reset-gpio = <&tlmm 94 0>;
+	qcom,platform-te-gpio = <&tlmm 96 0>;
+	level-swap-supply = <&pm8998_l19>;
+};
+
+&mdss_dsi1 {
+	qcom,dsi-pref-prim-pan = <&dsi_dual_boe_nt36860_video>;
+	qcom,platform-bklight-en-gpio = <&tlmm 39 0>;
+	qcom,platform-te-gpio = <&tlmm 96 0>;
+	level-swap-supply = <&pm8998_l19>;
+};
+
+&i2c_7 {
+	/delete-node/qcom,smb138x@8;
+};
+&spmi_bus {
+	qcom,pm8998@0 {
+		qcom,power-on@800 {
+			qcom,hard-reset-poweroff-type = <PON_POWER_OFF_WARM_RESET>;
+		};
+	};
+
+	qcom,pmi8998@2 {
+		compatible = "qcom,spmi-pmic";
+		pmi8998_fg: qpnp,fg {
+			compatible = "qcom,fg-gen3";
+			qcom,fg-sys-term-current = <(-200)>;
+			qcom,hold-soc-while-full;
+			qcom,fg-cutoff-voltage = <3400>;
+			qcom,fg-empty-voltage = <3400>;
+			qcom,fg-chg-term-current = <200>;
+			qcom,fg-jeita-thresholds = <0 15 43 50>;
+			qcom,fg-rsense-sel = <0>; /* SRC_SEL_BATFET */
+			qcom,battery-thermal-coefficients = [9d 50 ff];
+		};
+
+		pmi8998_charger: qcom,qpnp-smb2 {
+			compatible = "qcom,qpnp-smb2";
+			lenovo,vega-model;
+			lenovo,vega-icl-max = <2000000>;
+			qcom,usb-icl-ua = <3000000>;
+			qcom,otg-cl-ua = <800000>;
+			qcom,max-9v-adapter;
+		};
+	};
+	qcom,pmi8998@3 {
+		qcom,leds@d000 {
+			red_led: qcom,rgb_0 {
+				/delete-property/ linux,default-trigger;
+				label = "rgb";
+				qcom,id = <5>;
+				qcom,mode = "pwm";
+				pwms = <&pmi8998_pwm_3 0 0>;
+				qcom,pwm-us = <100>;
+				qcom,max-current = <12>;
+				qcom,default-state = "off";
+				linux,name = "red";
+
+				qcom,use-blink;
+				qcom,start-idx = <1>;
+				qcom,idx-len = <18>;
+				qcom,duty-pcts = [00 64 00 64 00 64 00 00 00 00 00 00 00 00 00 00 00 00];
+				qcom,ramp-step-ms = <83>;
+			};
+
+			green_led: qcom,rgb_1 {
+				/delete-property/ linux,default-trigger;
+				status = "disabled";
+			};
+
+			blue_led: qcom,rgb_2 {
+				/delete-property/ linux,default-trigger;
+				label = "rgb";
+				qcom,id = <3>;
+				qcom,mode = "pwm";
+				pwms = <&pmi8998_pwm_5 0 0>;
+				qcom,pwm-us = <100>;
+				qcom,max-current = <12>;
+				qcom,default-state = "keep";
+				linux,name = "blue";
+
+				qcom,use-blink;
+				qcom,start-idx = <1>;
+				qcom,idx-len = <40>;
+				qcom,duty-pcts = [ 32 3A 41 49 4F 55 5A 5F
+						   62 63 64 63 62 5F 5A 55
+						   4F 49 41 3A 32 2A 23 1B
+						   15 0F 0A 05 02 01 00 01
+						   02 05 0A 0F 15 1B 23 2A ];
+				qcom,ramp-step-ms = <25>;
+			};
+		};
+	};
+};
+
+&pmi8998_pdphy {
+	qcom,default-sink-caps = <5000 2000>, /* 5V @ 2A */
+				 <9000 2000>; /* 9V @ 2A */
+	qcom,limit-pdos;
+};
diff --git a/arch/arm64/boot/dts/lenovo/msm8998-vega-evb-p0.dts b/arch/arm64/boot/dts/lenovo/msm8998-vega-evb-p0.dts
new file mode 100644
index 0000000..e9c8906
--- /dev/null
+++ b/arch/arm64/boot/dts/lenovo/msm8998-vega-evb-p0.dts
@@ -0,0 +1,32 @@
+/* Copyright (c) 2017, The Linux Foundation. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 and
+ * only version 2 as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ */
+
+/dts-v1/;
+
+/ {
+	model = "Lenovo. Vega EVB P0";
+	goog,board-revision = "vega-evb-p0";
+	compatible = "qcom,apq8098";
+	/* Board-Id GPIOs: 0: 100, 1: 99, 2: 119, 3: 118, and 4: 96. */
+	goog,board-id = <100 0 99 0 119 0 118 1 96 1>;
+};
+
+#include "msm8998-vega-common.dtsi"
+
+&cci {
+	qcom,camera@3 {
+		pinctrl-0 = <&cam_sensor_mclk0_active
+				&cam_sensor_6dofr_active>;
+		pinctrl-1 = <&cam_sensor_mclk0_suspend
+				 &cam_sensor_6dofr_suspend>;
+	};
+};
diff --git a/arch/arm64/boot/dts/lenovo/msm8998-vega-evb-p1.dts b/arch/arm64/boot/dts/lenovo/msm8998-vega-evb-p1.dts
new file mode 100644
index 0000000..fbf1ec24
--- /dev/null
+++ b/arch/arm64/boot/dts/lenovo/msm8998-vega-evb-p1.dts
@@ -0,0 +1,23 @@
+/* Copyright (c) 2017, The Linux Foundation. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 and
+ * only version 2 as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ */
+
+/dts-v1/;
+
+#include "msm8998-vega-common.dtsi"
+
+/ {
+	model = "Lenovo. Vega EVB P1";
+	goog,board-revision = "vega-evb-p1";
+	compatible = "qcom,apq8098";
+	/* Board-Id GPIOs: 0: 100, 1: 99, 2: 119, 3: 118, and 4: 96. */
+	goog,board-id = <100 1 99 0 119 0 118 1 96 1>;
+};
diff --git a/arch/arm64/boot/dts/lenovo/msm8998-vega-evb-p2.dts b/arch/arm64/boot/dts/lenovo/msm8998-vega-evb-p2.dts
new file mode 100644
index 0000000..d6e1e15
--- /dev/null
+++ b/arch/arm64/boot/dts/lenovo/msm8998-vega-evb-p2.dts
@@ -0,0 +1,30 @@
+/* Copyright (c) 2017, The Linux Foundation. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 and
+ * only version 2 as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ */
+
+/dts-v1/;
+
+/ {
+	model = "Lenovo. Vega EVB P2";
+	goog,board-revision = "vega-evb-p2";
+	compatible = "qcom,apq8098";
+	/* Board-Id GPIOs: 0: 100, 1: 99, 2: 119, 3: 118, and 4: 96. */
+	goog,board-id = <100 0 99 1 119 0 118 1 96 1>;
+};
+
+#include "msm8998-vega-common.dtsi"
+
+&soc {
+	sound-9335 {
+		qcom,msm-mbhc-hphl-swh = <1>;
+		qcom,msm-mbhc-gnd-swh = <1>;
+	};
+};
diff --git a/arch/arm64/boot/dts/lenovo/msm8998-vega-pinctrl.dtsi b/arch/arm64/boot/dts/lenovo/msm8998-vega-pinctrl.dtsi
new file mode 100644
index 0000000..8d7f488
--- /dev/null
+++ b/arch/arm64/boot/dts/lenovo/msm8998-vega-pinctrl.dtsi
@@ -0,0 +1,169 @@
+/* Copyright (c) 2016, The Linux Foundation. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 and
+ * only version 2 as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ */
+
+#include "../qcom/msm8998-pinctrl.dtsi"
+
+&tlmm {
+	/delete-node/ cdc_reset_ctrl;
+
+	cdc_reset_ctrl {
+		cdc_reset_sleep: cdc_reset_sleep {
+			mux {
+				pins = "gpio116";
+				function = "gpio";
+			};
+			config {
+				pins = "gpio116";
+				drive-strength = <16>;
+				bias-disable;
+				output-low;
+			};
+		};
+		cdc_reset_active: cdc_reset_active {
+			mux {
+				pins = "gpio116";
+				function = "gpio";
+			};
+			config {
+				pins = "gpio116";
+				drive-strength = <16>;
+				bias-pull-down;
+				output-high;
+			};
+		};
+	};
+
+	pmx_mdss: pmx_mdss {
+		mdss_dsi_active: mdss_dsi_active {
+			mux {
+				pins = "gpio94", "gpio96", "gpio39";
+				function = "gpio";
+			};
+
+			config {
+				pins = "gpio94", "gpio96", "gpio39";
+				drive-strength = <16>; /* 8 mA */
+				bias-pull-up;
+			};
+		};
+		mdss_dsi_suspend: mdss_dsi_suspend {
+			mux {
+				pins = "gpio94", "gpio96", "gpio39";
+				function = "gpio";
+			};
+
+			config {
+				pins = "gpio94", "gpio96", "gpio39";
+				drive-strength = <2>; /* 2 mA */
+				bias-pull-down; /* pull down */
+			};
+		};
+	};
+
+
+	external_trigger_active: external_trigger_active {
+		mux {
+			pins = "gpio117";
+			function = "gpio";
+		};
+		config {
+			pins = "gpio117";
+			drive-strength = <8>; /* 8 mA */
+			bias-pull-up;  /* pull up */
+			output-low;
+		};
+	};
+
+	external_trigger_suspend: external_trigger_suspend {
+		mux {
+			pins = "gpio117";
+			function = "gpio";
+		};
+		config {
+			pins = "gpio117";
+			drive-strength = <2>; /* 2 mA */
+			bias-disable;  /* no pull */
+		};
+	};
+
+	cam_sensor_6dofr_active: cam_sensor_6dofr_active {
+		/* RESET, STANDBY */
+		mux {
+			pins = "gpio149";
+			function = "gpio";
+		};
+
+		config {
+			pins = "gpio149";
+			bias-disable; /* No PULL */
+			drive-strength = <2>; /* 2 MA */
+		};
+	};
+
+	cam_sensor_6dofr_suspend: cam_sensor_6dofr_suspend {
+		/* RESET, STANDBY */
+		mux {
+			pins = "gpio149";
+			function = "gpio";
+		};
+		config {
+			pins = "gpio149";
+			bias-disable; /* No PULL */
+			drive-strength = <2>; /* 2 MA */
+		};
+	};
+
+	cam_sensor_6dofl_active: cam_sensor_6dofl_active {
+		/* RESET, STANDBY */
+		mux {
+			pins = "gpio148","gpio52","gpio93";
+			function = "gpio";
+		};
+
+		config {
+			pins = "gpio148","gpio52","gpio93";
+			bias-disable; /* No PULL */
+			drive-strength = <2>; /* 2 MA */
+		};
+	};
+
+	cam_sensor_6dofl_suspend: cam_sensor_6dofl_suspend {
+		/* RESET, STANDBY */
+		mux {
+			pins = "gpio148","gpio52","gpio93";
+			function = "gpio";
+		};
+
+		config {
+			pins = "gpio148","gpio52","gpio93";
+			bias-disable; /* No PULL */
+			drive-strength = <2>; /* 2 MA */
+		};
+	};
+
+	/delete-node/ cam_sensor_mclk0_active;
+
+	cam_sensor_mclk0_active: cam_sensor_mclk0_active {
+		/* MCLK0 */
+		mux {
+			/* CLK, DATA */
+			pins = "gpio13";
+			function = "cam_mclk";
+		};
+
+		config {
+			pins = "gpio13";
+			bias-disable; /* No PULL */
+			drive-strength = <10>; /* 10 MA */
+		};
+	};
+};
diff --git a/arch/arm64/configs/vega-debug_defconfig b/arch/arm64/configs/vega-debug_defconfig
new file mode 100644
index 0000000..0e06934
--- /dev/null
+++ b/arch/arm64/configs/vega-debug_defconfig
@@ -0,0 +1,785 @@
+CONFIG_ACCESS_RAMOOPS=y
+CONFIG_ANDROID=y
+CONFIG_ANDROID_BINDER_IPC=y
+CONFIG_ANDROID_LOW_MEMORY_KILLER=y
+CONFIG_ANDROID_TIMED_GPIO=y
+CONFIG_APSS_CORE_EA=y
+CONFIG_ARCH_QCOM=y
+CONFIG_ARM64_CRYPTO=y
+CONFIG_ARM64_PAN=y
+CONFIG_ARM64_PTDUMP=y
+CONFIG_ARM64_SW_TTBR0_PAN=y
+CONFIG_ARM_GIC_V3_ACL=y
+CONFIG_ARM_MEMLAT_MON=y
+CONFIG_ARM_SMMU=y
+CONFIG_ARMV8_DEPRECATED=y
+CONFIG_ASHMEM=y
+CONFIG_ASYMMETRIC_KEY_TYPE=y
+CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=y
+CONFIG_ATH_CARDS=y
+CONFIG_AUDIT=y
+# CONFIG_AUDITSYSCALL is not set
+CONFIG_BATTERY_BCL=y
+# CONFIG_BLK_DEV_BSG is not set
+CONFIG_BLK_DEV_DM=y
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_BLK_DEV_IO_TRACE=y
+CONFIG_BLK_DEV_LOOP=y
+CONFIG_BLK_DEV_MD=y
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_SIZE=8192
+CONFIG_BLK_DEV_SD=y
+CONFIG_BOARD_MSMCORTEX=n
+CONFIG_BOARD_VEGA=y
+CONFIG_BONDING=y
+CONFIG_BRIDGE=y
+CONFIG_BRIDGE_EBT_BROUTE=y
+CONFIG_BRIDGE_NF_EBTABLES=y
+CONFIG_BT=y
+CONFIG_BTFM_SLIM=y
+CONFIG_BTFM_SLIM_WCN3990=y
+CONFIG_BUILD_ARM64_APPENDED_DTB_IMAGE=y
+CONFIG_BUILD_ARM64_APPENDED_DTB_IMAGE_NAMES="lenovo/msm8998-vega-evb-p0 lenovo/msm8998-vega-evb-p1 lenovo/msm8998-vega-evb-p2"
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+CONFIG_CC_STACKPROTECTOR_REGULAR=y
+CONFIG_CC_STACKPROTECTOR_STRONG=y
+CONFIG_CC_WERROR=y
+CONFIG_CFG80211=y
+# CONFIG_CFG80211_CRDA_SUPPORT is not set
+CONFIG_CFG80211_INTERNAL_REGDB=y
+CONFIG_CGROUP_CPUACCT=y
+CONFIG_CGROUP_DEBUG=y
+CONFIG_CGROUP_FREEZER=y
+CONFIG_CGROUP_SCHED=y
+CONFIG_CGROUPS=y
+CONFIG_CHR_DEV_SCH=y
+CONFIG_CHR_DEV_SG=y
+CONFIG_CLD_LL_CORE=y
+CONFIG_CLEANCACHE=y
+CONFIG_CLS_U32_MARK=y
+CONFIG_CMA=y
+CONFIG_CMA_DEBUGFS=y
+CONFIG_COMPAT=y
+# CONFIG_COMPAT_BRK is not set
+# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
+CONFIG_CORESIGHT=y
+CONFIG_CORESIGHT_CTI=y
+CONFIG_CORESIGHT_EVENT=y
+CONFIG_CORESIGHT_HWEVENT=y
+CONFIG_CORESIGHT_LINK_AND_SINK_TMC=y
+CONFIG_CORESIGHT_QCOM_REPLICATOR=y
+CONFIG_CORESIGHT_QPDI=y
+# CONFIG_CORESIGHT_REMOTE_ETM is not set
+# CONFIG_CORESIGHT_REMOTE_ETM_DEFAULT_ENABLE is not set
+CONFIG_CORESIGHT_SOURCE_DUMMY=y
+# CONFIG_CORESIGHT_SOURCE_ETM4X is not set
+CONFIG_CORESIGHT_STM=y
+CONFIG_CORESIGHT_TPDA=y
+CONFIG_CORESIGHT_TPDM=y
+CONFIG_CP15_BARRIER_EMULATION=y
+CONFIG_CPU_FREQ=y
+CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
+CONFIG_CPU_FREQ_GOV_INTERACTIVE=y
+CONFIG_CPU_FREQ_GOV_ONDEMAND=y
+CONFIG_CPU_FREQ_GOV_POWERSAVE=y
+CONFIG_CPU_FREQ_GOV_USERSPACE=y
+CONFIG_CPU_FREQ_STAT=y
+CONFIG_CPU_FREQ_SWITCH_PROFILER=y
+CONFIG_CPU_THERMAL=y
+CONFIG_CPUSETS=y
+CONFIG_CRYPTO_AES_ARM64_CE_BLK=y
+CONFIG_CRYPTO_AES_ARM64_CE_CCM=y
+CONFIG_CRYPTO_AES_ARM64_NEON_BLK=y
+CONFIG_CRYPTO_ANSI_CPRNG=y
+CONFIG_CRYPTO_CRC32_ARM64=y
+CONFIG_CRYPTO_DEV_OTA_CRYPTO=y
+CONFIG_CRYPTO_DEV_QCE=y
+CONFIG_CRYPTO_DEV_QCEDEV=y
+CONFIG_CRYPTO_DEV_QCOM_ICE=y
+CONFIG_CRYPTO_DEV_QCOM_MSM_QCE=y
+CONFIG_CRYPTO_DEV_QCRYPTO=y
+CONFIG_CRYPTO_ECHAINIV=y
+CONFIG_CRYPTO_GCM=y
+CONFIG_CRYPTO_GHASH_ARM64_CE=y
+CONFIG_CRYPTO_MD4=y
+CONFIG_CRYPTO_SHA1_ARM64_CE=y
+CONFIG_CRYPTO_SHA2_ARM64_CE=y
+CONFIG_CRYPTO_SHA512=y
+CONFIG_CRYPTO_TWOFISH=y
+CONFIG_CRYPTO_XCBC=y
+CONFIG_DEBUG_ATOMIC_SLEEP=y
+CONFIG_DEBUG_INFO=y
+CONFIG_DEBUG_KMEMLEAK=y
+CONFIG_DEBUG_KMEMLEAK_DEFAULT_OFF=y
+CONFIG_DEBUG_KMEMLEAK_EARLY_LOG_SIZE=4000
+CONFIG_DEBUG_LIST=y
+CONFIG_DEBUG_MEMORY_INIT=y
+CONFIG_DEBUG_MUTEXES=y
+CONFIG_DEBUG_OBJECTS=y
+CONFIG_DEBUG_OBJECTS_FREE=y
+CONFIG_DEBUG_OBJECTS_PERCPU_COUNTER=y
+CONFIG_DEBUG_OBJECTS_RCU_HEAD=y
+CONFIG_DEBUG_OBJECTS_TIMERS=y
+CONFIG_DEBUG_OBJECTS_WORK=y
+CONFIG_DEBUG_PAGEALLOC_ENABLE_DEFAULT=y
+# CONFIG_DEBUG_PREEMPT is not set
+CONFIG_DEBUG_RODATA=y
+CONFIG_DEBUG_SET_MODULE_RONX=y
+CONFIG_DEBUG_SPINLOCK=y
+CONFIG_DEBUG_STACK_USAGE=y
+CONFIG_DEVFREQ_GOV_MEMLAT=y
+CONFIG_DEVFREQ_GOV_QCOM_BW_HWMON=y
+CONFIG_DEVFREQ_SPDM=y
+# CONFIG_DEVKMEM is not set
+# CONFIG_DEVMEM is not set
+# CONFIG_DEVPORT is not set
+CONFIG_DIAG_CHAR=y
+CONFIG_DM_ANDROID_VERITY=y
+CONFIG_DM_CRYPT=y
+CONFIG_DM_REQ_CRYPT=y
+CONFIG_DM_UEVENT=y
+CONFIG_DM_VERITY=y
+CONFIG_DM_VERITY_FEC=y
+CONFIG_DMA_CMA=y
+CONFIG_DMADEVICES=y
+CONFIG_DNS_RESOLVER=y
+CONFIG_DRAGONRISE_FF=y
+CONFIG_DUAL_ROLE_USB_INTF=y
+CONFIG_DUMMY=y
+CONFIG_DYNAMIC_DEBUG=y
+CONFIG_ECRYPT_FS=y
+CONFIG_ECRYPT_FS_MESSAGING=y
+CONFIG_EDAC=y
+CONFIG_EDAC_CORTEX_ARM64=y
+CONFIG_EDAC_CORTEX_ARM64_PANIC_ON_UE=y
+CONFIG_EDAC_MM_EDAC=y
+CONFIG_EFIVAR_FS=y
+CONFIG_EMBEDDED=y
+CONFIG_EXFAT_FS=y
+CONFIG_EXT2_FS=y
+CONFIG_EXT2_FS_XATTR=y
+CONFIG_EXT3_FS=y
+CONFIG_EXT4_ENCRYPTION=y
+CONFIG_EXT4_FS=y
+CONFIG_EXT4_FS_ENCRYPTION=y
+CONFIG_EXT4_FS_ICE_ENCRYPTION=y
+CONFIG_EXT4_FS_SECURITY=y
+CONFIG_EXTCON=y
+CONFIG_FAIL_PAGE_ALLOC=y
+CONFIG_FAULT_INJECTION=y
+CONFIG_FAULT_INJECTION_DEBUG_FS=y
+CONFIG_FAULT_INJECTION_STACKTRACE_FILTER=y
+CONFIG_FB=y
+CONFIG_FB_MSM=y
+CONFIG_FB_MSM_MDSS=y
+CONFIG_FB_MSM_MDSS_DP_PANEL=y
+CONFIG_FB_MSM_MDSS_HDMI_PANEL=y
+CONFIG_FB_MSM_MDSS_WRITEBACK=y
+CONFIG_FB_MSM_MDSS_XLOG_DEBUG=y
+CONFIG_FB_VIRTUAL=y
+CONFIG_FG_DC_BATT_ID=n
+CONFIG_FREE_PAGES_RDONLY=y
+CONFIG_FUNCTION_TRACER=y
+CONFIG_FUSE_FS=y
+CONFIG_FW_LOADER_USER_HELPER_FALLBACK=y
+CONFIG_GC0339=y
+CONFIG_GPIO_QPNP_PIN=y
+CONFIG_GPIO_SYSFS=y
+CONFIG_GPIO_USB_DETECT=y
+CONFIG_GPIOLIB=y
+CONFIG_GSI=y
+CONFIG_HARDENED_USERCOPY=y
+CONFIG_HDCP_QSEECOM=y
+CONFIG_HID_APPLE=y
+CONFIG_HID_DRAGONRISE=y
+CONFIG_HID_ELECOM=y
+CONFIG_HID_EZKEY=y
+CONFIG_HID_GYRATION=y
+CONFIG_HID_KENSINGTON=y
+CONFIG_HID_KEYTOUCH=y
+CONFIG_HID_KYE=y
+CONFIG_HID_LCPOWER=y
+CONFIG_HID_LOGITECH=y
+CONFIG_HID_LOGITECH_DJ=y
+CONFIG_HID_MAGICMOUSE=y
+CONFIG_HID_MICROSOFT=y
+CONFIG_HID_MULTITOUCH=y
+CONFIG_HID_NTRIG=y
+CONFIG_HID_PLANTRONICS=y
+CONFIG_HID_ROCCAT=y
+CONFIG_HID_SAITEK=y
+CONFIG_HID_SAMSUNG=y
+CONFIG_HID_SONY=y
+CONFIG_HID_SPEEDLINK=y
+CONFIG_HID_THRUSTMASTER=y
+CONFIG_HID_WACOM=y
+CONFIG_HID_WIIMOTE=y
+CONFIG_HIDRAW=y
+CONFIG_HIGH_RES_TIMERS=y
+CONFIG_HW_RANDOM=y
+CONFIG_HW_RANDOM_MSM_LEGACY=y
+CONFIG_HZ_300=y
+CONFIG_I2C_CHARDEV=y
+CONFIG_I2C_MSM_V2=y
+CONFIG_ICNSS=y
+CONFIG_ICNSS_DEBUG=y
+CONFIG_IIO=y
+CONFIG_IKCONFIG=y
+CONFIG_IKCONFIG_PROC=y
+CONFIG_IMX132=y
+CONFIG_IMX134=y
+CONFIG_INET=y
+CONFIG_INET6_AH=y
+CONFIG_INET6_ESP=y
+CONFIG_INET6_IPCOMP=y
+CONFIG_INET_AH=y
+CONFIG_INET_DIAG_DESTROY=y
+CONFIG_INET_ESP=y
+CONFIG_INET_IPCOMP=y
+CONFIG_INET_LRO=n
+CONFIG_INPUT_EVDEV=y
+CONFIG_INPUT_GPIO=y
+CONFIG_INPUT_HBTP_INPUT=y
+CONFIG_INPUT_JOYSTICK=y
+CONFIG_INPUT_KEYCHORD=y
+CONFIG_INPUT_KEYRESET=y
+CONFIG_INPUT_MISC=y
+# CONFIG_INPUT_MOUSE is not set
+CONFIG_INPUT_QPNP_POWER_ON=y
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_INPUT_UINPUT=y
+CONFIG_IOMMU_DEBUG=y
+CONFIG_IOMMU_DEBUG_TRACKING=y
+CONFIG_IOMMU_IO_PGTABLE_FAST=y
+CONFIG_IOMMU_IO_PGTABLE_FAST_SELFTEST=y
+CONFIG_IOMMU_TESTS=y
+CONFIG_ION=y
+CONFIG_ION_MSM=y
+# CONFIG_IOSCHED_DEADLINE is not set
+CONFIG_IP6_NF_FILTER=y
+CONFIG_IP6_NF_IPTABLES=y
+CONFIG_IP6_NF_MANGLE=y
+CONFIG_IP6_NF_RAW=y
+CONFIG_IP6_NF_TARGET_REJECT=y
+CONFIG_IP_ADVANCED_ROUTER=y
+CONFIG_IP_MULTICAST=y
+CONFIG_IP_MULTIPLE_TABLES=y
+CONFIG_IP_NF_ARP_MANGLE=y
+CONFIG_IP_NF_ARPFILTER=y
+CONFIG_IP_NF_ARPTABLES=y
+CONFIG_IP_NF_FILTER=y
+CONFIG_IP_NF_IPTABLES=y
+CONFIG_IP_NF_MANGLE=y
+CONFIG_IP_NF_MATCH_AH=y
+CONFIG_IP_NF_MATCH_ECN=y
+CONFIG_IP_NF_MATCH_TTL=y
+CONFIG_IP_NF_NAT=y
+CONFIG_IP_NF_RAW=y
+CONFIG_IP_NF_SECURITY=y
+CONFIG_IP_NF_TARGET_MASQUERADE=y
+CONFIG_IP_NF_TARGET_NETMAP=y
+CONFIG_IP_NF_TARGET_REDIRECT=y
+CONFIG_IP_NF_TARGET_REJECT=y
+CONFIG_IP_PNP=y
+CONFIG_IP_PNP_DHCP=y
+CONFIG_IP_ROUTE_VERBOSE=y
+CONFIG_IPA=y
+CONFIG_IPA3=y
+CONFIG_IPC_LOGGING=y
+CONFIG_IPC_ROUTER=y
+CONFIG_IPC_ROUTER_SECURITY=y
+CONFIG_IPV6_MIP6=y
+CONFIG_IPV6_MULTIPLE_TABLES=y
+CONFIG_IPV6_OPTIMISTIC_DAD=y
+CONFIG_IPV6_ROUTE_INFO=y
+CONFIG_IPV6_ROUTER_PREF=y
+CONFIG_IPV6_SUBTREES=y
+CONFIG_IRQ_TIME_ACCOUNTING=y
+CONFIG_IRQSOFF_TRACER=y
+CONFIG_JOYSTICK_XPAD=y
+CONFIG_JOYSTICK_XPAD_FF=y
+CONFIG_JOYSTICK_XPAD_LEDS=y
+CONFIG_KALLSYMS_ALL=y
+CONFIG_KEYBOARD_GPIO=y
+CONFIG_KEYS=y
+CONFIG_L2TP=y
+CONFIG_L2TP_DEBUGFS=y
+CONFIG_L2TP_ETH=y
+CONFIG_L2TP_IP=y
+CONFIG_L2TP_V3=y
+CONFIG_LEDS_QPNP=y
+CONFIG_LEDS_QPNP_FLASH_V2=y
+CONFIG_LEDS_QPNP_WLED=y
+CONFIG_LEDS_SYSCON=y
+CONFIG_LEDS_TRIGGER_CPU=y
+CONFIG_LEDS_TRIGGER_HEARTBEAT=y
+CONFIG_LEDS_TRIGGERS=y
+# CONFIG_LEGACY_PTYS is not set
+CONFIG_LFR_SUBNET_DETECTION=y
+CONFIG_LIMITS_LITE_HW=y
+CONFIG_LIMITS_MONITOR=y
+# CONFIG_LOCALVERSION_AUTO is not set
+CONFIG_LOCALVERSION="-debug"
+CONFIG_LOCKUP_DETECTOR=y
+CONFIG_LOG_CPU_MAX_BUF_SHIFT=17
+CONFIG_LOGIG940_FF=y
+CONFIG_LOGIRUMBLEPAD2_FF=y
+CONFIG_LOGITECH_FF=y
+CONFIG_LOGO=y
+# CONFIG_LOGO_LINUX_MONO is not set
+# CONFIG_LOGO_LINUX_VGA16 is not set
+CONFIG_MAGIC_SYSRQ=y
+CONFIG_MCC_TO_SCC_SWITCH=y
+CONFIG_MD=y
+CONFIG_MD_LINEAR=y
+CONFIG_MEDIA_CAMERA_SUPPORT=y
+CONFIG_MEDIA_CONTROLLER=y
+CONFIG_MEDIA_SUPPORT=y
+CONFIG_MEM_SHARE_QMI_SERVICE=y
+# CONFIG_MEMBARRIER is not set
+CONFIG_MEMORY_STATE_TIME=y
+CONFIG_MEMTEST=y
+CONFIG_MFD_I2C_PMIC=y
+CONFIG_MFD_SPMI_PMIC=y
+CONFIG_MMC=y
+CONFIG_MMC_BLOCK_DEFERRED_RESUME=y
+CONFIG_MMC_BLOCK_MINORS=32
+CONFIG_MMC_CLKGATE=y
+CONFIG_MMC_PARANOID_SD_INIT=y
+CONFIG_MMC_PERF_PROFILING=y
+CONFIG_MMC_SDHCI=y
+CONFIG_MMC_SDHCI_MSM=y
+CONFIG_MMC_SDHCI_PLTFM=y
+CONFIG_MMC_TEST=y
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+CONFIG_MODVERSIONS=y
+CONFIG_MPC_UT_FRAMEWORK=y
+CONFIG_MSDOS_FS=y
+CONFIG_MSM_ADSP_LOADER=y
+CONFIG_MSM_ADSPRPC=y
+CONFIG_MSM_APM=y
+CONFIG_MSM_AVTIMER=y
+CONFIG_MSM_BCL_CTL=y
+CONFIG_MSM_BCL_PERIPHERAL_CTL=y
+CONFIG_MSM_BOOT_STATS=y
+CONFIG_MSM_BT_POWER=y
+CONFIG_MSM_CAMERA=y
+CONFIG_MSM_CAMERA_DEBUG=y
+CONFIG_MSM_CAMERA_SENSOR=y
+CONFIG_MSM_CCI=y
+CONFIG_MSM_CORE_HANG_DETECT=y
+CONFIG_MSM_CPP=y
+CONFIG_MSM_CSI20_HEADER=y
+CONFIG_MSM_CSI22_HEADER=y
+CONFIG_MSM_CSI30_HEADER=y
+CONFIG_MSM_CSI31_HEADER=y
+CONFIG_MSM_CSID=y
+CONFIG_MSM_CSIPHY=y
+CONFIG_MSM_EEPROM=y
+CONFIG_MSM_EVENT_TIMER=y
+CONFIG_MSM_FD=y
+CONFIG_MSM_GLADIATOR_ERP_V2=y
+CONFIG_MSM_GLADIATOR_HANG_DETECT=y
+CONFIG_MSM_GLINK=y
+CONFIG_MSM_GLINK_LOOPBACK_SERVER=y
+CONFIG_MSM_GLINK_PKT=y
+CONFIG_MSM_GLINK_SMD_XPRT=y
+CONFIG_MSM_GLINK_SMEM_NATIVE_XPRT=y
+CONFIG_MSM_GLINK_SPI_XPRT=y
+CONFIG_MSM_IPC_ROUTER_GLINK_XPRT=y
+CONFIG_MSM_IPC_ROUTER_SMD_XPRT=y
+CONFIG_MSM_ISPIF=y
+CONFIG_MSM_JPEGDMA=y
+CONFIG_MSM_MDSS_PLL=y
+CONFIG_MSM_MPM_OF=y
+CONFIG_MSM_PERFORMANCE=y
+CONFIG_MSM_PIL=y
+CONFIG_MSM_PIL_MSS_QDSP6V5=y
+CONFIG_MSM_PIL_SSR_GENERIC=y
+CONFIG_MSM_PM=y
+CONFIG_MSM_QMI_INTERFACE=y
+CONFIG_MSM_QUSB_PHY=y
+CONFIG_MSM_RPM_LOG=y
+CONFIG_MSM_RPM_RBCPR_STATS_V2_LOG=y
+CONFIG_MSM_RPM_SMD=y
+CONFIG_MSM_RPM_STATS_LOG=y
+CONFIG_MSM_RUN_QUEUE_STATS=y
+CONFIG_MSM_SDE_ROTATOR=y
+CONFIG_MSM_SDE_ROTATOR_EVTLOG_DEBUG=y
+CONFIG_MSM_SERVICE_LOCATOR=y
+CONFIG_MSM_SERVICE_NOTIFIER=y
+CONFIG_MSM_SMD=y
+CONFIG_MSM_SMD_DEBUG=y
+CONFIG_MSM_SMEM=y
+CONFIG_MSM_SMEM_LOGGING=y
+CONFIG_MSM_SMP2P=y
+CONFIG_MSM_SMP2P_TEST=y
+CONFIG_MSM_SPCOM=y
+CONFIG_MSM_SPM=y
+CONFIG_MSM_SPSS_UTILS=y
+CONFIG_MSM_SUBSYSTEM_RESTART=y
+CONFIG_MSM_SYSMON_GLINK_COMM=y
+CONFIG_MSM_TIMER_LEAP=y
+CONFIG_MSM_TZ_LOG=y
+CONFIG_MSM_V4L2_VIDEO_OVERLAY_DEVICE=y
+CONFIG_MSM_VIDC_GOVERNORS=y
+CONFIG_MSM_VIDC_V4L2=y
+CONFIG_MSM_VIDC_VMEM=y
+CONFIG_MSMB_CAMERA=y
+CONFIG_MSMB_CAMERA_DEBUG=y
+CONFIG_MSMB_JPEG=y
+CONFIG_NAMESPACES=y
+CONFIG_NET=y
+CONFIG_NET_ACT_GACT=y
+CONFIG_NET_ACT_MIRRED=y
+CONFIG_NET_ACT_SKBEDIT=y
+CONFIG_NET_CLS_ACT=y
+CONFIG_NET_CLS_FLOW=y
+CONFIG_NET_CLS_FW=y
+CONFIG_NET_CLS_U32=y
+CONFIG_NET_EMATCH=y
+CONFIG_NET_EMATCH_CMP=y
+CONFIG_NET_EMATCH_META=y
+CONFIG_NET_EMATCH_NBYTE=y
+CONFIG_NET_EMATCH_TEXT=y
+CONFIG_NET_EMATCH_U32=y
+CONFIG_NET_KEY=y
+CONFIG_NET_SCH_HTB=y
+CONFIG_NET_SCH_INGRESS=y
+CONFIG_NET_SCH_MULTIQ=y
+CONFIG_NET_SCH_PRIO=y
+CONFIG_NET_SCHED=y
+CONFIG_NETDEVICES=y
+CONFIG_NETFILTER=y
+CONFIG_NETFILTER_XT_MATCH_COMMENT=y
+CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=y
+CONFIG_NETFILTER_XT_MATCH_CONNMARK=y
+CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y
+CONFIG_NETFILTER_XT_MATCH_DSCP=y
+CONFIG_NETFILTER_XT_MATCH_ESP=y
+CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=y
+CONFIG_NETFILTER_XT_MATCH_HELPER=y
+CONFIG_NETFILTER_XT_MATCH_IPRANGE=y
+# CONFIG_NETFILTER_XT_MATCH_L2TP is not set
+CONFIG_NETFILTER_XT_MATCH_LENGTH=y
+CONFIG_NETFILTER_XT_MATCH_LIMIT=y
+CONFIG_NETFILTER_XT_MATCH_MAC=y
+CONFIG_NETFILTER_XT_MATCH_MARK=y
+CONFIG_NETFILTER_XT_MATCH_MULTIPORT=y
+CONFIG_NETFILTER_XT_MATCH_PKTTYPE=y
+CONFIG_NETFILTER_XT_MATCH_POLICY=y
+CONFIG_NETFILTER_XT_MATCH_QTAGUID=y
+CONFIG_NETFILTER_XT_MATCH_QUOTA=y
+CONFIG_NETFILTER_XT_MATCH_QUOTA2=y
+CONFIG_NETFILTER_XT_MATCH_SOCKET=y
+CONFIG_NETFILTER_XT_MATCH_STATE=y
+CONFIG_NETFILTER_XT_MATCH_STATISTIC=y
+CONFIG_NETFILTER_XT_MATCH_STRING=y
+CONFIG_NETFILTER_XT_MATCH_TIME=y
+CONFIG_NETFILTER_XT_MATCH_U32=y
+CONFIG_NETFILTER_XT_TARGET_CLASSIFY=y
+CONFIG_NETFILTER_XT_TARGET_CONNMARK=y
+CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=y
+CONFIG_NETFILTER_XT_TARGET_HARDIDLETIMER=y
+CONFIG_NETFILTER_XT_TARGET_IDLETIMER=y
+CONFIG_NETFILTER_XT_TARGET_LOG=y
+CONFIG_NETFILTER_XT_TARGET_MARK=y
+CONFIG_NETFILTER_XT_TARGET_NFLOG=y
+CONFIG_NETFILTER_XT_TARGET_NFQUEUE=y
+CONFIG_NETFILTER_XT_TARGET_NOTRACK=y
+CONFIG_NETFILTER_XT_TARGET_SECMARK=y
+CONFIG_NETFILTER_XT_TARGET_TCPMSS=y
+CONFIG_NETFILTER_XT_TARGET_TEE=y
+CONFIG_NETFILTER_XT_TARGET_TPROXY=y
+CONFIG_NETFILTER_XT_TARGET_TRACE=y
+# CONFIG_NETWORK_FILESYSTEMS is not set
+CONFIG_NF_CONNTRACK=y
+CONFIG_NF_CONNTRACK_AMANDA=y
+CONFIG_NF_CONNTRACK_EVENTS=y
+CONFIG_NF_CONNTRACK_FTP=y
+CONFIG_NF_CONNTRACK_H323=y
+CONFIG_NF_CONNTRACK_IPV4=y
+CONFIG_NF_CONNTRACK_IPV6=y
+CONFIG_NF_CONNTRACK_IRC=y
+CONFIG_NF_CONNTRACK_NETBIOS_NS=y
+CONFIG_NF_CONNTRACK_PPTP=y
+CONFIG_NF_CONNTRACK_SANE=y
+CONFIG_NF_CONNTRACK_SECMARK=y
+CONFIG_NF_CONNTRACK_TFTP=y
+CONFIG_NF_CT_NETLINK=y
+CONFIG_NF_CT_PROTO_DCCP=y
+CONFIG_NF_CT_PROTO_SCTP=y
+CONFIG_NF_CT_PROTO_UDPLITE=y
+CONFIG_NFC_NQ=y
+CONFIG_NLS_CODEPAGE_437=y
+CONFIG_NLS_ISO8859_1=y
+CONFIG_NLS_UTF8=y
+CONFIG_NO_HZ=y
+CONFIG_NOP_USB_XCEIV=y
+CONFIG_NR_CPUS=8
+CONFIG_OV12830=y
+CONFIG_OV5648=y
+CONFIG_OV8825=y
+CONFIG_OV8865=y
+CONFIG_OV9724=y
+CONFIG_PACKET=y
+CONFIG_PAGE_OWNER=y
+CONFIG_PAGE_OWNER_ENABLE_DEFAULT=y
+CONFIG_PANIC_ON_DATA_CORRUPTION=y
+CONFIG_PANIC_ON_GLADIATOR_ERROR_V2=y
+CONFIG_PANIC_ON_RT_THROTTLING=y
+CONFIG_PANIC_ON_SCHED_BUG=y
+CONFIG_PANIC_TIMEOUT=1
+CONFIG_PARTITION_ADVANCED=y
+CONFIG_PCI=y
+CONFIG_PCI_MSM=y
+CONFIG_PFK=y
+CONFIG_PHY_XGENE=y
+CONFIG_PHYLIB=y
+CONFIG_PID_IN_CONTEXTIDR=y
+# CONFIG_PID_NS is not set
+CONFIG_PINCTRL_MSM8998=y
+CONFIG_PINCTRL_MSMFALCON=n
+CONFIG_PM_AUTOSLEEP=y
+CONFIG_PM_DEBUG=y
+CONFIG_PM_WAKELOCKS=y
+# CONFIG_PM_WAKELOCKS_GC is not set
+CONFIG_PM_WAKELOCKS_LIMIT=0
+CONFIG_POWER_RESET_QCOM=y
+CONFIG_POWER_RESET_SYSCON=y
+CONFIG_POWER_RESET_XGENE=y
+CONFIG_POWER_SUPPLY=y
+CONFIG_PPP=y
+CONFIG_PPP_BSDCOMP=y
+CONFIG_PPP_DEFLATE=y
+CONFIG_PPP_MPPE=y
+CONFIG_PPPOLAC=y
+CONFIG_PPPOPNS=y
+CONFIG_PREEMPT=y
+CONFIG_PREEMPT_TRACER=y
+CONFIG_PRIMA_WLAN_11AC_HIGH_TP=y
+CONFIG_PRIMA_WLAN_OKC=y
+CONFIG_PRINTK_TIME=y
+CONFIG_PROFILING=y
+CONFIG_PSTORE=y
+CONFIG_PSTORE_CONSOLE=y
+CONFIG_PSTORE_PMSG=y
+CONFIG_PSTORE_RAM=y
+CONFIG_PUBLIC_KEY_ALGO_RSA=y
+CONFIG_PWM=y
+CONFIG_PWM_QPNP=y
+CONFIG_QCA_CLD_WLAN=y
+CONFIG_QCACLD_FEATURE_NAN=y
+CONFIG_QCACLD_WLAN_LFR2=y
+CONFIG_QCACLD_WLAN_LFR3=y
+CONFIG_QCOM_BIMC_BWMON=y
+CONFIG_QCOM_BUS_SCALING=y
+CONFIG_QCOM_COMMON_LOG=y
+CONFIG_QCOM_CPUSS_DUMP=y
+CONFIG_QCOM_DCC=y
+CONFIG_QCOM_DEVFREQ_DEVBW=y
+CONFIG_QCOM_DLOAD_MODE=y
+CONFIG_QCOM_FORCE_WDOG_BITE_ON_PANIC=y
+CONFIG_QCOM_IRQ_HELPER=y
+CONFIG_QCOM_KGSL=y
+CONFIG_QCOM_LTE_COEX=y
+CONFIG_QCOM_MEMORY_DUMP_V2=y
+CONFIG_QCOM_REMOTEQDSS=y
+CONFIG_QCOM_RRADC=y
+CONFIG_QCOM_RTB=y
+CONFIG_QCOM_RTB_SEPARATE_CPUS=y
+CONFIG_QCOM_SCM=y
+CONFIG_QCOM_SMCINVOKE=y
+CONFIG_QCOM_SPS_DMA=y
+CONFIG_QCOM_TADC=y
+CONFIG_QCOM_TDLS=y
+CONFIG_QCOM_THERMAL_LIMITS_DCVS=y
+CONFIG_QCOM_VOWIFI_11R=y
+CONFIG_QCOM_WATCHDOG_V2=y
+CONFIG_QFMT_V2=y
+CONFIG_QMI_ENCDEC=y
+CONFIG_QPNP_COINCELL=y
+CONFIG_QPNP_FG_GEN3=y
+CONFIG_QPNP_HAPTIC=y
+CONFIG_QPNP_QNOVO=y
+CONFIG_QPNP_REVID=y
+CONFIG_QPNP_SMB2=y
+CONFIG_QPNP_USB_PDPHY=y
+CONFIG_QSEE_IPC_IRQ_BRIDGE=y
+CONFIG_QSEECOM=y
+CONFIG_QUOTA=y
+CONFIG_QUOTA_NETLINK_INTERFACE=y
+CONFIG_RANDOMIZE_BASE=y
+CONFIG_RCU_EXPERT=y
+CONFIG_RCU_STALL_WATCHDOG_BITE=y
+# CONFIG_RD_LZ4 is not set
+# CONFIG_RD_LZO is not set
+# CONFIG_RD_XZ is not set
+CONFIG_REGULATOR=y
+CONFIG_REGULATOR_CPR3_HMSS=y
+CONFIG_REGULATOR_CPR3_MMSS=y
+CONFIG_REGULATOR_CPRH_KBSS=y
+CONFIG_REGULATOR_FIXED_VOLTAGE=y
+CONFIG_REGULATOR_MEM_ACC=y
+CONFIG_REGULATOR_PROXY_CONSUMER=y
+CONFIG_REGULATOR_QPNP=y
+CONFIG_REGULATOR_QPNP_LABIBB=y
+CONFIG_REGULATOR_RPM_SMD=y
+CONFIG_REGULATOR_SPM=y
+CONFIG_REGULATOR_STUB=y
+CONFIG_REMOTE_SPINLOCK_MSM=y
+CONFIG_RFKILL=y
+CONFIG_RMNET_DATA=y
+CONFIG_RMNET_DATA_DEBUG_PKT=y
+CONFIG_RMNET_DATA_FC=y
+CONFIG_RMNET_IPA=y
+CONFIG_RMNET_IPA3=y
+CONFIG_RNDIS_IPA=y
+CONFIG_RT_GROUP_SCHED=y
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_DRV_QPNP=y
+CONFIG_s5k4e1=y
+CONFIG_SCHED_CORE_CTL=y
+CONFIG_SCHED_HMP=y
+CONFIG_SCHED_HMP_CSTATE_AWARE=y
+CONFIG_SCHED_MC=y
+CONFIG_SCHED_STACK_END_CHECK=y
+CONFIG_SCHEDSTATS=y
+CONFIG_SCSI=y
+CONFIG_SCSI_CONSTANTS=y
+CONFIG_SCSI_LOGGING=y
+CONFIG_SCSI_SCAN_ASYNC=y
+CONFIG_SCSI_UFS_QCOM=y
+CONFIG_SCSI_UFS_QCOM_ICE=y
+CONFIG_SCSI_UFSHCD=y
+CONFIG_SCSI_UFSHCD_PLATFORM=y
+CONFIG_SDCARD_FS=y
+CONFIG_SECCOMP=y
+CONFIG_SECURE_TOUCH=y
+CONFIG_SECURITY=y
+CONFIG_SECURITY_PERF_EVENTS_RESTRICT=y
+CONFIG_SECURITY_SELINUX=y
+CONFIG_SECURITY_SMACK=y
+CONFIG_SEEMP_CORE=y
+CONFIG_SENSORS_QPNP_ADC_VOLTAGE=y
+CONFIG_SENSORS_SSC=y
+CONFIG_SENSORS_TMP108=y
+CONFIG_SERIAL_MSM=y
+CONFIG_SERIAL_MSM_CONSOLE=y
+CONFIG_SERIAL_MSM_HS=y
+CONFIG_SERIAL_MSM_SMD=y
+# CONFIG_SERIO_SERPORT is not set
+CONFIG_SERVICE_FS=y
+CONFIG_SERVICEFS_USE_POISON=n
+CONFIG_SETEND_EMULATION=y
+CONFIG_SLABINFO=y
+CONFIG_SLIMBUS_MSM_NGD=y
+CONFIG_SLUB_DEBUG_ON=y
+CONFIG_SLUB_DEBUG_PANIC_ON=y
+CONFIG_SND=y
+CONFIG_SND_SOC=y
+CONFIG_SND_SOC_MSM8998=y
+# CONFIG_SND_SOC_POLARIS is not set
+CONFIG_SND_USB_AUDIO=y
+CONFIG_SND_USB_AUDIO_QMI=y
+CONFIG_SOCKEV_NLMCAST=y
+CONFIG_SOUND=y
+CONFIG_SOUNDWIRE=y
+CONFIG_SPDM_SCM=y
+CONFIG_SPI=y
+CONFIG_SPI_QUP=y
+CONFIG_SPI_SPIDEV=y
+CONFIG_SPMI=y
+CONFIG_SPS=y
+CONFIG_SPS_SUPPORT_NDP_BAM=y
+CONFIG_STAGING=y
+CONFIG_SW_SYNC_USER=y
+CONFIG_SWITCH=y
+CONFIG_SWP_EMULATION=y
+CONFIG_SYSTEM_TRUSTED_KEYRING=y
+CONFIG_SYSTEM_TRUSTED_KEYS="certs/verity.x509.pem"
+CONFIG_TASK_IO_ACCOUNTING=y
+CONFIG_TASK_XACCT=y
+CONFIG_TASKSTATS=y
+CONFIG_THERMAL_MONITOR=y
+CONFIG_THERMAL_QPNP=y
+CONFIG_THERMAL_QPNP_ADC_TM=y
+CONFIG_THERMAL_TSENS8974=y
+CONFIG_TIMER_STATS=y
+CONFIG_TMPFS=y
+CONFIG_TMPFS_POSIX_ACL=y
+#CONFIG_TOUCHSCREEN_SYNAPTICS_DSX_CORE_v21 is not set
+#CONFIG_TOUCHSCREEN_SYNAPTICS_DSX_FW_UPDATE_v21 is not set
+CONFIG_TRACER_PKT=y
+CONFIG_TUN=y
+CONFIG_UFS_FAULT_INJECTION=y
+CONFIG_UHID=y
+CONFIG_UID_CPUTIME=y
+CONFIG_UID_SYS_STATS=y
+CONFIG_UIO=y
+CONFIG_UIO_MSM_SHAREDMEM=y
+CONFIG_UNIX=y
+CONFIG_USB=y
+CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
+CONFIG_USB_BAM=y
+CONFIG_USB_CONFIGFS=y
+CONFIG_USB_CONFIGFS_F_ACC=y
+CONFIG_USB_CONFIGFS_F_AUDIO_SRC=y
+CONFIG_USB_CONFIGFS_F_CDEV=y
+CONFIG_USB_CONFIGFS_F_DIAG=y
+CONFIG_USB_CONFIGFS_F_FS=y
+CONFIG_USB_CONFIGFS_F_GSI=y
+CONFIG_USB_CONFIGFS_F_HID=y
+CONFIG_USB_CONFIGFS_F_MIDI=y
+CONFIG_USB_CONFIGFS_F_MTP=y
+CONFIG_USB_CONFIGFS_F_PTP=y
+CONFIG_USB_CONFIGFS_F_QDSS=y
+CONFIG_USB_CONFIGFS_MASS_STORAGE=y
+CONFIG_USB_CONFIGFS_NCM=y
+CONFIG_USB_CONFIGFS_UEVENT=y
+CONFIG_USB_DWC3=y
+CONFIG_USB_EHCI_HCD=y
+CONFIG_USB_EHCI_HCD_PLATFORM=y
+CONFIG_USB_GADGET=y
+CONFIG_USB_GADGET_VBUS_DRAW=500
+CONFIG_USB_ISP1760=y
+CONFIG_USB_ISP1760_HOST_ROLE=y
+CONFIG_USB_MSM_SSPHY_QMP=y
+CONFIG_USB_OHCI_HCD=y
+CONFIG_USB_OHCI_HCD_PLATFORM=y
+CONFIG_USB_OTG_WAKELOCK=y
+CONFIG_USB_PD_POLICY=y
+CONFIG_USB_SERIAL=y
+CONFIG_USB_SERIAL_FTDI_SIO=y
+CONFIG_USB_STORAGE=y
+CONFIG_USB_USBNET=y
+CONFIG_USB_XHCI_HCD=y
+CONFIG_USELIB=n
+# CONFIG_UTS_NS is not set
+CONFIG_V4L_PLATFORM_DRIVERS=y
+CONFIG_VFAT_FS=y
+CONFIG_VIDEO_ADV_DEBUG=y
+CONFIG_VIDEO_FIXED_MINOR_RANGES=y
+CONFIG_VIDEO_V4L2_SUBDEV_API=y
+# CONFIG_VT is not set
+CONFIG_WCD9335_CODEC=y
+CONFIG_WCD934X_CODEC=y
+CONFIG_WCNSS_MEM_PRE_ALLOC=y
+CONFIG_WLAN_FASTPATH=y
+CONFIG_WLAN_FEATURE_11W=y
+CONFIG_WLAN_FEATURE_LPSS=y
+CONFIG_WLAN_FEATURE_MEMDUMP=y
+CONFIG_WLAN_FEATURE_NAN_DATAPATH=y
+CONFIG_WLAN_MAC_CMDLINE=y
+CONFIG_WLAN_NAPI=y
+CONFIG_WLAN_OFFLOAD_PACKETS=y
+CONFIG_WLAN_SYNC_TSF=y
+CONFIG_WLAN_TX_FLOW_CONTROL_V2=y
+CONFIG_WQ_WATCHDOG=y
+CONFIG_X509_CERTIFICATE_PARSER=y
+CONFIG_XFRM_STATISTICS=y
+CONFIG_XFRM_USER=y
+CONFIG_XZ_DEC=y
+CONFIG_ZRAM=y
+CONFIG_ZSMALLOC=y
diff --git a/arch/arm64/configs/vega_defconfig b/arch/arm64/configs/vega_defconfig
new file mode 100644
index 0000000..b4cfefe2
--- /dev/null
+++ b/arch/arm64/configs/vega_defconfig
@@ -0,0 +1,786 @@
+CONFIG_ACCESS_RAMOOPS=y
+CONFIG_ANDROID=y
+CONFIG_ANDROID_BINDER_IPC=y
+CONFIG_ANDROID_LOW_MEMORY_KILLER=y
+CONFIG_ANDROID_TIMED_GPIO=y
+CONFIG_APSS_CORE_EA=y
+CONFIG_ARCH_QCOM=y
+CONFIG_ARM64_CRYPTO=y
+CONFIG_ARM64_PAN=y
+CONFIG_ARM64_REG_REBALANCE_ON_CTX_SW=y
+CONFIG_ARM64_SW_TTBR0_PAN=y
+CONFIG_ARM_GIC_V3_ACL=y
+CONFIG_ARM_MEMLAT_MON=y
+CONFIG_ARM_SMMU=y
+CONFIG_ARMV8_DEPRECATED=y
+CONFIG_ASHMEM=y
+CONFIG_ASYMMETRIC_KEY_TYPE=y
+CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=y
+CONFIG_ATH_CARDS=y
+CONFIG_AUDIT=y
+# CONFIG_AUDITSYSCALL is not set
+CONFIG_BATTERY_BCL=y
+# CONFIG_BLK_DEV_BSG is not set
+CONFIG_BLK_DEV_DM=y
+CONFIG_BLK_DEV_INITRD=y
+# CONFIG_BLK_DEV_IO_TRACE is not set
+CONFIG_BLK_DEV_LOOP=y
+CONFIG_BLK_DEV_MD=y
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_SIZE=8192
+CONFIG_BLK_DEV_SD=y
+CONFIG_BOARD_MSMCORTEX=n
+CONFIG_BOARD_VEGA=y
+CONFIG_BONDING=y
+CONFIG_BRIDGE=y
+CONFIG_BRIDGE_EBT_BROUTE=y
+CONFIG_BRIDGE_NF_EBTABLES=y
+CONFIG_BT=y
+CONFIG_BTFM_SLIM=y
+CONFIG_BTFM_SLIM_WCN3990=y
+CONFIG_BUILD_ARM64_APPENDED_DTB_IMAGE=y
+CONFIG_BUILD_ARM64_APPENDED_DTB_IMAGE_NAMES="lenovo/msm8998-vega-evb-p0 lenovo/msm8998-vega-evb-p1 lenovo/msm8998-vega-evb-p2"
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+CONFIG_CC_STACKPROTECTOR_REGULAR=y
+CONFIG_CC_STACKPROTECTOR_STRONG=y
+CONFIG_CC_WERROR=y
+CONFIG_CFG80211=y
+# CONFIG_CFG80211_CRDA_SUPPORT is not set
+CONFIG_CFG80211_INTERNAL_REGDB=y
+CONFIG_CGROUP_CPUACCT=y
+# CONFIG_CGROUP_DEBUG is not set
+CONFIG_CGROUP_FREEZER=y
+CONFIG_CGROUP_SCHED=y
+CONFIG_CGROUPS=y
+CONFIG_CHR_DEV_SCH=y
+CONFIG_CHR_DEV_SG=y
+CONFIG_CLD_LL_CORE=y
+# CONFIG_CLEANCACHE is not set
+CONFIG_CLS_U32_MARK=y
+CONFIG_CMA=y
+CONFIG_CMA_DEBUGFS=y
+CONFIG_COMPAT=y
+# CONFIG_COMPAT_BRK is not set
+# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
+CONFIG_CORESIGHT=y
+CONFIG_CORESIGHT_CTI=y
+CONFIG_CORESIGHT_EVENT=y
+CONFIG_CORESIGHT_HWEVENT=y
+CONFIG_CORESIGHT_LINK_AND_SINK_TMC=y
+CONFIG_CORESIGHT_QCOM_REPLICATOR=y
+CONFIG_CORESIGHT_QPDI=y
+# CONFIG_CORESIGHT_REMOTE_ETM is not set
+# CONFIG_CORESIGHT_REMOTE_ETM_DEFAULT_ENABLE is not set
+CONFIG_CORESIGHT_SOURCE_DUMMY=y
+# CONFIG_CORESIGHT_SOURCE_ETM4X is not set
+CONFIG_CORESIGHT_STM=y
+CONFIG_CORESIGHT_TPDA=y
+CONFIG_CORESIGHT_TPDM=y
+CONFIG_CP15_BARRIER_EMULATION=y
+CONFIG_CPU_FREQ=y
+CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
+CONFIG_CPU_FREQ_GOV_INTERACTIVE=y
+CONFIG_CPU_FREQ_GOV_ONDEMAND=y
+CONFIG_CPU_FREQ_GOV_POWERSAVE=y
+CONFIG_CPU_FREQ_GOV_USERSPACE=y
+CONFIG_CPU_FREQ_STAT=y
+# CONFIG_CPU_FREQ_SWITCH_PROFILER is not set
+CONFIG_CPU_THERMAL=y
+CONFIG_CPUSETS=y
+CONFIG_CRYPTO_AES_ARM64_CE_BLK=y
+CONFIG_CRYPTO_AES_ARM64_CE_CCM=y
+CONFIG_CRYPTO_AES_ARM64_NEON_BLK=y
+CONFIG_CRYPTO_ANSI_CPRNG=y
+CONFIG_CRYPTO_CRC32_ARM64=y
+CONFIG_CRYPTO_DEV_OTA_CRYPTO=y
+CONFIG_CRYPTO_DEV_QCE=y
+CONFIG_CRYPTO_DEV_QCEDEV=y
+CONFIG_CRYPTO_DEV_QCOM_ICE=y
+CONFIG_CRYPTO_DEV_QCOM_MSM_QCE=y
+CONFIG_CRYPTO_DEV_QCRYPTO=y
+CONFIG_CRYPTO_ECHAINIV=y
+CONFIG_CRYPTO_GCM=y
+CONFIG_CRYPTO_GHASH_ARM64_CE=y
+CONFIG_CRYPTO_MD4=y
+CONFIG_CRYPTO_SHA1_ARM64_CE=y
+CONFIG_CRYPTO_SHA2_ARM64_CE=y
+CONFIG_CRYPTO_SHA512=y
+CONFIG_CRYPTO_TWOFISH=y
+CONFIG_CRYPTO_XCBC=y
+CONFIG_DEBUG_ALIGN_RODATA=y
+# CONFIG_DEBUG_ATOMIC_SLEEP is not set
+CONFIG_DEBUG_INFO=y
+# CONFIG_DEBUG_KMEMLEAK is not set
+# CONFIG_DEBUG_KMEMLEAK_DEFAULT_OFF is not set
+# CONFIG_DEBUG_KMEMLEAK_EARLY_LOG_SIZE is not set
+# CONFIG_DEBUG_LIST is not set
+# CONFIG_DEBUG_MEMORY_INIT is not set
+# CONFIG_DEBUG_MUTEXES is not set
+# CONFIG_DEBUG_OBJECTS is not set
+# CONFIG_DEBUG_OBJECTS_FREE is not set
+# CONFIG_DEBUG_OBJECTS_PERCPU_COUNTER is not set
+# CONFIG_DEBUG_OBJECTS_RCU_HEAD is not set
+# CONFIG_DEBUG_OBJECTS_TIMERS is not set
+# CONFIG_DEBUG_OBJECTS_WORK is not set
+# CONFIG_DEBUG_PAGEALLOC_ENABLE_DEFAULT is not set
+# CONFIG_DEBUG_PREEMPT is not set
+CONFIG_DEBUG_RODATA=y
+# CONFIG_DEBUG_SET_MODULE_RONX is not set
+# CONFIG_DEBUG_SPINLOCK is not set
+# CONFIG_DEBUG_STACK_USAGE is not set
+CONFIG_DEVFREQ_GOV_MEMLAT=y
+CONFIG_DEVFREQ_GOV_QCOM_BW_HWMON=y
+CONFIG_DEVFREQ_SPDM=y
+# CONFIG_DEVKMEM is not set
+# CONFIG_DEVMEM is not set
+# CONFIG_DEVPORT is not set
+CONFIG_DIAG_CHAR=y
+CONFIG_DM_ANDROID_VERITY=y
+CONFIG_DM_CRYPT=y
+CONFIG_DM_REQ_CRYPT=y
+CONFIG_DM_UEVENT=y
+CONFIG_DM_VERITY=y
+CONFIG_DM_VERITY_FEC=y
+CONFIG_DMA_CMA=y
+CONFIG_DMADEVICES=y
+CONFIG_DNS_RESOLVER=y
+CONFIG_DRAGONRISE_FF=y
+CONFIG_DUAL_ROLE_USB_INTF=y
+CONFIG_DUMMY=y
+CONFIG_DYNAMIC_DEBUG=y
+CONFIG_ECRYPT_FS=y
+CONFIG_ECRYPT_FS_MESSAGING=y
+CONFIG_EDAC=y
+# CONFIG_EDAC_CORTEX_ARM64 is not set
+# CONFIG_EDAC_CORTEX_ARM64_PANIC_ON_UE is not set
+# CONFIG_EDAC_MM_EDAC is not set
+CONFIG_EFIVAR_FS=y
+CONFIG_EMBEDDED=y
+CONFIG_EXFAT_FS=y
+CONFIG_EXT2_FS=y
+CONFIG_EXT2_FS_XATTR=y
+CONFIG_EXT3_FS=y
+CONFIG_EXT4_ENCRYPTION=y
+CONFIG_EXT4_FS=y
+CONFIG_EXT4_FS_ENCRYPTION=y
+CONFIG_EXT4_FS_ICE_ENCRYPTION=y
+CONFIG_EXT4_FS_SECURITY=y
+CONFIG_EXTCON=y
+# CONFIG_FAIL_PAGE_ALLOC is not set
+# CONFIG_FAULT_INJECTION is not set
+# CONFIG_FAULT_INJECTION_DEBUG_FS is not set
+# CONFIG_FAULT_INJECTION_STACKTRACE_FILTER is not set
+CONFIG_FB=y
+CONFIG_FB_MSM=y
+CONFIG_FB_MSM_MDSS=y
+CONFIG_FB_MSM_MDSS_DP_PANEL=y
+CONFIG_FB_MSM_MDSS_HDMI_PANEL=y
+CONFIG_FB_MSM_MDSS_WRITEBACK=y
+CONFIG_FB_MSM_MDSS_XLOG_DEBUG=y
+CONFIG_FB_VIRTUAL=y
+CONFIG_FG_DC_BATT_ID=n
+CONFIG_FREE_PAGES_RDONLY=y
+# CONFIG_FUNCTION_TRACER is not set
+CONFIG_FUSE_FS=y
+CONFIG_FW_LOADER_USER_HELPER_FALLBACK=y
+CONFIG_GC0339=y
+CONFIG_GPIO_QPNP_PIN=y
+CONFIG_GPIO_SYSFS=y
+CONFIG_GPIO_USB_DETECT=y
+CONFIG_GPIOLIB=y
+CONFIG_GSI=y
+CONFIG_HARDENED_USERCOPY=y
+CONFIG_HDCP_QSEECOM=y
+CONFIG_HID_APPLE=y
+CONFIG_HID_DRAGONRISE=y
+CONFIG_HID_ELECOM=y
+CONFIG_HID_EZKEY=y
+CONFIG_HID_GYRATION=y
+CONFIG_HID_KENSINGTON=y
+CONFIG_HID_KEYTOUCH=y
+CONFIG_HID_KYE=y
+CONFIG_HID_LCPOWER=y
+CONFIG_HID_LOGITECH=y
+CONFIG_HID_LOGITECH_DJ=y
+CONFIG_HID_MAGICMOUSE=y
+CONFIG_HID_MICROSOFT=y
+CONFIG_HID_MULTITOUCH=y
+CONFIG_HID_NTRIG=y
+CONFIG_HID_PLANTRONICS=y
+CONFIG_HID_ROCCAT=y
+CONFIG_HID_SAITEK=y
+CONFIG_HID_SAMSUNG=y
+CONFIG_HID_SONY=y
+CONFIG_HID_SPEEDLINK=y
+CONFIG_HID_THRUSTMASTER=y
+CONFIG_HID_WACOM=y
+CONFIG_HID_WIIMOTE=y
+CONFIG_HIDRAW=y
+CONFIG_HIGH_RES_TIMERS=y
+CONFIG_HW_RANDOM=y
+CONFIG_HW_RANDOM_MSM_LEGACY=y
+CONFIG_HZ_300=y
+CONFIG_I2C_CHARDEV=y
+CONFIG_I2C_MSM_V2=y
+CONFIG_ICNSS=y
+CONFIG_ICNSS_DEBUG=y
+CONFIG_IIO=y
+CONFIG_IKCONFIG=y
+CONFIG_IKCONFIG_PROC=y
+CONFIG_IMX132=y
+CONFIG_IMX134=y
+CONFIG_INET=y
+CONFIG_INET6_AH=y
+CONFIG_INET6_ESP=y
+CONFIG_INET6_IPCOMP=y
+CONFIG_INET_AH=y
+CONFIG_INET_DIAG_DESTROY=y
+CONFIG_INET_ESP=y
+CONFIG_INET_IPCOMP=y
+CONFIG_INET_LRO=n
+CONFIG_INPUT_EVDEV=y
+CONFIG_INPUT_GPIO=y
+CONFIG_INPUT_HBTP_INPUT=y
+CONFIG_INPUT_JOYSTICK=y
+CONFIG_INPUT_KEYCHORD=y
+CONFIG_INPUT_KEYRESET=y
+CONFIG_INPUT_MISC=y
+# CONFIG_INPUT_MOUSE is not set
+CONFIG_INPUT_QPNP_POWER_ON=y
+CONFIG_INPUT_TOUCHSCREEN=y
+CONFIG_INPUT_UINPUT=y
+CONFIG_IOMMU_DEBUG=y
+CONFIG_IOMMU_DEBUG_TRACKING=y
+CONFIG_IOMMU_IO_PGTABLE_FAST=y
+# CONFIG_IOMMU_IO_PGTABLE_FAST_SELFTEST is not set
+CONFIG_IOMMU_TESTS=y
+CONFIG_ION=y
+CONFIG_ION_MSM=y
+# CONFIG_IOSCHED_DEADLINE is not set
+CONFIG_IP6_NF_FILTER=y
+CONFIG_IP6_NF_IPTABLES=y
+CONFIG_IP6_NF_MANGLE=y
+CONFIG_IP6_NF_RAW=y
+CONFIG_IP6_NF_TARGET_REJECT=y
+CONFIG_IP_ADVANCED_ROUTER=y
+CONFIG_IP_MULTICAST=y
+CONFIG_IP_MULTIPLE_TABLES=y
+CONFIG_IP_NF_ARP_MANGLE=y
+CONFIG_IP_NF_ARPFILTER=y
+CONFIG_IP_NF_ARPTABLES=y
+CONFIG_IP_NF_FILTER=y
+CONFIG_IP_NF_IPTABLES=y
+CONFIG_IP_NF_MANGLE=y
+CONFIG_IP_NF_MATCH_AH=y
+CONFIG_IP_NF_MATCH_ECN=y
+CONFIG_IP_NF_MATCH_TTL=y
+CONFIG_IP_NF_NAT=y
+CONFIG_IP_NF_RAW=y
+CONFIG_IP_NF_SECURITY=y
+CONFIG_IP_NF_TARGET_MASQUERADE=y
+CONFIG_IP_NF_TARGET_NETMAP=y
+CONFIG_IP_NF_TARGET_REDIRECT=y
+CONFIG_IP_NF_TARGET_REJECT=y
+CONFIG_IP_PNP=y
+CONFIG_IP_PNP_DHCP=y
+CONFIG_IP_ROUTE_VERBOSE=y
+CONFIG_IPA=y
+CONFIG_IPA3=y
+CONFIG_IPC_LOGGING=y
+CONFIG_IPC_ROUTER=y
+CONFIG_IPC_ROUTER_SECURITY=y
+CONFIG_IPV6_MIP6=y
+CONFIG_IPV6_MULTIPLE_TABLES=y
+CONFIG_IPV6_OPTIMISTIC_DAD=y
+CONFIG_IPV6_ROUTE_INFO=y
+CONFIG_IPV6_ROUTER_PREF=y
+CONFIG_IPV6_SUBTREES=y
+CONFIG_IRQ_TIME_ACCOUNTING=y
+# CONFIG_IRQSOFF_TRACER is not set
+CONFIG_JOYSTICK_XPAD=y
+CONFIG_JOYSTICK_XPAD_FF=y
+CONFIG_JOYSTICK_XPAD_LEDS=y
+CONFIG_KALLSYMS_ALL=y
+CONFIG_KEYBOARD_GPIO=y
+CONFIG_KEYS=y
+CONFIG_L2TP=y
+# CONFIG_L2TP_DEBUGFS is not set
+CONFIG_L2TP_ETH=y
+CONFIG_L2TP_IP=y
+CONFIG_L2TP_V3=y
+CONFIG_LEDS_QPNP=y
+CONFIG_LEDS_QPNP_FLASH_V2=y
+CONFIG_LEDS_QPNP_WLED=y
+CONFIG_LEDS_SYSCON=y
+# CONFIG_LEDS_TRIGGER_CPU is not set
+# CONFIG_LEDS_TRIGGER_HEARTBEAT is not set
+CONFIG_LEDS_TRIGGERS=y
+# CONFIG_LEGACY_PTYS is not set
+CONFIG_LFR_SUBNET_DETECTION=y
+CONFIG_LIMITS_LITE_HW=y
+CONFIG_LIMITS_MONITOR=y
+CONFIG_LOCALVERSION_AUTO=y
+# CONFIG_LOCKUP_DETECTOR is not set
+CONFIG_LOG_CPU_MAX_BUF_SHIFT=17
+CONFIG_LOGIG940_FF=y
+CONFIG_LOGIRUMBLEPAD2_FF=y
+CONFIG_LOGITECH_FF=y
+CONFIG_LOGO=y
+# CONFIG_LOGO_LINUX_MONO is not set
+# CONFIG_LOGO_LINUX_VGA16 is not set
+CONFIG_MAGIC_SYSRQ=y
+CONFIG_MCC_TO_SCC_SWITCH=y
+CONFIG_MD=y
+CONFIG_MD_LINEAR=y
+CONFIG_MEDIA_CAMERA_SUPPORT=y
+CONFIG_MEDIA_CONTROLLER=y
+CONFIG_MEDIA_SUPPORT=y
+CONFIG_MEM_SHARE_QMI_SERVICE=y
+# CONFIG_MEMBARRIER is not set
+CONFIG_MEMORY_STATE_TIME=y
+# CONFIG_MEMTEST is not set
+CONFIG_MFD_I2C_PMIC=y
+CONFIG_MFD_SPMI_PMIC=y
+CONFIG_MMC=y
+CONFIG_MMC_BLOCK_DEFERRED_RESUME=y
+CONFIG_MMC_BLOCK_MINORS=32
+CONFIG_MMC_CLKGATE=y
+# CONFIG_MMC_PARANOID_SD_INIT is not set
+CONFIG_MMC_PERF_PROFILING=y
+CONFIG_MMC_SDHCI=y
+CONFIG_MMC_SDHCI_MSM=y
+CONFIG_MMC_SDHCI_PLTFM=y
+CONFIG_MMC_TEST=y
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+CONFIG_MODVERSIONS=y
+# CONFIG_MPC_UT_FRAMEWORK is not set
+CONFIG_MSDOS_FS=y
+CONFIG_MSM_ADSP_LOADER=y
+CONFIG_MSM_ADSPRPC=y
+CONFIG_MSM_APM=y
+CONFIG_MSM_AVTIMER=y
+CONFIG_MSM_BCL_CTL=y
+CONFIG_MSM_BCL_PERIPHERAL_CTL=y
+CONFIG_MSM_BOOT_STATS=y
+CONFIG_MSM_BT_POWER=y
+CONFIG_MSM_CAMERA=y
+CONFIG_MSM_CAMERA_DEBUG=y
+CONFIG_MSM_CAMERA_SENSOR=y
+CONFIG_MSM_CCI=y
+# CONFIG_MSM_CORE_HANG_DETECT is not set
+CONFIG_MSM_CPP=y
+CONFIG_MSM_CSI20_HEADER=y
+CONFIG_MSM_CSI22_HEADER=y
+CONFIG_MSM_CSI30_HEADER=y
+CONFIG_MSM_CSI31_HEADER=y
+CONFIG_MSM_CSID=y
+CONFIG_MSM_CSIPHY=y
+CONFIG_MSM_EEPROM=y
+CONFIG_MSM_EVENT_TIMER=y
+CONFIG_MSM_FD=y
+# CONFIG_MSM_GLADIATOR_ERP_V2 is not set
+# CONFIG_MSM_GLADIATOR_HANG_DETECT is not set
+CONFIG_MSM_GLINK=y
+CONFIG_MSM_GLINK_LOOPBACK_SERVER=y
+CONFIG_MSM_GLINK_PKT=y
+CONFIG_MSM_GLINK_SMD_XPRT=y
+CONFIG_MSM_GLINK_SMEM_NATIVE_XPRT=y
+CONFIG_MSM_GLINK_SPI_XPRT=y
+CONFIG_MSM_IPC_ROUTER_GLINK_XPRT=y
+CONFIG_MSM_IPC_ROUTER_SMD_XPRT=y
+CONFIG_MSM_ISPIF=y
+CONFIG_MSM_JPEGDMA=y
+CONFIG_MSM_MDSS_PLL=y
+CONFIG_MSM_MPM_OF=y
+CONFIG_MSM_PERFORMANCE=y
+CONFIG_MSM_PIL=y
+CONFIG_MSM_PIL_MSS_QDSP6V5=y
+CONFIG_MSM_PIL_SSR_GENERIC=y
+CONFIG_MSM_PM=y
+CONFIG_MSM_QMI_INTERFACE=y
+CONFIG_MSM_QUSB_PHY=y
+CONFIG_MSM_RPM_LOG=y
+CONFIG_MSM_RPM_RBCPR_STATS_V2_LOG=y
+CONFIG_MSM_RPM_SMD=y
+CONFIG_MSM_RPM_STATS_LOG=y
+CONFIG_MSM_RUN_QUEUE_STATS=y
+CONFIG_MSM_SDE_ROTATOR=y
+CONFIG_MSM_SDE_ROTATOR_EVTLOG_DEBUG=y
+CONFIG_MSM_SERVICE_LOCATOR=y
+CONFIG_MSM_SERVICE_NOTIFIER=y
+CONFIG_MSM_SMD=y
+# CONFIG_MSM_SMD_DEBUG is not set
+CONFIG_MSM_SMEM=y
+CONFIG_MSM_SMEM_LOGGING=y
+CONFIG_MSM_SMP2P=y
+CONFIG_MSM_SMP2P_TEST=y
+CONFIG_MSM_SPCOM=y
+CONFIG_MSM_SPM=y
+CONFIG_MSM_SPSS_UTILS=y
+CONFIG_MSM_SUBSYSTEM_RESTART=y
+CONFIG_MSM_SYSMON_GLINK_COMM=y
+CONFIG_MSM_TIMER_LEAP=y
+CONFIG_MSM_TZ_LOG=y
+CONFIG_MSM_V4L2_VIDEO_OVERLAY_DEVICE=y
+CONFIG_MSM_VIDC_GOVERNORS=y
+CONFIG_MSM_VIDC_V4L2=y
+CONFIG_MSM_VIDC_VMEM=y
+CONFIG_MSMB_CAMERA=y
+CONFIG_MSMB_CAMERA_DEBUG=y
+CONFIG_MSMB_JPEG=y
+CONFIG_NAMESPACES=y
+CONFIG_NET=y
+CONFIG_NET_ACT_GACT=y
+CONFIG_NET_ACT_MIRRED=y
+CONFIG_NET_ACT_SKBEDIT=y
+CONFIG_NET_CLS_ACT=y
+CONFIG_NET_CLS_FLOW=y
+CONFIG_NET_CLS_FW=y
+CONFIG_NET_CLS_U32=y
+CONFIG_NET_EMATCH=y
+CONFIG_NET_EMATCH_CMP=y
+CONFIG_NET_EMATCH_META=y
+CONFIG_NET_EMATCH_NBYTE=y
+CONFIG_NET_EMATCH_TEXT=y
+CONFIG_NET_EMATCH_U32=y
+CONFIG_NET_KEY=y
+CONFIG_NET_SCH_HTB=y
+CONFIG_NET_SCH_INGRESS=y
+CONFIG_NET_SCH_MULTIQ=y
+CONFIG_NET_SCH_PRIO=y
+CONFIG_NET_SCHED=y
+CONFIG_NETDEVICES=y
+CONFIG_NETFILTER=y
+CONFIG_NETFILTER_XT_MATCH_COMMENT=y
+CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=y
+CONFIG_NETFILTER_XT_MATCH_CONNMARK=y
+CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y
+CONFIG_NETFILTER_XT_MATCH_DSCP=y
+CONFIG_NETFILTER_XT_MATCH_ESP=y
+CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=y
+CONFIG_NETFILTER_XT_MATCH_HELPER=y
+CONFIG_NETFILTER_XT_MATCH_IPRANGE=y
+# CONFIG_NETFILTER_XT_MATCH_L2TP is not set
+CONFIG_NETFILTER_XT_MATCH_LENGTH=y
+CONFIG_NETFILTER_XT_MATCH_LIMIT=y
+CONFIG_NETFILTER_XT_MATCH_MAC=y
+CONFIG_NETFILTER_XT_MATCH_MARK=y
+CONFIG_NETFILTER_XT_MATCH_MULTIPORT=y
+CONFIG_NETFILTER_XT_MATCH_PKTTYPE=y
+CONFIG_NETFILTER_XT_MATCH_POLICY=y
+CONFIG_NETFILTER_XT_MATCH_QTAGUID=y
+CONFIG_NETFILTER_XT_MATCH_QUOTA=y
+CONFIG_NETFILTER_XT_MATCH_QUOTA2=y
+CONFIG_NETFILTER_XT_MATCH_SOCKET=y
+CONFIG_NETFILTER_XT_MATCH_STATE=y
+CONFIG_NETFILTER_XT_MATCH_STATISTIC=y
+CONFIG_NETFILTER_XT_MATCH_STRING=y
+CONFIG_NETFILTER_XT_MATCH_TIME=y
+CONFIG_NETFILTER_XT_MATCH_U32=y
+CONFIG_NETFILTER_XT_TARGET_CLASSIFY=y
+CONFIG_NETFILTER_XT_TARGET_CONNMARK=y
+CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=y
+CONFIG_NETFILTER_XT_TARGET_HARDIDLETIMER=y
+CONFIG_NETFILTER_XT_TARGET_IDLETIMER=y
+CONFIG_NETFILTER_XT_TARGET_LOG=y
+CONFIG_NETFILTER_XT_TARGET_MARK=y
+CONFIG_NETFILTER_XT_TARGET_NFLOG=y
+CONFIG_NETFILTER_XT_TARGET_NFQUEUE=y
+CONFIG_NETFILTER_XT_TARGET_NOTRACK=y
+CONFIG_NETFILTER_XT_TARGET_SECMARK=y
+CONFIG_NETFILTER_XT_TARGET_TCPMSS=y
+CONFIG_NETFILTER_XT_TARGET_TEE=y
+CONFIG_NETFILTER_XT_TARGET_TPROXY=y
+CONFIG_NETFILTER_XT_TARGET_TRACE=y
+# CONFIG_NETWORK_FILESYSTEMS is not set
+CONFIG_NF_CONNTRACK=y
+CONFIG_NF_CONNTRACK_AMANDA=y
+CONFIG_NF_CONNTRACK_EVENTS=y
+CONFIG_NF_CONNTRACK_FTP=y
+CONFIG_NF_CONNTRACK_H323=y
+CONFIG_NF_CONNTRACK_IPV4=y
+CONFIG_NF_CONNTRACK_IPV6=y
+CONFIG_NF_CONNTRACK_IRC=y
+CONFIG_NF_CONNTRACK_NETBIOS_NS=y
+CONFIG_NF_CONNTRACK_PPTP=y
+CONFIG_NF_CONNTRACK_SANE=y
+CONFIG_NF_CONNTRACK_SECMARK=y
+CONFIG_NF_CONNTRACK_TFTP=y
+CONFIG_NF_CT_NETLINK=y
+CONFIG_NF_CT_PROTO_DCCP=y
+CONFIG_NF_CT_PROTO_SCTP=y
+CONFIG_NF_CT_PROTO_UDPLITE=y
+CONFIG_NFC_NQ=y
+CONFIG_NLS_CODEPAGE_437=y
+CONFIG_NLS_ISO8859_1=y
+CONFIG_NLS_UTF8=y
+CONFIG_NO_HZ=y
+CONFIG_NOP_USB_XCEIV=y
+CONFIG_NR_CPUS=8
+CONFIG_OV12830=y
+CONFIG_OV5648=y
+CONFIG_OV8825=y
+CONFIG_OV8865=y
+CONFIG_OV9724=y
+CONFIG_PACKET=y
+# CONFIG_PAGE_OWNER is not set
+# CONFIG_PAGE_OWNER_ENABLE_DEFAULT is not set
+# CONFIG_PANIC_ON_DATA_CORRUPTION is not set
+# CONFIG_PANIC_ON_GLADIATOR_ERROR_V2 is not set
+# CONFIG_PANIC_ON_RT_THROTTLING is not set
+# CONFIG_PANIC_ON_SCHED_BUG is not set
+CONFIG_PANIC_TIMEOUT=1
+CONFIG_PARTITION_ADVANCED=y
+CONFIG_PCI=y
+CONFIG_PCI_MSM=y
+CONFIG_PFK=y
+CONFIG_PHY_XGENE=y
+CONFIG_PHYLIB=y
+# CONFIG_PID_IN_CONTEXTIDR is not set
+# CONFIG_PID_NS is not set
+CONFIG_PINCTRL_MSM8998=y
+CONFIG_PINCTRL_MSMFALCON=n
+CONFIG_PM_AUTOSLEEP=y
+# CONFIG_PM_DEBUG is not set
+CONFIG_PM_WAKELOCKS=y
+# CONFIG_PM_WAKELOCKS_GC is not set
+CONFIG_PM_WAKELOCKS_LIMIT=0
+CONFIG_POWER_RESET_QCOM=y
+CONFIG_POWER_RESET_SYSCON=y
+CONFIG_POWER_RESET_XGENE=y
+CONFIG_POWER_SUPPLY=y
+CONFIG_PPP=y
+CONFIG_PPP_BSDCOMP=y
+CONFIG_PPP_DEFLATE=y
+CONFIG_PPP_MPPE=y
+CONFIG_PPPOLAC=y
+CONFIG_PPPOPNS=y
+CONFIG_PREEMPT=y
+# CONFIG_PREEMPT_TRACER is not set
+CONFIG_PRIMA_WLAN_11AC_HIGH_TP=y
+CONFIG_PRIMA_WLAN_OKC=y
+CONFIG_PRINTK_TIME=y
+CONFIG_PROFILING=y
+CONFIG_PSTORE=y
+CONFIG_PSTORE_CONSOLE=y
+CONFIG_PSTORE_PMSG=y
+CONFIG_PSTORE_RAM=y
+CONFIG_PUBLIC_KEY_ALGO_RSA=y
+CONFIG_PWM=y
+CONFIG_PWM_QPNP=y
+CONFIG_QCA_CLD_WLAN=y
+CONFIG_QCACLD_FEATURE_NAN=y
+CONFIG_QCACLD_WLAN_LFR2=y
+CONFIG_QCACLD_WLAN_LFR3=y
+CONFIG_QCOM_BIMC_BWMON=y
+CONFIG_QCOM_BUS_SCALING=y
+# CONFIG_QCOM_COMMON_LOG is not set
+# CONFIG_QCOM_CPUSS_DUMP is not set
+# CONFIG_QCOM_DCC is not set
+CONFIG_QCOM_DEVFREQ_DEVBW=y
+CONFIG_QCOM_DLOAD_MODE=y
+CONFIG_QCOM_FORCE_WDOG_BITE_ON_PANIC=y
+CONFIG_QCOM_IRQ_HELPER=y
+CONFIG_QCOM_KGSL=y
+CONFIG_QCOM_LTE_COEX=y
+CONFIG_QCOM_MEMORY_DUMP_V2=y
+CONFIG_QCOM_REMOTEQDSS=y
+CONFIG_QCOM_RRADC=y
+# CONFIG_QCOM_RTB is not set
+# CONFIG_QCOM_RTB_SEPARATE_CPUS is not set
+CONFIG_QCOM_SCM=y
+CONFIG_QCOM_SMCINVOKE=y
+CONFIG_QCOM_SPS_DMA=y
+CONFIG_QCOM_TADC=y
+CONFIG_QCOM_TDLS=y
+CONFIG_QCOM_THERMAL_LIMITS_DCVS=y
+CONFIG_QCOM_VOWIFI_11R=y
+CONFIG_QCOM_WATCHDOG_V2=y
+CONFIG_QFMT_V2=y
+CONFIG_QMI_ENCDEC=y
+CONFIG_QPNP_COINCELL=y
+CONFIG_QPNP_FG_GEN3=y
+CONFIG_QPNP_HAPTIC=y
+CONFIG_QPNP_QNOVO=y
+CONFIG_QPNP_REVID=y
+CONFIG_QPNP_SMB2=y
+CONFIG_QPNP_USB_PDPHY=y
+CONFIG_QSEE_IPC_IRQ_BRIDGE=y
+CONFIG_QSEECOM=y
+CONFIG_QUOTA=y
+CONFIG_QUOTA_NETLINK_INTERFACE=y
+CONFIG_RANDOMIZE_BASE=y
+CONFIG_RCU_EXPERT=y
+CONFIG_RCU_STALL_WATCHDOG_BITE=y
+# CONFIG_RD_LZ4 is not set
+# CONFIG_RD_LZO is not set
+# CONFIG_RD_XZ is not set
+CONFIG_REGULATOR=y
+CONFIG_REGULATOR_CPR3_HMSS=y
+CONFIG_REGULATOR_CPR3_MMSS=y
+CONFIG_REGULATOR_CPRH_KBSS=y
+CONFIG_REGULATOR_FIXED_VOLTAGE=y
+CONFIG_REGULATOR_MEM_ACC=y
+CONFIG_REGULATOR_PROXY_CONSUMER=y
+CONFIG_REGULATOR_QPNP=y
+CONFIG_REGULATOR_QPNP_LABIBB=y
+CONFIG_REGULATOR_RPM_SMD=y
+CONFIG_REGULATOR_SPM=y
+CONFIG_REGULATOR_STUB=y
+CONFIG_REMOTE_SPINLOCK_MSM=y
+CONFIG_RFKILL=y
+CONFIG_RMNET_DATA=y
+CONFIG_RMNET_DATA_DEBUG_PKT=y
+CONFIG_RMNET_DATA_FC=y
+CONFIG_RMNET_IPA=y
+CONFIG_RMNET_IPA3=y
+CONFIG_RNDIS_IPA=y
+CONFIG_RT_GROUP_SCHED=y
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_DRV_QPNP=y
+CONFIG_s5k4e1=y
+CONFIG_SCHED_CORE_CTL=y
+CONFIG_SCHED_HMP=y
+CONFIG_SCHED_HMP_CSTATE_AWARE=y
+CONFIG_SCHED_MC=y
+# CONFIG_SCHED_STACK_END_CHECK is not set
+CONFIG_SCHEDSTATS=y
+CONFIG_SCSI=y
+CONFIG_SCSI_CONSTANTS=y
+CONFIG_SCSI_LOGGING=y
+CONFIG_SCSI_SCAN_ASYNC=y
+CONFIG_SCSI_UFS_QCOM=y
+CONFIG_SCSI_UFS_QCOM_ICE=y
+CONFIG_SCSI_UFSHCD=y
+CONFIG_SCSI_UFSHCD_PLATFORM=y
+CONFIG_SDCARD_FS=y
+CONFIG_SECCOMP=y
+CONFIG_SECURE_TOUCH=y
+CONFIG_SECURITY=y
+CONFIG_SECURITY_PERF_EVENTS_RESTRICT=y
+CONFIG_SECURITY_SELINUX=y
+CONFIG_SECURITY_SMACK=y
+CONFIG_SEEMP_CORE=y
+CONFIG_SENSORS_QPNP_ADC_VOLTAGE=y
+CONFIG_SENSORS_SSC=y
+CONFIG_SENSORS_TMP108=y
+CONFIG_SERIAL_MSM=y
+CONFIG_SERIAL_MSM_CONSOLE=y
+CONFIG_SERIAL_MSM_HS=y
+CONFIG_SERIAL_MSM_SMD=y
+# CONFIG_SERIO_SERPORT is not set
+CONFIG_SERVICE_FS=y
+CONFIG_SERVICEFS_USE_POISON=n
+CONFIG_SETEND_EMULATION=y
+CONFIG_SLABINFO=y
+CONFIG_SLIMBUS_MSM_NGD=y
+# CONFIG_SLUB_DEBUG_ON is not set
+# CONFIG_SLUB_DEBUG_PANIC_ON is not set
+CONFIG_SND=y
+CONFIG_SND_SOC=y
+CONFIG_SND_SOC_MSM8998=y
+# CONFIG_SND_SOC_POLARIS is not set
+CONFIG_SND_USB_AUDIO=y
+CONFIG_SND_USB_AUDIO_QMI=y
+CONFIG_SOCKEV_NLMCAST=y
+CONFIG_SOUND=y
+CONFIG_SOUNDWIRE=y
+CONFIG_SPDM_SCM=y
+CONFIG_SPI=y
+CONFIG_SPI_QUP=y
+CONFIG_SPI_SPIDEV=y
+CONFIG_SPMI=y
+CONFIG_SPS=y
+CONFIG_SPS_SUPPORT_NDP_BAM=y
+CONFIG_STAGING=y
+CONFIG_SW_SYNC_USER=y
+CONFIG_SWITCH=y
+CONFIG_SWP_EMULATION=y
+CONFIG_SYSTEM_TRUSTED_KEYRING=y
+CONFIG_SYSTEM_TRUSTED_KEYS="certs/verity.x509.pem"
+CONFIG_TASK_IO_ACCOUNTING=y
+CONFIG_TASK_XACCT=y
+CONFIG_TASKSTATS=y
+CONFIG_THERMAL_MONITOR=y
+CONFIG_THERMAL_QPNP=y
+CONFIG_THERMAL_QPNP_ADC_TM=y
+CONFIG_THERMAL_TSENS8974=y
+CONFIG_TIMER_STATS=y
+CONFIG_TMPFS=y
+CONFIG_TMPFS_POSIX_ACL=y
+#CONFIG_TOUCHSCREEN_SYNAPTICS_DSX_CORE_v21 is not set
+#CONFIG_TOUCHSCREEN_SYNAPTICS_DSX_FW_UPDATE_v21 is not set
+CONFIG_TRACER_PKT=y
+CONFIG_TUN=y
+# CONFIG_UFS_FAULT_INJECTION is not set
+CONFIG_UHID=y
+CONFIG_UID_CPUTIME=y
+CONFIG_UID_SYS_STATS=y
+CONFIG_UIO=y
+CONFIG_UIO_MSM_SHAREDMEM=y
+CONFIG_UNIX=y
+CONFIG_USB=y
+CONFIG_USB_ACM=y
+CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
+CONFIG_USB_BAM=y
+CONFIG_USB_CONFIGFS=y
+CONFIG_USB_CONFIGFS_F_ACC=y
+CONFIG_USB_CONFIGFS_F_AUDIO_SRC=y
+CONFIG_USB_CONFIGFS_F_CDEV=y
+CONFIG_USB_CONFIGFS_F_DIAG=y
+CONFIG_USB_CONFIGFS_F_FS=y
+CONFIG_USB_CONFIGFS_F_GSI=y
+CONFIG_USB_CONFIGFS_F_HID=y
+CONFIG_USB_CONFIGFS_F_MIDI=y
+CONFIG_USB_CONFIGFS_F_MTP=y
+CONFIG_USB_CONFIGFS_F_PTP=y
+CONFIG_USB_CONFIGFS_F_QDSS=y
+CONFIG_USB_CONFIGFS_MASS_STORAGE=y
+CONFIG_USB_CONFIGFS_NCM=y
+CONFIG_USB_CONFIGFS_UEVENT=y
+CONFIG_USB_DWC3=y
+CONFIG_USB_EHCI_HCD=y
+CONFIG_USB_EHCI_HCD_PLATFORM=y
+CONFIG_USB_GADGET=y
+CONFIG_USB_GADGET_VBUS_DRAW=500
+CONFIG_USB_ISP1760=y
+CONFIG_USB_ISP1760_HOST_ROLE=y
+CONFIG_USB_MSM_SSPHY_QMP=y
+CONFIG_USB_OHCI_HCD=y
+CONFIG_USB_OHCI_HCD_PLATFORM=y
+CONFIG_USB_OTG_WAKELOCK=y
+CONFIG_USB_PD_POLICY=y
+CONFIG_USB_SERIAL=y
+CONFIG_USB_SERIAL_FTDI_SIO=y
+CONFIG_USB_STORAGE=y
+CONFIG_USB_USBNET=y
+CONFIG_USB_XHCI_HCD=y
+CONFIG_USELIB=n
+# CONFIG_UTS_NS is not set
+CONFIG_V4L_PLATFORM_DRIVERS=y
+CONFIG_VFAT_FS=y
+CONFIG_VIDEO_ADV_DEBUG=y
+CONFIG_VIDEO_FIXED_MINOR_RANGES=y
+CONFIG_VIDEO_V4L2_SUBDEV_API=y
+# CONFIG_VT is not set
+CONFIG_WCD9335_CODEC=y
+CONFIG_WCD934X_CODEC=y
+CONFIG_WCNSS_MEM_PRE_ALLOC=y
+CONFIG_WLAN_FASTPATH=y
+CONFIG_WLAN_FEATURE_11W=y
+CONFIG_WLAN_FEATURE_LPSS=y
+CONFIG_WLAN_FEATURE_MEMDUMP=y
+CONFIG_WLAN_FEATURE_NAN_DATAPATH=y
+CONFIG_WLAN_MAC_CMDLINE=y
+CONFIG_WLAN_NAPI=y
+CONFIG_WLAN_OFFLOAD_PACKETS=y
+CONFIG_WLAN_SYNC_TSF=y
+CONFIG_WLAN_TX_FLOW_CONTROL_V2=y
+# CONFIG_WQ_WATCHDOG is not set
+CONFIG_X509_CERTIFICATE_PARSER=y
+CONFIG_XFRM_STATISTICS=y
+CONFIG_XFRM_USER=y
+CONFIG_XZ_DEC=y
+CONFIG_ZRAM=y
+CONFIG_ZSMALLOC=y
diff --git a/build.config b/build.config
index 5590bac..f4b295c 100644
--- a/build.config
+++ b/build.config
@@ -1,7 +1,7 @@
 ARCH=arm64
-BRANCH=daydreamos-msm-polaris-4.4
+BRANCH=daydreamos-msm-vega-4.4
 CROSS_COMPILE=aarch64-linux-android-
-DEFCONFIG=polaris_defconfig
+DEFCONFIG=vega_defconfig
 EXTRA_CMDS=''
 KERNEL_DIR=private/msm-google-dd
 LINUX_GCC_CROSS_COMPILE_PREBUILTS_BIN=prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/bin
diff --git a/certs/verity.x509.pem b/certs/verity.x509.pem
index 22f456e..3bdd025 100644
--- a/certs/verity.x509.pem
+++ b/certs/verity.x509.pem
@@ -23,25 +23,25 @@
 yttuAJAEAymk1mipd9+zp38=
 -----END CERTIFICATE-----
 -----BEGIN CERTIFICATE-----
-MIIDxjCCAq6gAwIBAgIUWNvRxFUbpI+6HDnoa/MdN5Em+M4wDQYJKoZIhvcNAQEL
-BQAwdDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcT
-DU1vdW50YWluIFZpZXcxFDASBgNVBAoTC0dvb2dsZSBJbmMuMRAwDgYDVQQLEwdB
-bmRyb2lkMRAwDgYDVQQDEwdBbmRyb2lkMB4XDTE3MDcxMTEzMzkxMVoXDTQ3MDcx
-MTEzMzkxMVowdDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAU
-BgNVBAcTDU1vdW50YWluIFZpZXcxFDASBgNVBAoTC0dvb2dsZSBJbmMuMRAwDgYD
-VQQLEwdBbmRyb2lkMRAwDgYDVQQDEwdBbmRyb2lkMIIBIjANBgkqhkiG9w0BAQEF
-AAOCAQ8AMIIBCgKCAQEAotthNGhvbUSR83YbNpaZ9kf2k7MC2HaxTjvi6diKufxG
-olaMezSWRj2JOgqErPZJj2Cmv10diNbO9vYi+eoXiun9nulVMlBmVN5W93IAzia/
-IetbI/APTMuUNFOYWxuVhkC7qL0CyYuAinMgUK5pJjybBwQbNra4cwls9zE/fdxk
-SIi8gVg7p8Gc199tGqpHFEMeW8WYE0hpnjBNrBkF4CzjQWpE6GBaMpn5jvPDoEYR
-b3F8/gvVEwAxewe7CnwNLxxuWLiwhsGzM2A8xRS43eRtxiWvmT8T0MghHZf50kWB
-jgKPmfc2d1iMOINfZiJSPRjwR1S+CPudnbq9dviabwIDAQABo1AwTjAMBgNVHRME
-BTADAQH/MB0GA1UdDgQWBBSpiExWtvEGQ+M2kQaBRfXrpkWazjAfBgNVHSMEGDAW
-gBSpiExWtvEGQ+M2kQaBRfXrpkWazjANBgkqhkiG9w0BAQsFAAOCAQEAihpcrfyj
-6d4g4Ulf6LdweE78f1i76b6U5twk3WtcPHL0alRmmNIYSh/OuiW2c6n6asE5rIDX
-CK2+C2WHQODjwnwXOFcfew/eVMWtmC9H1fxKHEiLSme2JzlwcLjS2W0GVLxaXkIs
-I+wB2cYaqkez+Rf8nA/deCPCeEhmGxSFOwEs38y1nzoTgugWguzHdnCJrWOPpoLU
-KaQJzGHZcUiXM8WRwme8F89XjQdcJqvGNUPUC5nm1OvArrTQmuyZ7a71hHVMAfVe
-+tLcftHCgqDZlbmgb6kVHwyl+Br4q8fQXvBpEz8VZXM/V97CKFiQRin/0huBNawU
-HArDCyqJ1RTYKA==
+MIIDxzCCAq+gAwIBAgIVAMApm05FUUTOnit1y5QRFYMrtpRPMA0GCSqGSIb3DQEB
+CwUAMHQxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQH
+Ew1Nb3VudGFpbiBWaWV3MRQwEgYDVQQKEwtHb29nbGUgSW5jLjEQMA4GA1UECxMH
+QW5kcm9pZDEQMA4GA1UEAxMHQW5kcm9pZDAeFw0xNzA3MTExMzQ4NThaFw00NzA3
+MTExMzQ4NThaMHQxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYw
+FAYDVQQHEw1Nb3VudGFpbiBWaWV3MRQwEgYDVQQKEwtHb29nbGUgSW5jLjEQMA4G
+A1UECxMHQW5kcm9pZDEQMA4GA1UEAxMHQW5kcm9pZDCCASIwDQYJKoZIhvcNAQEB
+BQADggEPADCCAQoCggEBAKMbpsytgTvdfextyIZLnZas00A0CBLGfihLxRSwDmz9
+CUMfNQfXchmhcazwl6zN44AwQFTaYl6zQJnD0n7seO2OHBrjYQ68EWwZRbIT/wBQ
+Ei4lS0puelPYdmDDIF0B3Dm7FV0ZnH1RepmN4L9c6wcCuEPnd9Z6cQ3/jktnpw64
+qt8x0T9HAfVQnqGEHNm26/ogIRXPug7HX5fmh6DSYxlMBj992hAgUDx9koll6hIv
+y23ET492cv3Bcn6Gt788e3OC9BT2wCvrthMnfgSNUqz8uegjEANpeM7+0q0p84WZ
+5AEQjmEXIQySs4mhx8kS2CLqeElDezYYgMvlS488AVkCAwEAAaNQME4wDAYDVR0T
+BAUwAwEB/zAdBgNVHQ4EFgQUrQlGbt6XBY3ckXBRPmdAO/mkz14wHwYDVR0jBBgw
+FoAUrQlGbt6XBY3ckXBRPmdAO/mkz14wDQYJKoZIhvcNAQELBQADggEBAB5Ua+1i
+fJpb4Vqe/7rLig5o50S4cPIuGp9On0jYka0qXO4SDxDClq0C5Kdjto5/h4Y94vST
+QsU0IGIbmY9EGCm4CLmxeVf2LH8zC+Qs1J76gxwr6Zw4766necc5evoCfWCzY0D0
+vYWwmYPPNRx+4nuO1a6VxtAeKcnppx446GXNlfs0k4k+EInlAtH8BgpM/iVwgIUb
+4y17f85g5yDDBR+LHjXNix7Xr1bFaP6m83qhr8OtPcZ8j76sB5UGpWRhjmmhcE3V
+7p3zbT0oku9l5f4y7lfo1UxiH7CuemkgEl0csSaBfTAMuo+ckYyAZV+s2wGpySjS
+ULitdrQLxDvcWYw=
 -----END CERTIFICATE-----
diff --git a/drivers/media/platform/msm/camera_v2/sensor/io/msm_camera_dt_util.c b/drivers/media/platform/msm/camera_v2/sensor/io/msm_camera_dt_util.c
index 2c31fb2..ff74e62 100644
--- a/drivers/media/platform/msm/camera_v2/sensor/io/msm_camera_dt_util.c
+++ b/drivers/media/platform/msm/camera_v2/sensor/io/msm_camera_dt_util.c
@@ -1117,6 +1117,7 @@
 	uint32_t *vreg_array = NULL;
 	struct camera_vreg_t *vreg = NULL;
 	bool custom_vreg_name =  false;
+	int32_t count_custom = 0;
 
 	count = of_property_count_strings(of_node, "qcom,cam-vreg-name");
 	CDBG("%s qcom,cam-vreg-name count %d\n", __func__, count);
@@ -1150,7 +1151,8 @@
 	custom_vreg_name = of_property_read_bool(of_node,
 		"qcom,cam-custom-vreg-name");
 	if (custom_vreg_name) {
-		for (i = 0; i < count; i++) {
+		count_custom = of_property_count_strings(of_node, "qcom,cam-custom-vreg-name");
+		for (i = 0; i < count_custom; i++) {
 			rc = of_property_read_string_index(of_node,
 				"qcom,cam-custom-vreg-name", i,
 				&vreg[i].custom_vreg_name);
diff --git a/drivers/power/supply/qcom/battery.c b/drivers/power/supply/qcom/battery.c
index 9ba5533..b204355 100644
--- a/drivers/power/supply/qcom/battery.c
+++ b/drivers/power/supply/qcom/battery.c
@@ -567,8 +567,20 @@
 	if (!chip->main_psy)
 		return 0;
 
-	if (client == NULL)
-		icl_ua = INT_MAX;
+	if (client == NULL){
+		rc = power_supply_get_property(chip->main_psy,
+				POWER_SUPPLY_PROP_ICL_MAX,
+				&pval);
+		if (rc < 0) {
+			pr_err("Couldn't get adaptor icl max value rc=%d\n", rc);
+			return rc;
+		}
+
+		if(pval.intval == ADAPTOR_ICL_MAX_ERR_VAL)
+			icl_ua = INT_MAX;
+		else
+			icl_ua = pval.intval;
+	}
 
 	/*
 	 * Disable parallel for new ICL vote - the call to split_settled will
diff --git a/drivers/power/supply/qcom/qpnp-smb2.c b/drivers/power/supply/qcom/qpnp-smb2.c
index b2483f2..ff991e4 100644
--- a/drivers/power/supply/qcom/qpnp-smb2.c
+++ b/drivers/power/supply/qcom/qpnp-smb2.c
@@ -739,6 +739,9 @@
 	case POWER_SUPPLY_PROP_CURRENT_MAX:
 		rc = smblib_get_icl_current(chg, &val->intval);
 		break;
+	case POWER_SUPPLY_PROP_ICL_MAX:
+		val->intval = chg->adaptor_icl_max;
+		break;
 	default:
 		pr_debug("get prop %d is not supported in usb-main\n", psp);
 		rc = -EINVAL;
@@ -2399,6 +2402,15 @@
 		goto cleanup;
 	}
 	batt_charge_type = val.intval;
+	chip->chg.adaptor_icl_max = ADAPTOR_ICL_MAX_ERR_VAL;
+	/* config vega model: the JEITA_CCCOMP_CFG_REG, FVCOMP regs ( compensate
+	current -1600mA,voltage -200mV ) in jeita Tcold,Thot temperature range. */
+	if (of_property_read_bool(chg->dev->of_node, "lenovo,vega-model")) {
+		smblib_write(chg, JEITA_EN_CFG_REG, JEITA_EN_HARDLIMIT_BIT | JEITA_EN_HOT_SL_FCV_BIT | JEITA_EN_HOT_SL_CCC_BIT | JEITA_EN_COLD_SL_CCC_BIT);
+		smblib_write(chg, JEITA_FVCOMP_CFG_REG, 0x1A);
+		smblib_write(chg, JEITA_CCCOMP_CFG_REG, 0x3F);
+		of_property_read_u32(chg->dev->of_node, "lenovo,vega-icl-max", &chip->chg.adaptor_icl_max);
+	}
 
 	device_init_wakeup(chg->dev, true);
 
diff --git a/drivers/power/supply/qcom/smb-lib.c b/drivers/power/supply/qcom/smb-lib.c
index 43a26da2..f5180d0f 100644
--- a/drivers/power/supply/qcom/smb-lib.c
+++ b/drivers/power/supply/qcom/smb-lib.c
@@ -2582,8 +2582,16 @@
 {
 	int rc;
 
-	if (chg->pd_active)
-		rc = vote(chg->usb_icl_votable, PD_VOTER, true, val->intval);
+	if (chg->pd_active) {
+		if(chg->adaptor_icl_max == ADAPTOR_ICL_MAX_ERR_VAL)
+			rc = vote(chg->usb_icl_votable, PD_VOTER, true, val->intval);
+		else{
+			if (val->intval > chg->adaptor_icl_max)
+				rc = vote(chg->usb_icl_votable, PD_VOTER, true, chg->adaptor_icl_max);
+			else
+				rc = vote(chg->usb_icl_votable, PD_VOTER, true, val->intval);
+		}
+	}
 	else
 		rc = -EPERM;
 
@@ -3688,7 +3696,10 @@
 	case POWER_SUPPLY_TYPE_USB_DCP:
 		typec_mode = smblib_get_prop_typec_mode(chg);
 		rp_ua = get_rp_based_dcp_current(chg, typec_mode);
-		vote(chg->usb_icl_votable, LEGACY_UNKNOWN_VOTER, true, rp_ua);
+		if(chg->adaptor_icl_max == ADAPTOR_ICL_MAX_ERR_VAL)
+			vote(chg->usb_icl_votable, LEGACY_UNKNOWN_VOTER, true, rp_ua);
+		else
+			vote(chg->usb_icl_votable, LEGACY_UNKNOWN_VOTER, true, chg->adaptor_icl_max);
 		break;
 	case POWER_SUPPLY_TYPE_USB_FLOAT:
 		/*
@@ -3699,7 +3710,10 @@
 		break;
 	case POWER_SUPPLY_TYPE_USB_HVDCP:
 	case POWER_SUPPLY_TYPE_USB_HVDCP_3:
-		vote(chg->usb_icl_votable, LEGACY_UNKNOWN_VOTER, true, 3000000);
+		if(chg->adaptor_icl_max == ADAPTOR_ICL_MAX_ERR_VAL)
+			vote(chg->usb_icl_votable, LEGACY_UNKNOWN_VOTER, true, 3000000);
+		else
+			vote(chg->usb_icl_votable, LEGACY_UNKNOWN_VOTER, true, chg->adaptor_icl_max);
 		break;
 	default:
 		smblib_err(chg, "Unknown APSD %d; forcing 500mA\n", pst);
diff --git a/drivers/power/supply/qcom/smb-lib.h b/drivers/power/supply/qcom/smb-lib.h
index 0996338..5c34381 100644
--- a/drivers/power/supply/qcom/smb-lib.h
+++ b/drivers/power/supply/qcom/smb-lib.h
@@ -398,6 +398,8 @@
 	/* IPD */
 	unsigned int		vadc_ipd_channel;
 	struct qpnp_vadc_chip	*vadc_ipd;
+
+	int			adaptor_icl_max;//adaptor input current limit max value
 };
 
 int smblib_read(struct smb_charger *chg, u16 addr, u8 *val);
diff --git a/drivers/video/fbdev/msm/mdss_dsi_panel.c b/drivers/video/fbdev/msm/mdss_dsi_panel.c
index 8b85d30..b37ce63 100644
--- a/drivers/video/fbdev/msm/mdss_dsi_panel.c
+++ b/drivers/video/fbdev/msm/mdss_dsi_panel.c
@@ -34,6 +34,10 @@
 
 DEFINE_LED_TRIGGER(bl_led_trigger);
 
+#define PANEL_BOE 1
+#define PANEL_TIANMA 2
+static int current_panel = 0;
+
 void mdss_dsi_panel_pwm_cfg(struct mdss_dsi_ctrl_pdata *ctrl)
 {
 	if (ctrl->pwm_pmi)
@@ -2647,9 +2651,19 @@
 
 	mdss_dsi_parse_roi_alignment(np, pt);
 
-	mdss_dsi_parse_dcs_cmds(np, &pt->on_cmds,
-		"qcom,mdss-dsi-on-command",
-		"qcom,mdss-dsi-on-command-state");
+	/* vega: select display panel */
+	if(current_panel == PANEL_TIANMA){
+		pr_err("vega: use qcom,mdss-dsi-on-command-tianma \n");
+		mdss_dsi_parse_dcs_cmds(np, &pt->on_cmds,
+			"qcom,mdss-dsi-on-command-tianma",
+			"qcom,mdss-dsi-on-command-state");
+	}
+	else {
+		pr_err("vega:use qcom,mdss-dsi-on-command for BOE \n");
+		mdss_dsi_parse_dcs_cmds(np, &pt->on_cmds,
+			"qcom,mdss-dsi-on-command",
+			"qcom,mdss-dsi-on-command-state");
+	}
 
 	mdss_dsi_parse_dcs_cmds(np, &pt->post_panel_on_cmds,
 		"qcom,mdss-dsi-post-panel-on-command", NULL);
@@ -2753,6 +2767,8 @@
 {
 	u32 tmp;
 	int rc, len = 0;
+	int display_select_gpio;
+	int gpio_level;
 	const char *data;
 	static const char *pdest;
 	const char *bridge_chip_name;
@@ -2899,6 +2915,36 @@
 	pinfo->mipi.data_lane3 = of_property_read_bool(np,
 		"qcom,mdss-dsi-lane-3-state");
 
+	/* vega: check current panel */
+	if(current_panel == 0) {
+		/* default panel is boe */
+		current_panel = PANEL_BOE;
+
+		display_select_gpio = of_get_named_gpio(np, "oem,display-select-gpio", 0);
+		/* if gpio is not valid */
+		if (!gpio_is_valid(display_select_gpio)){
+			pr_err("vega: oem,display-select-gpio is not find, use boe panel as default\n");
+		} else {
+			rc = gpio_request(display_select_gpio, "display_select");
+			if (rc) {
+				pr_err("vega: request display_select_gpio failed, rc = %d\n", rc);
+				gpio_free(display_select_gpio);
+			} else {
+				rc = gpio_direction_input(display_select_gpio);
+				if (rc < 0) {
+					pr_err("vega:gpio_direction_input failed, rc =%d\n", rc);
+				} else {
+					gpio_level = gpio_get_value(display_select_gpio);
+					pr_info("vega: display_select_gpio_level =%d\n", gpio_level);
+					if(gpio_level == 1)
+						current_panel = PANEL_TIANMA;
+					else
+						current_panel = PANEL_BOE;
+				}
+			}
+		}
+	}
+
 	/* parse split link properties */
 	rc = mdss_dsi_parse_split_link_settings(np, pinfo);
 	if (rc)
diff --git a/include/linux/pmic-voter.h b/include/linux/pmic-voter.h
index f202bf7..bf8bee5 100644
--- a/include/linux/pmic-voter.h
+++ b/include/linux/pmic-voter.h
@@ -47,4 +47,5 @@
 void lock_votable(struct votable *votable);
 void unlock_votable(struct votable *votable);
 
+#define ADAPTOR_ICL_MAX_ERR_VAL		-1
 #endif /* __PMIC_VOTER_H */
diff --git a/include/linux/power_supply.h b/include/linux/power_supply.h
index 1fab00d..ac834c8 100644
--- a/include/linux/power_supply.h
+++ b/include/linux/power_supply.h
@@ -266,6 +266,7 @@
 	POWER_SUPPLY_PROP_MANUFACTURER,
 	POWER_SUPPLY_PROP_SERIAL_NUMBER,
 	POWER_SUPPLY_PROP_BATTERY_TYPE,
+	POWER_SUPPLY_PROP_ICL_MAX,
 };
 
 enum power_supply_type {