summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/boot/dts/qcom/Makefile6
-rw-r--r--arch/arm/boot/dts/qcom/apq8096-v3-pmi8996-mdm9x55-i2s-mtp.dts166
-rw-r--r--arch/arm/boot/dts/qcom/msm-arm-smmu-8996.dtsi42
-rw-r--r--arch/arm/boot/dts/qcom/msm8996-camera.dtsi40
-rw-r--r--arch/arm/boot/dts/qcom/msm8996-pinctrl.dtsi111
-rw-r--r--arch/arm/boot/dts/qcom/msm8996-regulator.dtsi334
-rw-r--r--arch/arm/boot/dts/qcom/msm8996-v3-pmi8996-mtp-z2_plus.dts26
-rw-r--r--arch/arm/boot/dts/qcom/msm8996-v3-pmi8996-mtp-z2_row.dts26
-rw-r--r--arch/arm/boot/dts/qcom/msm8996-v3.dtsi157
-rwxr-xr-xarch/arm/boot/dts/qcom/zuk/batterydata-z2_plus-3500mah.dtsi146
-rw-r--r--arch/arm/boot/dts/qcom/zuk/batterydata-z2_row-3000mah.dtsi147
-rwxr-xr-xarch/arm/boot/dts/qcom/zuk/common-camera-sensor.dtsi127
-rwxr-xr-xarch/arm/boot/dts/qcom/zuk/common-charger.dtsi26
-rwxr-xr-xarch/arm/boot/dts/qcom/zuk/common-fingerprint.dtsi39
-rwxr-xr-xarch/arm/boot/dts/qcom/zuk/common-led.dtsi43
-rwxr-xr-xarch/arm/boot/dts/qcom/zuk/common-mdss.dtsi45
-rwxr-xr-xarch/arm/boot/dts/qcom/zuk/common-ramoops.dtsi21
-rwxr-xr-xarch/arm/boot/dts/qcom/zuk/common-regulator.dtsi29
-rwxr-xr-xarch/arm/boot/dts/qcom/zuk/common-sound.dtsi99
-rwxr-xr-xarch/arm/boot/dts/qcom/zuk/common-usb.dtsi98
-rwxr-xr-xarch/arm/boot/dts/qcom/zuk/common-vibration.dtsi26
-rwxr-xr-xarch/arm/boot/dts/qcom/zuk/common.dtsi371
-rwxr-xr-xarch/arm/boot/dts/qcom/zuk/dsi-panel-samsung-1080p-cmd.dtsi87
-rwxr-xr-xarch/arm/boot/dts/qcom/zuk/dsi-panel-tianma-1080p-video.dtsi143
-rwxr-xr-xarch/arm/boot/dts/qcom/zuk/z2_plus-base.dtsi133
-rwxr-xr-xarch/arm/boot/dts/qcom/zuk/z2_plus-camera-sensor.dtsi74
-rwxr-xr-xarch/arm/boot/dts/qcom/zuk/z2_row-base.dtsi249
-rwxr-xr-xarch/arm/boot/dts/qcom/zuk/z2_row-camera-sensor.dtsi78
-rw-r--r--arch/arm/configs/msmcortex_defconfig1
-rw-r--r--arch/arm/configs/sdm660-perf_defconfig1
-rw-r--r--arch/arm/configs/sdm660_defconfig1
-rw-r--r--arch/arm64/configs/fsmcortex-perf_defconfig1
-rw-r--r--arch/arm64/configs/fsmcortex_defconfig1
-rw-r--r--arch/arm64/configs/msm-perf_defconfig1
-rw-r--r--arch/arm64/configs/msm_defconfig1
-rw-r--r--arch/arm64/configs/msmcortex-perf_defconfig1
-rw-r--r--arch/arm64/configs/msmcortex_defconfig1
-rw-r--r--arch/arm64/configs/msmcortex_mediabox-perf_defconfig1
-rw-r--r--arch/arm64/configs/msmcortex_mediabox_defconfig1
-rw-r--r--arch/arm64/configs/sdm660-perf_defconfig1
-rw-r--r--arch/arm64/configs/sdm660_defconfig1
-rw-r--r--arch/arm64/configs/z2_plus_defconfig689
-rw-r--r--arch/arm64/configs/z2_row_defconfig695
43 files changed, 4218 insertions, 68 deletions
diff --git a/arch/arm/boot/dts/qcom/Makefile b/arch/arm/boot/dts/qcom/Makefile
index d0990e3252aa..6cfb2b25b4b8 100644
--- a/arch/arm/boot/dts/qcom/Makefile
+++ b/arch/arm/boot/dts/qcom/Makefile
@@ -25,6 +25,11 @@ msm8996pro-auto-adp-lite-overlay.dtbo-base := msm8996pro-auto.dtb
apq8096pro-auto-cdp-overlay.dtbo-base := apq8096pro-auto.dtb
msm8996pro-v1.1-auto-cdp-overlay.dtbo-base := msm8996pro-v1.1-auto.dtb
else
+ifeq ($(CONFIG_MACH_ZUK_Z2_PLUS),y)
+dtb-$(CONFIG_ARCH_MSM8996) += msm8996-v3-pmi8996-mtp-z2_plus.dtb
+else ifeq ($(CONFIG_MACH_ZUK_Z2_ROW),y)
+dtb-$(CONFIG_ARCH_MSM8996) += msm8996-v3-pmi8996-mtp-z2_row.dtb
+else
dtb-$(CONFIG_ARCH_MSM8996) += msm8996-v2-pmi8994-cdp.dtb \
msm8996-v2-pmi8994-mtp.dtb \
msm8996-v2-pmi8994-pmk8001-cdp.dtb \
@@ -143,6 +148,7 @@ dtb-$(CONFIG_ARCH_MSM8996) += msm8996-v2-pmi8994-cdp.dtb \
apq8096-v3-pmi8996-dragonboard.dtb \
msm8996-auto-mizar.dtb
endif
+endif
dtb-$(CONFIG_MSM_GVM_QUIN) += vplatform-lfv-msm8996-telematics.dtb \
vplatform-lfv-msm8996-ivi.dtb \
diff --git a/arch/arm/boot/dts/qcom/apq8096-v3-pmi8996-mdm9x55-i2s-mtp.dts b/arch/arm/boot/dts/qcom/apq8096-v3-pmi8996-mdm9x55-i2s-mtp.dts
index 4d136091806a..f15b81619b20 100644
--- a/arch/arm/boot/dts/qcom/apq8096-v3-pmi8996-mdm9x55-i2s-mtp.dts
+++ b/arch/arm/boot/dts/qcom/apq8096-v3-pmi8996-mdm9x55-i2s-mtp.dts
@@ -111,3 +111,169 @@
status = "okay";
};
};
+
+&soc {
+ sound {
+ status = "disabled";
+ };
+
+ sound-9335 {
+ status = "disabled";
+ };
+
+ slim_msm: slim@91c0000 {
+ status = "disabled";
+ };
+
+ clock_audio: audio_ext_clk {
+ compatible = "qcom,audio-ref-clk";
+ qcom,codec-mclk-clk-freq = <12288000>;
+ pinctrl-names = "sleep", "active";
+ pinctrl-0 = <&spkr_i2s_clk_sleep &ap_mclk_sleep
+ &mdm_mclk_sleep>;
+ pinctrl-1 = <&spkr_i2s_clk_active &ap_mclk_active
+ &mdm_mclk_sleep>;
+ };
+
+ i2c_7: i2c@75b5000 {
+ wcd9xxx_codec@d {
+ compatible = "qcom,tasha-i2c-pgd";
+ reg = <0x0d>;
+
+ interrupt-parent = <&wcd9xxx_intc>;
+ interrupts = <0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
+ 17 18 19 20 21 22 23 24 25 26 27 28 29
+ 30>;
+
+ qcom,cdc-reset-gpio = <&tlmm 64 0>;
+ pinctrl-names = "default", "idle";
+ pinctrl-0 = <&cdc_reset_active>;
+ pinctrl-1 = <&cdc_reset_sleep>;
+
+ clock-names = "wcd_clk";
+ clocks = <&clock_audio clk_audio_lpass_mclk2>;
+
+ cdc-vdd-buck-supply = <&pm8994_s4>;
+ qcom,cdc-vdd-buck-voltage = <1800000 1800000>;
+ qcom,cdc-vdd-buck-current = <650000>;
+
+ cdc-buck-sido-supply = <&pm8994_s4>;
+ qcom,cdc-buck-sido-voltage = <1800000 1800000>;
+ qcom,cdc-buck-sido-current = <250000>;
+
+ cdc-vdd-tx-h-supply = <&pm8994_s4>;
+ qcom,cdc-vdd-tx-h-voltage = <1800000 1800000>;
+ qcom,cdc-vdd-tx-h-current = <25000>;
+
+ cdc-vdd-rx-h-supply = <&pm8994_s4>;
+ qcom,cdc-vdd-rx-h-voltage = <1800000 1800000>;
+ qcom,cdc-vdd-rx-h-current = <25000>;
+
+ cdc-vddpx-1-supply = <&pm8994_s4>;
+ qcom,cdc-vddpx-1-voltage = <1800000 1800000>;
+ qcom,cdc-vddpx-1-current = <10000>;
+
+ qcom,cdc-static-supplies = "cdc-vdd-buck",
+ "cdc-buck-sido",
+ "cdc-vdd-tx-h",
+ "cdc-vdd-rx-h",
+ "cdc-vddpx-1";
+
+ qcom,cdc-micbias1-mv = <1800>;
+ qcom,cdc-micbias2-mv = <1800>;
+ qcom,cdc-micbias3-mv = <1800>;
+ qcom,cdc-micbias4-mv = <1800>;
+
+ qcom,cdc-mclk-clk-rate = <12288000>;
+ qcom,cdc-dmic-sample-rate = <4800000>;
+ };
+ };
+
+ sound-9335-i2c {
+ compatible = "qcom,apq8096-asoc-snd-tasha-i2c";
+ qcom,model = "apq8096-tasha-i2c-snd-card";
+
+ qcom,audio-routing =
+ "AIF4 VI", "MCLK",
+ "RX_BIAS", "MCLK",
+ "MADINPUT", "MCLK",
+ "AMIC2", "MIC BIAS2",
+ "MIC BIAS2", "Headset Mic",
+ "AMIC3", "MIC BIAS2",
+ "MIC BIAS2", "ANCRight Headset Mic",
+ "AMIC4", "MIC BIAS2",
+ "MIC BIAS2", "ANCLeft Headset Mic",
+ "AMIC5", "MIC BIAS3",
+ "MIC BIAS3", "Handset Mic",
+ "AMIC6", "MIC BIAS4",
+ "MIC BIAS4", "Analog Mic6",
+ "DMIC0", "MIC BIAS1",
+ "MIC BIAS1", "Digital Mic0",
+ "DMIC1", "MIC BIAS1",
+ "MIC BIAS1", "Digital Mic1",
+ "DMIC2", "MIC BIAS3",
+ "MIC BIAS3", "Digital Mic2",
+ "DMIC3", "MIC BIAS3",
+ "MIC BIAS3", "Digital Mic3",
+ "DMIC4", "MIC BIAS4",
+ "MIC BIAS4", "Digital Mic4",
+ "DMIC5", "MIC BIAS4",
+ "MIC BIAS4", "Digital Mic5",
+ "SpkrLeft IN", "SPK1 OUT",
+ "SpkrRight IN", "SPK2 OUT";
+
+ qcom,msm-mbhc-hphl-swh = <0>;
+ qcom,msm-mbhc-gnd-swh = <0>;
+ asoc-platform = <&pcm0>, <&pcm1>, <&pcm2>, <&voip>, <&voice>,
+ <&loopback>, <&compress>, <&hostless>,
+ <&afe>, <&lsm>, <&routing>, <&cpe>, <&compr>;
+ asoc-platform-names = "msm-pcm-dsp.0", "msm-pcm-dsp.1",
+ "msm-pcm-dsp.2", "msm-voip-dsp",
+ "msm-pcm-voice", "msm-pcm-loopback",
+ "msm-compress-dsp", "msm-pcm-hostless",
+ "msm-pcm-afe", "msm-lsm-client",
+ "msm-pcm-routing", "msm-cpe-lsm",
+ "msm-compr-dsp";
+ asoc-cpu = <&dai_pri_auxpcm>, <&dai_sec_auxpcm>, <&dai_hdmi>,
+ <&dai_mi2s>, <&dai_mi2s_quat>,
+ <&afe_pcm_rx>, <&afe_pcm_tx>,
+ <&afe_proxy_rx>, <&afe_proxy_tx>,
+ <&incall_record_rx>, <&incall_record_tx>,
+ <&incall_music_rx>, <&incall_music2_rx>;
+ asoc-cpu-names = "msm-dai-q6-auxpcm.1", "msm-dai-q6-auxpcm.2",
+ "msm-dai-q6-hdmi.8",
+ "msm-dai-q6-mi2s.2", "msm-dai-q6-mi2s.3",
+ "msm-dai-q6-dev.224", "msm-dai-q6-dev.225",
+ "msm-dai-q6-dev.241", "msm-dai-q6-dev.240",
+ "msm-dai-q6-dev.32771", "msm-dai-q6-dev.32772",
+ "msm-dai-q6-dev.32773", "msm-dai-q6-dev.32770";
+ qcom,tasha-mclk-clk-freq = <12288000>;
+ asoc-codec = <&stub_codec>;
+ asoc-codec-names = "msm-stub-codec.1";
+ };
+
+ qcom,msm-dai-mi2s {
+ dai_mi2s: qcom,msm-dai-q6-mi2s-tert {
+ compatible = "qcom,msm-dai-q6-mi2s";
+ qcom,msm-dai-q6-mi2s-dev-id = <2>;
+ qcom,msm-mi2s-rx-lines = <2>;
+ qcom,msm-mi2s-tx-lines = <1>;
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&tert_mi2s_active &tert_mi2s_sd0_active
+ &tert_mi2s_sd1_active>;
+ pinctrl-1 = <&tert_mi2s_sleep &tert_mi2s_sd0_sleep
+ &tert_mi2s_sd1_sleep>;
+ };
+ dai_mi2s_quat: qcom,msm-dai-q6-mi2s-quat {
+ compatible = "qcom,msm-dai-q6-mi2s";
+ qcom,msm-dai-q6-mi2s-dev-id = <3>;
+ qcom,msm-mi2s-rx-lines = <2>;
+ qcom,msm-mi2s-tx-lines = <1>;
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&quat_mi2s_active &quat_mi2s_sd0_active
+ &quat_mi2s_sd1_active>;
+ pinctrl-1 = <&quat_mi2s_sleep &quat_mi2s_sd0_sleep
+ &quat_mi2s_sd1_sleep>;
+ };
+ };
+};
diff --git a/arch/arm/boot/dts/qcom/msm-arm-smmu-8996.dtsi b/arch/arm/boot/dts/qcom/msm-arm-smmu-8996.dtsi
index 527765d34821..3453e80e5de8 100644
--- a/arch/arm/boot/dts/qcom/msm-arm-smmu-8996.dtsi
+++ b/arch/arm/boot/dts/qcom/msm-arm-smmu-8996.dtsi
@@ -115,7 +115,12 @@
"jpeg_ahb_clk", "jpeg_axi_clk",
"mmagic_camss_axi_clk";
#clock-cells = <1>;
- qcom,bus-master-id = <MSM_BUS_MASTER_JPEG>;
+ qcom,msm-bus,name = "smmu-bus-client-jpeg";
+ qcom,msm-bus,num-cases = <2>;
+ qcom,msm-bus,num-paths = <1>;
+ qcom,msm-bus,vectors-KBps =
+ <62 512 0 0>,
+ <62 512 0 1000>;
};
&vfe_smmu {
@@ -137,7 +142,12 @@
"vfe_ahb_clk", "vfe_axi_clk",
"mmagic_camss_axi_clk";
#clock-cells = <1>;
- qcom,bus-master-id = <MSM_BUS_MASTER_VFE>;
+ qcom,msm-bus,name = "smmu-bus-client-vfe";
+ qcom,msm-bus,num-cases = <2>;
+ qcom,msm-bus,num-paths = <1>;
+ qcom,msm-bus,vectors-KBps =
+ <29 512 0 0>,
+ <29 512 0 1000>;
};
&cpp_fd_smmu {
@@ -160,7 +170,12 @@
"cpp_ahb_clk", "cpp_axi_clk",
"mmagic_camss_axi_clk";
#clock-cells = <1>;
- qcom,bus-master-id = <MSM_BUS_MASTER_CPP>;
+ qcom,msm-bus,name = "smmu-bus-client-cpp";
+ qcom,msm-bus,num-cases = <2>;
+ qcom,msm-bus,num-paths = <1>;
+ qcom,msm-bus,vectors-KBps =
+ <106 512 0 0>,
+ <106 512 0 1000>;
};
&venus_smmu {
@@ -186,7 +201,12 @@
"video_ahb_clk", "video_axi_clk",
"mmagic_video_axi_clk";
#clock-cells = <1>;
- qcom,bus-master-id = <MSM_BUS_MASTER_VIDEO_P0>;
+ qcom,msm-bus,name = "smmu-bus-client-video-p0";
+ qcom,msm-bus,num-cases = <2>;
+ qcom,msm-bus,num-paths = <1>;
+ qcom,msm-bus,vectors-KBps =
+ <63 512 0 0>,
+ <63 512 0 1000>;
};
&mdp_smmu {
@@ -208,7 +228,12 @@
"mdp_ahb_clk", "mdp_axi_clk",
"mmagic_mdss_axi_clk";
#clock-cells = <1>;
- qcom,bus-master-id = <MSM_BUS_MASTER_MDP_PORT0>;
+ qcom,msm-bus,name = "smmu-bus-client-mdp-port0";
+ qcom,msm-bus,num-cases = <2>;
+ qcom,msm-bus,num-paths = <1>;
+ qcom,msm-bus,vectors-KBps =
+ <22 512 0 0>,
+ <22 512 0 1000>;
};
&rot_smmu {
@@ -229,7 +254,12 @@
"rot_ahb_clk", "rot_axi_clk",
"mmagic_mdss_axi_clk";
#clock-cells = <1>;
- qcom,bus-master-id = <MSM_BUS_MASTER_ROTATOR>;
+ qcom,msm-bus,name = "smmu-bus-client-rotator";
+ qcom,msm-bus,num-cases = <2>;
+ qcom,msm-bus,num-paths = <1>;
+ qcom,msm-bus,vectors-KBps =
+ <25 512 0 0>,
+ <25 512 0 1000>;
};
&kgsl_smmu {
diff --git a/arch/arm/boot/dts/qcom/msm8996-camera.dtsi b/arch/arm/boot/dts/qcom/msm8996-camera.dtsi
index 4f632cff79be..d411be8baa28 100644
--- a/arch/arm/boot/dts/qcom/msm8996-camera.dtsi
+++ b/arch/arm/boot/dts/qcom/msm8996-camera.dtsi
@@ -28,24 +28,18 @@
reg-names = "csiphy", "csiphy_clk_mux";
interrupts = <0 78 0>;
interrupt-names = "csiphy";
- qcom,csi-vdd-voltage = <1250000>;
- qcom,mipi-csi-vdd-supply = <&pm8994_l2>;
- mmagic-supply = <&gdsc_mmagic_camss>;
- gdscr-supply = <&gdsc_camss_top>;
- qcom,cam-vreg-name = "mmagic", "gdscr";
- clocks = <&clock_mmss clk_mmss_mmagic_ahb_clk>,
- <&clock_mmss clk_camss_top_ahb_clk>,
+ clocks = <&clock_mmss clk_camss_top_ahb_clk>,
<&clock_mmss clk_camss_ispif_ahb_clk>,
<&clock_mmss clk_csi0phytimer_clk_src>,
<&clock_mmss clk_camss_csi0phytimer_clk>,
<&clock_mmss clk_camss_ahb_clk>,
<&clock_mmss clk_csiphy0_3p_clk_src>,
<&clock_mmss clk_camss_csiphy0_3p_clk>;
- clock-names = "mmagic_ahb_clk", "camss_top_ahb_clk",
+ clock-names = "camss_top_ahb_clk",
"ispif_ahb_clk", "csiphy_timer_src_clk",
"csiphy_timer_clk", "camss_ahb_clk",
"csiphy_3p_clk_src", "csi_phy_3p_clk";
- qcom,clock-rates = <0 0 0 200000000 0 0 100000000 0>;
+ qcom,clock-rates = <0 0 200000000 0 0 100000000 0>;
};
qcom,csiphy@a35000 {
@@ -55,24 +49,18 @@
reg-names = "csiphy", "csiphy_clk_mux";
interrupts = <0 79 0>;
interrupt-names = "csiphy";
- qcom,csi-vdd-voltage = <1250000>;
- qcom,mipi-csi-vdd-supply = <&pm8994_l2>;
- mmagic-supply = <&gdsc_mmagic_camss>;
- gdscr-supply = <&gdsc_camss_top>;
- qcom,cam-vreg-name = "mmagic", "gdscr";
- clocks = <&clock_mmss clk_mmss_mmagic_ahb_clk>,
- <&clock_mmss clk_camss_top_ahb_clk>,
+ clocks = <&clock_mmss clk_camss_top_ahb_clk>,
<&clock_mmss clk_camss_ispif_ahb_clk>,
<&clock_mmss clk_csi1phytimer_clk_src>,
<&clock_mmss clk_camss_csi1phytimer_clk>,
<&clock_mmss clk_camss_ahb_clk>,
<&clock_mmss clk_csiphy1_3p_clk_src>,
<&clock_mmss clk_camss_csiphy1_3p_clk>;
- clock-names = "mmagic_ahb_clk", "camss_top_ahb_clk",
+ clock-names = "camss_top_ahb_clk",
"ispif_ahb_clk", "csiphy_timer_src_clk",
"csiphy_timer_clk", "camss_ahb_clk",
"csiphy_3p_clk_src", "csi_phy_3p_clk";
- qcom,clock-rates = <0 0 0 200000000 0 0 100000000 0>;
+ qcom,clock-rates = <0 0 200000000 0 0 100000000 0>;
};
qcom,csiphy@a36000 {
@@ -82,24 +70,18 @@
reg-names = "csiphy", "csiphy_clk_mux";
interrupts = <0 80 0>;
interrupt-names = "csiphy";
- qcom,csi-vdd-voltage = <1250000>;
- qcom,mipi-csi-vdd-supply = <&pm8994_l2>;
- mmagic-supply = <&gdsc_mmagic_camss>;
- gdscr-supply = <&gdsc_camss_top>;
- qcom,cam-vreg-name = "mmagic", "gdscr";
- clocks = <&clock_mmss clk_mmss_mmagic_ahb_clk>,
- <&clock_mmss clk_camss_top_ahb_clk>,
+ clocks = <&clock_mmss clk_camss_top_ahb_clk>,
<&clock_mmss clk_camss_ispif_ahb_clk>,
<&clock_mmss clk_csi2phytimer_clk_src>,
<&clock_mmss clk_camss_csi2phytimer_clk>,
<&clock_mmss clk_camss_ahb_clk>,
<&clock_mmss clk_csiphy2_3p_clk_src>,
<&clock_mmss clk_camss_csiphy2_3p_clk>;
- clock-names = "mmagic_ahb_clk", "camss_top_ahb_clk",
+ clock-names = "camss_top_ahb_clk",
"ispif_ahb_clk", "csiphy_timer_src_clk",
"csiphy_timer_clk", "camss_ahb_clk",
"csiphy_3p_clk_src", "csi_phy_3p_clk";
- qcom,clock-rates = <0 0 0 200000000 0 0 100000000 0>;
+ qcom,clock-rates = <0 0 200000000 0 0 100000000 0>;
};
qcom,csid@a30000 {
@@ -325,7 +307,7 @@
"vfe_clk_src", "camss_vfe_clk",
"camss_csi_vfe_clk",
"vfe_vbif_ahb_clk", "vfe_ahb_clk",
- "bus_clk", "vfe_stream_clk", "smmu_vfe_axi_clk";
+ "bus_clk", "camss_vfe_stream_clk", "smmu_vfe_axi_clk";
qcom,clock-rates = <0 0 0 0 320000000 0 0 0 0 0 0 0>;
status = "ok";
qos-entries = <8>;
@@ -397,7 +379,7 @@
"vfe_clk_src", "camss_vfe_clk",
"camss_csi_vfe_clk",
"vfe_vbif_ahb_clk", "vfe_ahb_clk",
- "bus_clk", "vfe_stream_clk", "smmu_vfe_axi_clk";
+ "bus_clk", "camss_vfe_stream_clk", "smmu_vfe_axi_clk";
qcom,clock-rates = <0 0 0 0 320000000 0 0 0 0 0 0 0>;
status = "ok";
qos-entries = <8>;
diff --git a/arch/arm/boot/dts/qcom/msm8996-pinctrl.dtsi b/arch/arm/boot/dts/qcom/msm8996-pinctrl.dtsi
index dc964124829f..3c34bfc47c6a 100644
--- a/arch/arm/boot/dts/qcom/msm8996-pinctrl.dtsi
+++ b/arch/arm/boot/dts/qcom/msm8996-pinctrl.dtsi
@@ -1638,6 +1638,33 @@
};
};
+ tert_mi2s_sd1 {
+ tert_mi2s_sd1_sleep: tert_mi2s_sd1_sleep {
+ mux {
+ pins = "gpio78";
+ function = "ter_mi2s";
+ };
+
+ config {
+ pins = "gpio78";
+ drive-strength = <2>; /* 2 mA */
+ bias-pull-down; /* PULL DOWN */
+ };
+ };
+ tert_mi2s_sd1_active: tert_mi2s_sd1_active {
+ mux {
+ pins = "gpio78";
+ function = "ter_mi2s";
+ };
+
+ config {
+ pins = "gpio78";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ };
+ };
+ };
+
tert_mi2s_sd0 {
tert_mi2s_sd0_sleep: tert_mi2s_sd0_sleep {
mux {
@@ -1693,6 +1720,33 @@
};
};
+ quat_mi2s_sd1 {
+ quat_mi2s_sd1_sleep: quat_mi2s_sd1_sleep {
+ mux {
+ pins = "gpio61";
+ function = "qua_mi2s";
+ };
+
+ config {
+ pins = "gpio61";
+ drive-strength = <2>; /* 2 mA */
+ bias-pull-down; /* PULL DOWN */
+ };
+ };
+ quat_mi2s_sd1_active: quat_mi2s_sd1_active {
+ mux {
+ pins = "gpio61";
+ function = "qua_mi2s";
+ };
+
+ config {
+ pins = "gpio61";
+ drive-strength = <8>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ };
+ };
+ };
+
quat_mi2s_sd0 {
quat_mi2s_sd0_sleep: quat_mi2s_sd0_sleep {
mux {
@@ -1883,6 +1937,63 @@
};
};
};
+ ap_mclk_en {
+ ap_mclk_sleep: ap_mclk_sleep {
+ mux {
+ pins = "gpio133";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio133";
+ drive-strength = <2>;
+ bias-pull-down;
+ output-low;
+ };
+ };
+ ap_mclk_active: ap_mclk_active {
+ mux {
+ pins = "gpio133";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio133";
+ drive-strength = <2>;
+ bias-disable;
+ output-high;
+ };
+ };
+ };
+
+ mdm_mclk_en {
+ mdm_mclk_sleep: mdm_mclk_sleep {
+ mux {
+ pins = "gpio134";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio134";
+ drive-strength = <2>;
+ bias-pull-down;
+ output-low;
+ };
+ };
+ mdm_mclk_active: mdm_mclk_active {
+ mux {
+ pins = "gpio134";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio134";
+ drive-strength = <2>;
+ bias-disable;
+ output-high;
+ };
+ };
+ };
cci0_active: cci0_active {
mux {
diff --git a/arch/arm/boot/dts/qcom/msm8996-regulator.dtsi b/arch/arm/boot/dts/qcom/msm8996-regulator.dtsi
index 1800a31dda9a..fec27441feff 100644
--- a/arch/arm/boot/dts/qcom/msm8996-regulator.dtsi
+++ b/arch/arm/boot/dts/qcom/msm8996-regulator.dtsi
@@ -515,7 +515,7 @@
compatible = "qcom,spm-regulator";
reg = <0x3200 0x100>;
regulator-name = "pm8994_s11";
- regulator-min-microvolt = <470000>;
+ regulator-min-microvolt = <475000>;
regulator-max-microvolt = <1140000>;
qcom,max-voltage-step = <150000>;
qcom,cpu-num = <0>;
@@ -523,7 +523,7 @@
pm8994_s11_limit: avs-limit-regulator {
regulator-name = "pm8994_s11_avs_limit";
- regulator-min-microvolt = <470000>;
+ regulator-min-microvolt = <475000>;
regulator-max-microvolt = <1140000>;
};
};
@@ -538,7 +538,7 @@
compatible = "qcom,qpnp-regulator";
reg = <0x1700 0x100>;
regulator-name = "pmi8994_s2";
- regulator-min-microvolt = <400000>;
+ regulator-min-microvolt = <475000>;
regulator-max-microvolt = <1015000>;
qcom,enable-time = <500>;
};
@@ -625,9 +625,9 @@
qcom,cpr-pd-bypass-mask = <0x07>;
qcom,cpr-fuse-corners = <5>;
- qcom,cpr-fuse-combos = <24>;
- qcom,cpr-speed-bins = <3>;
- qcom,cpr-speed-bin-corners = <16 13 16>;
+ qcom,cpr-fuse-combos = <32>;
+ qcom,cpr-speed-bins = <4>;
+ qcom,cpr-speed-bin-corners = <16 13 16 16>;
qcom,cpr-corners =
/* Speed bin 0 */
<16 16 16 16 16 16 16 16>,
@@ -636,6 +636,9 @@
<13 13 13 13 13 13 13 13>,
/* Speed bin 2 */
+ <16 16 16 16 16 16 16 16>,
+
+ /* Speed bin 3 */
<16 16 16 16 16 16 16 16>;
qcom,ldo-min-headroom-voltage = <150000>;
@@ -651,8 +654,10 @@
<1 2 7 12 13>,
/* Speed bin 2 */
- <1 2 7 12 16>;
+ <1 2 7 12 16>,
+ /* Speed bin 3 */
+ <1 2 7 12 16>;
qcom,cpr-voltage-ceiling =
/* Speed bin 0 */
<670000 670000 745000 745000 745000
@@ -669,6 +674,12 @@
<670000 670000 745000 745000 745000
745000 745000 905000 905000 905000
905000 905000 1140000 1140000 1140000
+ 1140000>,
+
+ /* Speed bin 3 */
+ <670000 670000 745000 745000 745000
+ 745000 745000 905000 905000 905000
+ 905000 905000 1140000 1140000 1140000
1140000>;
qcom,cpr-voltage-floor =
@@ -764,6 +775,40 @@
<470000 470000 470000 470000 470000
470000 470000 470000 470000 470000
470000 470000 470000 470000 470000
+ 470000>,
+
+ /* Speed bin 3 */
+ <625000 625000 625000 625000 625000
+ 625000 625000 625000 625000 625000
+ 625000 625000 625000 625000 625000
+ 625000>,
+ <625000 625000 625000 625000 625000
+ 625000 625000 625000 625000 625000
+ 625000 625000 625000 625000 625000
+ 625000>,
+ <625000 625000 625000 625000 625000
+ 625000 625000 625000 625000 625000
+ 625000 625000 625000 625000 625000
+ 625000>,
+ <625000 625000 625000 625000 625000
+ 625000 625000 625000 625000 625000
+ 625000 625000 625000 625000 625000
+ 625000>,
+ <625000 625000 625000 625000 625000
+ 625000 625000 625000 625000 625000
+ 625000 625000 625000 625000 625000
+ 625000>,
+ <625000 625000 625000 625000 625000
+ 625000 625000 625000 625000 625000
+ 625000 625000 625000 625000 625000
+ 625000>,
+ <470000 470000 470000 470000 470000
+ 470000 470000 470000 470000 470000
+ 470000 470000 470000 470000 470000
+ 470000>,
+ <470000 470000 470000 470000 470000
+ 470000 470000 470000 470000 470000
+ 470000 470000 470000 470000 470000
470000>;
qcom,cpr-floor-to-ceiling-max-range =
@@ -782,6 +827,12 @@
<50000 50000 80000 80000 80000
80000 80000 80000 80000 80000
80000 80000 80000 80000 80000
+ 80000>,
+
+ /* Speed bin 3 */
+ <50000 50000 80000 80000 80000
+ 80000 80000 80000 80000 80000
+ 80000 80000 80000 80000 80000
80000>;
qcom,corner-frequencies =
@@ -806,6 +857,14 @@
844800000 960000000 1036800000
1113600000 1190400000 1228800000
1324800000 1401600000 1478400000
+ 1593600000>,
+
+ /* Speed bin 3 */
+ <307200000 422400000 480000000
+ 556800000 652800000 729600000
+ 844800000 960000000 1036800000
+ 1113600000 1190400000 1228800000
+ 1324800000 1401600000 1478400000
1593600000>;
qcom,cpr-ro-scaling-factor =
@@ -849,6 +908,16 @@
<35000 0 40000 10000 5000>,
<35000 0 40000 10000 5000>,
<35000 0 40000 10000 5000>,
+ <35000 0 40000 10000 5000>,
+
+ /* Speed bin 3 */
+ <20000 0 25000 (-5000) (-10000)>,
+ <20000 0 25000 (-5000) (-10000)>,
+ <20000 0 25000 (-5000) (-10000)>,
+ <35000 0 40000 10000 5000>,
+ <35000 0 40000 10000 5000>,
+ <35000 0 40000 10000 5000>,
+ <35000 0 40000 10000 5000>,
<35000 0 40000 10000 5000>;
qcom,cpr-closed-loop-voltage-fuse-adjustment =
@@ -880,6 +949,16 @@
<20000 10000 5000 (-5000) (-5000)>,
<20000 10000 5000 (-5000) (-5000)>,
<20000 10000 5000 (-5000) (-5000)>,
+ <20000 10000 5000 (-5000) (-5000)>,
+
+ /* Speed bin 3 */
+ <35000 35000 40000 40000 40000>,
+ <20000 10000 5000 (-5000) (-5000)>,
+ <20000 10000 5000 (-5000) (-5000)>,
+ <20000 10000 5000 (-5000) (-5000)>,
+ <20000 10000 5000 (-5000) (-5000)>,
+ <20000 10000 5000 (-5000) (-5000)>,
+ <20000 10000 5000 (-5000) (-5000)>,
<20000 10000 5000 (-5000) (-5000)>;
qcom,cpr-open-loop-voltage-adjustment =
@@ -899,6 +978,12 @@
<(-15000) (-15000) (-15000) (-15000)
(-13000) (-14000) (-15000) (-18000)
(-20000) (-22000) (-24000) (-25000)
+ (-26000) (-27000) (-28000) (-30000)>,
+
+ /* Speed bin 3 */
+ <(-15000) (-15000) (-15000) (-15000)
+ (-13000) (-14000) (-15000) (-18000)
+ (-20000) (-22000) (-24000) (-25000)
(-26000) (-27000) (-28000) (-30000)>;
qcom,cpr-open-loop-voltage-min-diff =
@@ -909,6 +994,9 @@
<0 0 0 0 (-50000) 0 0 0 0 0 0 0 0>,
/* Speed bin 2 */
+ <0 0 0 0 (-50000) 0 0 0 0 0 0 0 0 0 0 0>,
+
+ /* Speed bin 3 */
<0 0 0 0 (-50000) 0 0 0 0 0 0 0 0 0 0 0>;
qcom,cpr-closed-loop-voltage-adjustment =
@@ -928,6 +1016,12 @@
<(-15000) (-15000) (-15000) (-15000)
(-13000) (-14000) (-15000) (-18000)
(-20000) (-22000) (-24000) (-25000)
+ (-26000) (-27000) (-28000) (-30000)>,
+
+ /* Speed bin 3 */
+ <(-15000) (-15000) (-15000) (-15000)
+ (-13000) (-14000) (-15000) (-18000)
+ (-20000) (-22000) (-24000) (-25000)
(-26000) (-27000) (-28000) (-30000)>;
qcom,allow-voltage-interpolation;
@@ -935,7 +1029,7 @@
qcom,cpr-scaled-open-loop-voltage-as-ceiling;
qcom,cpr-aging-max-voltage-adjustment = <15000>;
- qcom,cpr-aging-ref-corner = <12 12 12>;
+ qcom,cpr-aging-ref-corner = <12 12 12 12>;
qcom,cpr-aging-ro-scaling-factor = <3200>;
qcom,allow-aging-voltage-adjustment =
/* Speed bin 0 */
@@ -945,6 +1039,9 @@
<0 0 0 1 1 1 1 1>,
/* Speed bin 2 */
+ <0 0 0 1 1 1 1 1>,
+
+ /* Speed bin 3 */
<0 0 0 1 1 1 1 1>;
};
@@ -958,9 +1055,9 @@
qcom,cpr-pd-bypass-mask = <0x18>;
qcom,cpr-fuse-corners = <5>;
- qcom,cpr-fuse-combos = <24>;
- qcom,cpr-speed-bins = <3>;
- qcom,cpr-speed-bin-corners = <19 15 19>;
+ qcom,cpr-fuse-combos = <32>;
+ qcom,cpr-speed-bins = <4>;
+ qcom,cpr-speed-bin-corners = <19 15 19 19>;
qcom,cpr-corners =
/* Speed bin 0 */
<19 19 19 19 19 19 19 19>,
@@ -969,6 +1066,9 @@
<15 15 15 15 15 15 15 15>,
/* Speed bin 2 */
+ <19 19 19 19 19 19 19 19>,
+
+ /* Speed bin 3 */
<19 19 19 19 19 19 19 19>;
qcom,cpr-corner-fmax-map =
@@ -979,6 +1079,9 @@
<1 2 5 13 15>,
/* Speed bin 2 */
+ <1 2 5 13 19>,
+
+ /* Speed bin 3 */
<1 2 5 13 19>;
qcom,cpr-voltage-ceiling =
@@ -997,8 +1100,13 @@
<670000 670000 745000 745000 745000
905000 905000 905000 905000 905000
905000 905000 905000 1140000 1140000
- 1140000 1140000 1140000 1140000>;
+ 1140000 1140000 1140000 1140000>,
+ /* Speed bin 3 */
+ <670000 670000 745000 745000 745000
+ 905000 905000 905000 905000 905000
+ 905000 905000 905000 1140000 1140000
+ 1140000 1140000 1140000 1140000>;
qcom,cpr-voltage-floor =
/* Speed bin 0 */
<625000 625000 625000 625000 625000
@@ -1092,6 +1200,40 @@
<470000 470000 470000 470000 470000
470000 470000 470000 470000 470000
470000 470000 470000 470000 470000
+ 470000 470000 470000 470000>,
+
+ /* Speed bin 3 */
+ <625000 625000 625000 625000 625000
+ 625000 625000 625000 625000 625000
+ 625000 625000 625000 625000 625000
+ 625000 625000 625000 625000>,
+ <625000 625000 625000 625000 625000
+ 625000 625000 625000 625000 625000
+ 625000 625000 625000 625000 625000
+ 625000 625000 625000 625000>,
+ <625000 625000 625000 625000 625000
+ 625000 625000 625000 625000 625000
+ 625000 625000 625000 625000 625000
+ 625000 625000 625000 625000>,
+ <625000 625000 625000 625000 625000
+ 625000 625000 625000 625000 625000
+ 625000 625000 625000 625000 625000
+ 625000 625000 625000 625000>,
+ <625000 625000 625000 625000 625000
+ 625000 625000 625000 625000 625000
+ 625000 625000 625000 625000 625000
+ 625000 625000 625000 625000>,
+ <625000 625000 625000 625000 625000
+ 625000 625000 625000 625000 625000
+ 625000 625000 625000 625000 625000
+ 625000 625000 625000 625000>,
+ <470000 470000 470000 470000 470000
+ 470000 470000 470000 470000 470000
+ 470000 470000 470000 470000 470000
+ 470000 470000 470000 470000>,
+ <470000 470000 470000 470000 470000
+ 470000 470000 470000 470000 470000
+ 470000 470000 470000 470000 470000
470000 470000 470000 470000>;
qcom,cpr-floor-to-ceiling-max-range =
@@ -1110,6 +1252,12 @@
<50000 50000 80000 80000 80000
80000 80000 80000 80000 80000
80000 80000 80000 80000 80000
+ 80000 80000 80000 80000>,
+
+ /* Speed bin 3 */
+ <50000 50000 80000 80000 80000
+ 80000 80000 80000 80000 80000
+ 80000 80000 80000 80000 80000
80000 80000 80000 80000>;
qcom,corner-frequencies =
@@ -1136,6 +1284,15 @@
979200000 1056000000 1132800000
1190400000 1228800000 1305600000
1382400000 1459200000 1536000000
+ 1593600000>,
+
+ /* Speed bin 3 */
+ <307200000 384000000 460800000
+ 537600000 595200000 672000000
+ 748800000 825600000 902400000
+ 979200000 1056000000 1132800000
+ 1190400000 1228800000 1305600000
+ 1382400000 1459200000 1536000000
1593600000>;
qcom,cpr-ro-scaling-factor =
@@ -1179,6 +1336,16 @@
<45000 0 5000 5000 (-25000)>,
<45000 0 5000 5000 (-25000)>,
<45000 0 5000 5000 (-25000)>,
+ <45000 0 5000 5000 (-25000)>,
+
+ /* Speed bin 3 */
+ <30000 0 (-10000) (-10000) (-40000)>,
+ <30000 0 (-10000) (-10000) (-40000)>,
+ <30000 0 (-10000) (-10000) (-40000)>,
+ <45000 0 5000 5000 (-25000)>,
+ <45000 0 5000 5000 (-25000)>,
+ <45000 0 5000 5000 (-25000)>,
+ <45000 0 5000 5000 (-25000)>,
<45000 0 5000 5000 (-25000)>;
qcom,cpr-closed-loop-voltage-fuse-adjustment =
@@ -1210,6 +1377,16 @@
<10000 5000 (-20000) 0 (-35000)>,
<10000 5000 (-20000) 0 (-35000)>,
<10000 5000 (-20000) 0 (-35000)>,
+ <10000 5000 (-20000) 0 (-35000)>,
+
+ /* Speed bin 3 */
+ <10000 5000 0 0 0>,
+ <10000 5000 (-20000) 0 (-35000)>,
+ <10000 5000 (-20000) 0 (-35000)>,
+ <10000 5000 (-20000) 0 (-35000)>,
+ <10000 5000 (-20000) 0 (-35000)>,
+ <10000 5000 (-20000) 0 (-35000)>,
+ <10000 5000 (-20000) 0 (-35000)>,
<10000 5000 (-20000) 0 (-35000)>;
qcom,allow-voltage-interpolation;
@@ -1217,7 +1394,7 @@
qcom,cpr-scaled-open-loop-voltage-as-ceiling;
qcom,cpr-aging-max-voltage-adjustment = <15000>;
- qcom,cpr-aging-ref-corner = <13 13 13>;
+ qcom,cpr-aging-ref-corner = <13 13 13 13>;
qcom,cpr-aging-ro-scaling-factor = <3200>;
qcom,allow-aging-voltage-adjustment =
/* Speed bin 0 */
@@ -1227,6 +1404,9 @@
<0 0 0 1 1 1 1 1>,
/* Speed bin 2 */
+ <0 0 0 1 1 1 1 1>,
+
+ /* Speed bin 3 */
<0 0 0 1 1 1 1 1>;
};
};
@@ -1245,9 +1425,9 @@
qcom,cpr-pd-bypass-mask = <0xe0>;
qcom,cpr-fuse-corners = <5>;
- qcom,cpr-fuse-combos = <24>;
- qcom,cpr-speed-bins = <3>;
- qcom,cpr-speed-bin-corners = <25 21 25>;
+ qcom,cpr-fuse-combos = <32>;
+ qcom,cpr-speed-bins = <4>;
+ qcom,cpr-speed-bin-corners = <25 21 25 25>;
qcom,cpr-corners =
/* Speed bin 0 */
<25 25 25 25 25 25 25 25>,
@@ -1255,7 +1435,10 @@
/* Speed bin 1 */
<21 21 21 21 21 21 21 21>,
- /* Speed bin 0 */
+ /* Speed bin 2 */
+ <25 25 25 25 25 25 25 25>,
+
+ /* Speed bin 3 */
<25 25 25 25 25 25 25 25>;
qcom,ldo-min-headroom-voltage = <150000>;
@@ -1271,6 +1454,9 @@
<1 4 9 13 21>,
/* Speed bin 2 */
+ <1 4 9 13 25>,
+
+ /* Speed bin 3 */
<1 4 9 13 25>;
qcom,cpr-voltage-ceiling =
@@ -1293,6 +1479,13 @@
745000 745000 745000 745000 905000
905000 905000 905000 1140000 1140000
1140000 1140000 1140000 1140000 1140000
+ 1140000 1140000 1140000 1140000 1140000>,
+
+ /* Speed bin 3 */
+ <670000 670000 670000 670000 745000
+ 745000 745000 745000 745000 905000
+ 905000 905000 905000 1140000 1140000
+ 1140000 1140000 1140000 1140000 1140000
1140000 1140000 1140000 1140000 1140000>;
@@ -1421,6 +1614,48 @@
470000 470000 470000 470000 470000
470000 470000 470000 470000 470000
470000 470000 470000 470000 470000
+ 470000 470000 470000 470000 470000>,
+
+ /* Speed bin 3 */
+ <625000 625000 625000 625000 625000
+ 625000 625000 625000 625000 625000
+ 625000 625000 625000 625000 625000
+ 625000 625000 625000 625000 625000
+ 625000 625000 625000 625000 625000>,
+ <625000 625000 625000 625000 625000
+ 625000 625000 625000 625000 625000
+ 625000 625000 625000 625000 625000
+ 625000 625000 625000 625000 625000
+ 625000 625000 625000 625000 625000>,
+ <625000 625000 625000 625000 625000
+ 625000 625000 625000 625000 625000
+ 625000 625000 625000 625000 625000
+ 625000 625000 625000 625000 625000
+ 625000 625000 625000 625000 625000>,
+ <625000 625000 625000 625000 625000
+ 625000 625000 625000 625000 625000
+ 625000 625000 625000 625000 625000
+ 625000 625000 625000 625000 625000
+ 625000 625000 625000 625000 625000>,
+ <625000 625000 625000 625000 625000
+ 625000 625000 625000 625000 625000
+ 625000 625000 625000 625000 625000
+ 625000 625000 625000 625000 625000
+ 625000 625000 625000 625000 625000>,
+ <625000 625000 625000 625000 625000
+ 625000 625000 625000 625000 625000
+ 625000 625000 625000 625000 625000
+ 625000 625000 625000 625000 625000
+ 625000 625000 625000 625000 625000>,
+ <470000 470000 470000 470000 470000
+ 470000 470000 470000 470000 470000
+ 470000 470000 470000 470000 470000
+ 470000 470000 470000 470000 470000
+ 470000 470000 470000 470000 470000>,
+ <470000 470000 470000 470000 470000
+ 470000 470000 470000 470000 470000
+ 470000 470000 470000 470000 470000
+ 470000 470000 470000 470000 470000
470000 470000 470000 470000 470000>;
qcom,cpr-floor-to-ceiling-max-range =
@@ -1443,6 +1678,13 @@
80000 80000 80000 80000 80000
80000 80000 80000 80000 80000
80000 80000 80000 80000 80000
+ 80000 80000 80000 80000 80000>,
+
+ /* Speed bin 3 */
+ <50000 50000 50000 50000 80000
+ 80000 80000 80000 80000 80000
+ 80000 80000 80000 80000 80000
+ 80000 80000 80000 80000 80000
80000 80000 80000 80000 80000>;
qcom,corner-frequencies =
@@ -1475,6 +1717,17 @@
1478400000 1555200000 1632000000
1708800000 1785600000 1824000000
1920000000 1996800000 2073600000
+ 2150400000>,
+
+ /* Speed bin 3 */
+ <307200000 403200000 480000000
+ 556800000 652800000 729600000
+ 806400000 883200000 940800000
+ 1036800000 1113600000 1190400000
+ 1248000000 1324800000 1401600000
+ 1478400000 1555200000 1632000000
+ 1708800000 1785600000 1824000000
+ 1920000000 1996800000 2073600000
2150400000>;
qcom,cpr-ro-scaling-factor =
@@ -1518,6 +1771,16 @@
<35000 0 30000 15000 15000>,
<35000 0 30000 15000 15000>,
<35000 0 30000 15000 15000>,
+ <35000 0 30000 15000 15000>,
+
+ /* Speed bin 3 */
+ <20000 0 15000 (-55000) 0>,
+ <20000 0 15000 (-55000) 0>,
+ <20000 0 15000 0 0>,
+ <35000 0 30000 15000 15000>,
+ <35000 0 30000 15000 15000>,
+ <35000 0 30000 15000 15000>,
+ <35000 0 30000 15000 15000>,
<35000 0 30000 15000 15000>;
qcom,cpr-closed-loop-voltage-fuse-adjustment =
@@ -1549,6 +1812,16 @@
< 0 0 0 0 0>,
< 0 0 0 0 0>,
< 0 0 0 0 0>,
+ < 0 0 0 0 0>,
+
+ /* Speed bin 3 */
+ <35000 35000 40000 (-30000) 40000>,
+ < 0 0 0 (-70000) 0>,
+ < 0 0 0 0 0>,
+ < 0 0 0 0 0>,
+ < 0 0 0 0 0>,
+ < 0 0 0 0 0>,
+ < 0 0 0 0 0>,
< 0 0 0 0 0>;
qcom,cpr-open-loop-voltage-adjustment =
@@ -1576,6 +1849,15 @@
(-25000) (-25000) (-26000) (-26000)
(-27000) (-27000) (-28000) (-28000)
(-28000) (-29000) (-29000) (-30000)
+ (-30000)>,
+
+ /* Speed bin 3 */
+ <(-15000) (-15000) (-15000) (-15000)
+ (-11000) (-12000) (-13000) (-14000)
+ (-15000) (-18000) (-21000) (-23000)
+ (-25000) (-25000) (-26000) (-26000)
+ (-27000) (-27000) (-28000) (-28000)
+ (-28000) (-29000) (-29000) (-30000)
(-30000)>;
qcom,cpr-open-loop-voltage-min-diff =
@@ -1589,6 +1871,10 @@
/* Speed bin 2 */
<0 0 0 0 (-50000) 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0>,
+
+ /* Speed bin 3 */
+ <0 0 0 0 (-50000) 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0>;
qcom,cpr-closed-loop-voltage-adjustment =
@@ -1616,6 +1902,15 @@
(-25000) (-25000) (-26000) (-26000)
(-27000) (-27000) (-28000) (-28000)
(-28000) (-29000) (-29000) (-30000)
+ (-30000)>,
+
+ /* Speed bin 3 */
+ <(-15000) (-15000) (-15000) (-15000)
+ (-11000) (-12000) (-13000) (-14000)
+ (-15000) (-18000) (-21000) (-23000)
+ (-25000) (-25000) (-26000) (-26000)
+ (-27000) (-27000) (-28000) (-28000)
+ (-28000) (-29000) (-29000) (-30000)
(-30000)>;
qcom,allow-voltage-interpolation;
@@ -1623,7 +1918,7 @@
qcom,cpr-scaled-open-loop-voltage-as-ceiling;
qcom,cpr-aging-max-voltage-adjustment = <15000>;
- qcom,cpr-aging-ref-corner = <13 13 13>;
+ qcom,cpr-aging-ref-corner = <13 13 13 13>;
qcom,cpr-aging-ro-scaling-factor = <3200>;
qcom,allow-aging-voltage-adjustment =
/* Speed bin 0 */
@@ -1633,6 +1928,9 @@
<0 0 0 1 1 1 1 1>,
/* Speed bin 2 */
+ <0 0 0 1 1 1 1 1>,
+
+ /* Speed bin 3 */
<0 0 0 1 1 1 1 1>;
qcom,cpr-dynamic-floor-corner = <1>;
diff --git a/arch/arm/boot/dts/qcom/msm8996-v3-pmi8996-mtp-z2_plus.dts b/arch/arm/boot/dts/qcom/msm8996-v3-pmi8996-mtp-z2_plus.dts
new file mode 100644
index 000000000000..c0d4e6dd5dd1
--- /dev/null
+++ b/arch/arm/boot/dts/qcom/msm8996-v3-pmi8996-mtp-z2_plus.dts
@@ -0,0 +1,26 @@
+/* Copyright (c) 2015, 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 "msm8996-v3.dtsi"
+#include "msm-pmi8996.dtsi"
+#include "msm8996-mtp.dtsi"
+
+/ {
+ model = "Qualcomm Technologies, Inc. MSM 8996 v3 + PMI8996 MTP";
+ compatible = "qcom,msm8996-mtp", "qcom,msm8996", "qcom,mtp";
+ qcom,board-id = <8 0>;
+};
+
+#include "zuk/z2_plus-base.dtsi"
diff --git a/arch/arm/boot/dts/qcom/msm8996-v3-pmi8996-mtp-z2_row.dts b/arch/arm/boot/dts/qcom/msm8996-v3-pmi8996-mtp-z2_row.dts
new file mode 100644
index 000000000000..80a737220b84
--- /dev/null
+++ b/arch/arm/boot/dts/qcom/msm8996-v3-pmi8996-mtp-z2_row.dts
@@ -0,0 +1,26 @@
+/* Copyright (c) 2015, 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 "msm8996-v3.dtsi"
+#include "msm-pmi8996.dtsi"
+#include "msm8996-mtp.dtsi"
+
+/ {
+ model = "Qualcomm Technologies, Inc. MSM 8996 v3 + PMI8996 MTP";
+ compatible = "qcom,msm8996-mtp", "qcom,msm8996", "qcom,mtp";
+ qcom,board-id = <8 0>;
+};
+
+#include "zuk/z2_row-base.dtsi"
diff --git a/arch/arm/boot/dts/qcom/msm8996-v3.dtsi b/arch/arm/boot/dts/qcom/msm8996-v3.dtsi
index ae44b88d6927..aaf6b4250459 100644
--- a/arch/arm/boot/dts/qcom/msm8996-v3.dtsi
+++ b/arch/arm/boot/dts/qcom/msm8996-v3.dtsi
@@ -1,4 +1,4 @@
-/* Copyright (c) 2014-2016, The Linux Foundation. All rights reserved.
+/* 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
@@ -90,6 +90,24 @@
< 401800000 5 >,
< 510000000 5 >,
< 560000000 7 >;
+ qcom,gfxfreq-speedbin3 =
+ < 0 0 0 >,
+ < 133000000 2 4 >,
+ < 214000000 3 4 >,
+ < 315000000 4 4 >,
+ < 401800000 5 5 >,
+ < 510000000 6 5 >,
+ < 560000000 7 7 >,
+ < 624000000 8 7 >;
+ qcom,gfxfreq-mx-speedbin3 =
+ < 0 0 >,
+ < 133000000 4 >,
+ < 214000000 4 >,
+ < 315000000 4 >,
+ < 401800000 5 >,
+ < 510000000 5 >,
+ < 560000000 7 >,
+ < 624000000 7 >;
};
&gdsc_gpu_gx {
@@ -135,7 +153,7 @@
qcom,speed-bin = <0>;
- qcom,initial-pwrlevel = <5>;
+ qcom,initial-pwrlevel = <6>;
qcom,gpu-pwrlevel@0 {
reg = <0>;
@@ -324,6 +342,79 @@
};
};
+
+ qcom,gpu-pwrlevels-3 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ qcom,speed-bin = <3>;
+
+ qcom,initial-pwrlevel = <5>;
+
+ qcom,gpu-pwrlevel@0 {
+ reg = <0>;
+ qcom,gpu-freq = <624000000>;
+ qcom,bus-freq = <12>;
+ qcom,bus-min = <11>;
+ qcom,bus-max = <12>;
+ };
+
+ qcom,gpu-pwrlevel@1 {
+ reg = <1>;
+ qcom,gpu-freq = <560000000>;
+ qcom,bus-freq = <11>;
+ qcom,bus-min = <9>;
+ qcom,bus-max = <12>;
+ };
+
+ qcom,gpu-pwrlevel@2 {
+ reg = <2>;
+ qcom,gpu-freq = <510000000>;
+ qcom,bus-freq = <9>;
+ qcom,bus-min = <8>;
+ qcom,bus-max = <11>;
+ };
+
+ qcom,gpu-pwrlevel@3 {
+ reg = <3>;
+ qcom,gpu-freq = <401800000>;
+ qcom,bus-freq = <8>;
+ qcom,bus-min = <7>;
+ qcom,bus-max = <9>;
+ };
+
+ qcom,gpu-pwrlevel@4 {
+ reg = <4>;
+ qcom,gpu-freq = <315000000>;
+ qcom,bus-freq = <6>;
+ qcom,bus-min = <5>;
+ qcom,bus-max = <7>;
+ };
+
+ qcom,gpu-pwrlevel@5 {
+ reg = <5>;
+ qcom,gpu-freq = <214000000>;
+ qcom,bus-freq = <4>;
+ qcom,bus-min = <3>;
+ qcom,bus-max = <5>;
+ };
+
+ qcom,gpu-pwrlevel@6 {
+ reg = <6>;
+ qcom,gpu-freq = <133000000>;
+ qcom,bus-freq = <3>;
+ qcom,bus-min = <2>;
+ qcom,bus-max = <4>;
+ };
+
+ qcom,gpu-pwrlevel@7 {
+ reg = <7>;
+ qcom,gpu-freq = <27000000>;
+ qcom,bus-freq = <0>;
+ qcom,bus-min = <0>;
+ qcom,bus-max = <0>;
+ };
+ };
};
};
@@ -515,6 +606,24 @@
< 1324800000 13 >,
< 1401600000 14 >,
< 1497600000 15 >;
+ qcom,pwrcl-speedbin3-v0 =
+ < 0 0 >,
+ < 307200000 1 >,
+ < 422400000 2 >,
+ < 480000000 3 >,
+ < 556800000 4 >,
+ < 652800000 5 >,
+ < 729600000 6 >,
+ < 844800000 7 >,
+ < 960000000 8 >,
+ < 1036800000 9 >,
+ < 1113600000 10 >,
+ < 1190400000 11 >,
+ < 1228800000 12 >,
+ < 1324800000 13 >,
+ < 1401600000 14 >,
+ < 1478400000 15 >,
+ < 1593600000 16 >;
qcom,perfcl-speedbin0-v0 =
< 0 0 >,
< 307200000 1 >,
@@ -589,6 +698,29 @@
< 1785600000 20 >,
< 1804800000 21 >,
< 1900800000 22 >;
+ qcom,perfcl-speedbin3-v0 =
+ < 0 0 >,
+ < 307200000 1 >,
+ < 403200000 2 >,
+ < 480000000 3 >,
+ < 556800000 4 >,
+ < 652800000 5 >,
+ < 729600000 6 >,
+ < 806400000 7 >,
+ < 883200000 8 >,
+ < 940800000 9 >,
+ < 1036800000 10 >,
+ < 1113600000 11 >,
+ < 1190400000 12 >,
+ < 1248000000 13 >,
+ < 1324800000 14 >,
+ < 1401600000 15 >,
+ < 1478400000 16 >,
+ < 1555200000 17 >,
+ < 1632000000 18 >,
+ < 1708800000 19 >,
+ < 1785600000 20 >,
+ < 1804800000 21 >;
qcom,cbf-speedbin0-v0 =
< 0 0 >,
< 307200000 1 >,
@@ -644,6 +776,27 @@
< 1190400000 13 >,
< 1228800000 14 >,
< 1305600000 15 >;
+ qcom,cbf-speedbin3-v0 =
+ < 0 0 >,
+ < 307200000 1 >,
+ < 384000000 2 >,
+ < 460800000 3 >,
+ < 537600000 4 >,
+ < 595200000 5 >,
+ < 672000000 6 >,
+ < 748800000 7 >,
+ < 825600000 8 >,
+ < 902400000 9 >,
+ < 979200000 10 >,
+ < 1056000000 11 >,
+ < 1132800000 12 >,
+ < 1190400000 13 >,
+ < 1228800000 14 >,
+ < 1305600000 15 >,
+ < 1382400000 16 >,
+ < 1459200000 17 >,
+ < 1536000000 18 >,
+ < 1593600000 19 >;
};
&msm_cpufreq {
diff --git a/arch/arm/boot/dts/qcom/zuk/batterydata-z2_plus-3500mah.dtsi b/arch/arm/boot/dts/qcom/zuk/batterydata-z2_plus-3500mah.dtsi
new file mode 100755
index 000000000000..37c715eff98a
--- /dev/null
+++ b/arch/arm/boot/dts/qcom/zuk/batterydata-z2_plus-3500mah.dtsi
@@ -0,0 +1,146 @@
+&mtp_batterydata {
+qcom,default_2343799_lenovo_3500mah_averaged_masterslave_mar16th2016 {
+ /* #2343799_Lenovo_3500mAh_averaged_MasterSlave_Mar16th2016*/
+ qcom,max-voltage-uv = <4400000>;
+ qcom,nom-batt-capacity-mah = <3500>;
+ qcom,batt-id-kohm = <100>;
+ qcom,battery-beta = <4250>;
+ qcom,battery-type = "default_2343799_lenovo_3500mah_averaged_masterslave_mar16th2016";
+ qcom,chg-rslow-comp-c1 = <3361614>;
+ qcom,chg-rslow-comp-c2 = <4737910>;
+ qcom,chg-rs-to-rslow = <843256>;
+ qcom,chg-rslow-comp-thr = <0xA5>;
+ qcom,checksum = <0x45AB>;
+ qcom,gui-version = "PMI8996GUI - 1.1.0.0";
+ qcom,fg-profile-data = [
+ E0 83 CA 7C
+ 02 81 05 77
+ 68 83 22 75
+ F0 89 EA 94
+ 0F 82 90 9A
+ 7F BD 2C CA
+ 56 12 F5 83
+ 04 7D 05 81
+ D2 76 51 83
+ 71 6B D4 72
+ 7D 85 52 82
+ 91 99 D4 BC
+ A9 C9 58 0D
+ DD 0D A0 5A
+ 14 70 50 FD
+ E6 3C 3A 44
+ C6 3A 00 00
+ F3 44 D4 20
+ FD 36 00 00
+ 00 00 00 00
+ 00 00 00 00
+ CB 6A 22 69
+ 56 68 7D 88
+ 52 76 B6 69
+ FB 4A 11 81
+ 3D 75 3D 68
+ 95 6D 1C A9
+ 1A 69 60 B3
+ 5D A0 71 0C
+ 28 00 FF 36
+ F0 11 30 03
+ 00 00 00 0C
+ ];
+ };
+ qcom,Coslight_9k_2385871_lenovo_bl268drn_3500mah_averaged_masterslave_jun1st2016 {
+ /* #2385871_Lenovo_BL268DRN_3500mAh_averaged_MasterSlave_Jun1st2016*/
+ qcom,max-voltage-uv = <4400000>;
+ qcom,nom-batt-capacity-mah = <2700>;
+ qcom,batt-id-kohm = <9>;
+ qcom,battery-beta = <4250>;
+ qcom,battery-type = "Coslight_9k_2385871_lenovo_bl268drn_3500mah_averaged_masterslave";
+ qcom,chg-rslow-comp-c1 = <3357796>;
+ qcom,chg-rslow-comp-c2 = <4587586>;
+ qcom,chg-rs-to-rslow = <731876>;
+ qcom,chg-rslow-comp-thr = <0xA2>;
+ qcom,checksum = <0xE4B2>;
+ qcom,gui-version = "PMI8996GUI - 1.1.0.0";
+ qcom,fg-profile-data = [
+ F7 83 AF 7D
+ BF 81 3B 7C
+ 61 83 CD 6D
+ 1E 88 6E 8E
+ 13 82 7C 9A
+ 8C BD 78 CA
+ 5B 0E 04 88
+ E5 7D CA 81
+ 35 7C 4A 83
+ BA 71 04 74
+ 39 74 57 82
+ 53 99 80 BC
+ 24 C9 5E 0D
+ 95 0D A0 5A
+ 14 70 50 FD
+ 2E 3E 87 44
+ C6 3A 00 00
+ 17 4C FD 29
+ 97 38 00 00
+ 00 00 00 00
+ 00 00 00 00
+ 19 6A 89 68
+ 74 5B 1E 88
+ 50 76 95 69
+ 38 5B 01 81
+ 14 75 E3 63
+ 03 58 9D A8
+ 1D E2 60 93
+ 5E A0 71 0C
+ 28 00 FF 36
+ F0 11 30 03
+ 00 00 00 0C
+ ];
+ };
+ qcom,ATL_2343799_lenovo_3500mah_averaged_masterslave_mar16th2016 {
+ /* #2343799_Lenovo_3500mAh_averaged_MasterSlave_Mar16th2016*/
+ qcom,max-voltage-uv = <4400000>;
+ qcom,nom-batt-capacity-mah = <3500>;
+ qcom,batt-id-kohm = <50>;
+ qcom,battery-beta = <4250>;
+ qcom,battery-type = "ATL_2343799_lenovo_3500mah_averaged_masterslave_mar16th2016";
+ qcom,chg-rslow-comp-c1 = <3361614>;
+ qcom,chg-rslow-comp-c2 = <4737910>;
+ qcom,chg-rs-to-rslow = <843256>;
+ qcom,chg-rslow-comp-thr = <0xA5>;
+ qcom,checksum = <0x45AB>;
+ qcom,gui-version = "PMI8996GUI - 1.1.0.0";
+ qcom,fg-profile-data = [
+ E0 83 CA 7C
+ 02 81 05 77
+ 68 83 22 75
+ F0 89 EA 94
+ 0F 82 90 9A
+ 7F BD 2C CA
+ 56 12 F5 83
+ 04 7D 05 81
+ D2 76 51 83
+ 71 6B D4 72
+ 7D 85 52 82
+ 91 99 D4 BC
+ A9 C9 58 0D
+ DD 0D A0 5A
+ 14 70 50 FD
+ E6 3C 3A 44
+ C6 3A 00 00
+ F3 44 D4 20
+ FD 36 00 00
+ 00 00 00 00
+ 00 00 00 00
+ CB 6A 22 69
+ 56 68 7D 88
+ 52 76 B6 69
+ FB 4A 11 81
+ 3D 75 3D 68
+ 95 6D 1C A9
+ 1A 69 60 B3
+ 5D A0 71 0C
+ 28 00 FF 36
+ F0 11 30 03
+ 00 00 00 0C
+ ];
+ };
+};
diff --git a/arch/arm/boot/dts/qcom/zuk/batterydata-z2_row-3000mah.dtsi b/arch/arm/boot/dts/qcom/zuk/batterydata-z2_row-3000mah.dtsi
new file mode 100644
index 000000000000..6be437c00e40
--- /dev/null
+++ b/arch/arm/boot/dts/qcom/zuk/batterydata-z2_row-3000mah.dtsi
@@ -0,0 +1,147 @@
+&mtp_batterydata {
+ qcom,default_2293785_lenovo_z2_3000mah_averaged_masterslave_jan18th2016 {
+ /* #2293785_Lenovo_Z2_3000mAh_averaged_MasterSlave_Jan18th2016*/
+ qcom,max-voltage-uv = <4400000>;
+ qcom,nom-batt-capacity-mah = <3000>;
+ qcom,batt-id-kohm = <100>;
+ qcom,battery-beta = <4250>;
+ qcom,battery-type = "default_2293785_lenovo_z2_3000mah_averaged_masterslave_jan18th2016";
+ qcom,chg-rslow-comp-c1 = <3943602>;
+ qcom,chg-rslow-comp-c2 = <6715092>;
+ qcom,chg-rs-to-rslow = <823533>;
+ qcom,chg-rslow-comp-thr = <0xB4>;
+ qcom,checksum = <0x9875>;
+ qcom,gui-version = "PMI8994GUI - 2.1.6.9";
+ qcom,fg-profile-data = [
+ D6 83 3D 7C
+ 70 80 AE 75
+ 60 83 89 6E
+ D5 88 19 94
+ 52 82 FC 93
+ 1A B5 61 C0
+ 52 16 E5 83
+ 38 7C 3F 80
+ 0B 75 5D 83
+ 2A 4B 90 82
+ BC 8E 50 82
+ 92 99 CF BC
+ 9B C9 54 0E
+ 5A 0C 18 60
+ 14 70 B2 FD
+ 1F 2E 1C 45
+ 07 39 00 00
+ BD 45 C2 19
+ 6E 33 00 00
+ 00 00 00 00
+ 00 00 00 00
+ 78 6A 4E 69
+ 36 5D 43 88
+ F3 76 27 6B
+ 09 59 24 81
+ D6 75 74 69
+ 8A 6C 5F AB
+ 1D 1A 61 14
+ 5F A0 71 0C
+ 28 00 FF 36
+ F0 11 30 03
+ 00 00 00 0C
+ ];
+ };
+ qcom,2343850_lenovo_z2drn_3000mah_averaged_masterslave_mar8th2016 {
+ /* #2343850_Lenovo_Z2DRN_3000mAh_averaged_MasterSlave_Mar8th2016*/
+ qcom,max-voltage-uv = <4400000>;
+ qcom,nom-batt-capacity-mah = <3000>;
+ qcom,batt-id-kohm = <32>;
+ qcom,battery-beta = <4250>;
+ qcom,battery-type = "LGC_2343850_lenovo_z2drn_3000mah_averaged_masterslave_mar8th2016";
+ qcom,chg-rslow-comp-c1 = <3123995>;
+ qcom,chg-rslow-comp-c2 = <3812800>;
+ qcom,chg-rs-to-rslow = <1149995>;
+ qcom,chg-rslow-comp-thr = <0x99>;
+ qcom,checksum = <0x516E>;
+ qcom,gui-version = "PMI8996GUI - 1.1.0.0";
+ qcom,fg-profile-data = [
+ F0 83 63 7D
+ 79 81 E9 77
+ 5D 83 52 6C
+ 63 83 D7 8D
+ 2E 82 F5 98
+ EE B6 80 C2
+ 5B 10 F6 83
+ 10 7D 1A 81
+ 02 77 63 83
+ A5 66 8A 88
+ 58 94 54 82
+ AA 99 F5 BC
+ E0 C9 52 0D
+ 63 0C A5 5A
+ 14 70 B2 FD
+ B2 2E C1 45
+ AF 39 00 00
+ A0 4C E3 3F
+ 02 4A 00 00
+ 00 00 00 00
+ 00 00 00 00
+ 2E 70 BE 6A
+ 63 72 3A 89
+ 0C 76 35 68
+ FC 6C 6C 80
+ 08 75 1C 61
+ 77 7E 07 B2
+ 1D F6 69 2D
+ 6C A0 71 0C
+ 28 00 FF 36
+ F0 11 30 03
+ 00 00 00 0C
+ ];
+ };
+
+ qcom,Coslight_2293785_lenovo_z2_3000mah_averaged_masterslave_jan18th2016 {
+ /* #2293785_Lenovo_Z2_3000mAh_averaged_MasterSlave_Jan18th2016*/
+ qcom,max-voltage-uv = <4400000>;
+ qcom,nom-batt-capacity-mah = <3000>;
+ qcom,batt-id-kohm = <50>;
+ qcom,battery-beta = <4250>;
+ qcom,battery-type = "Coslight_2293785_lenovo_z2_3000mah_averaged_masterslave_jan18th2016";
+ qcom,chg-rslow-comp-c1 = <3943602>;
+ qcom,chg-rslow-comp-c2 = <6715092>;
+ qcom,chg-rs-to-rslow = <823533>;
+ qcom,chg-rslow-comp-thr = <0xB4>;
+ qcom,checksum = <0x9875>;
+ qcom,gui-version = "PMI8994GUI - 2.1.6.9";
+ qcom,fg-profile-data = [
+ D6 83 3D 7C
+ 70 80 AE 75
+ 60 83 89 6E
+ D5 88 19 94
+ 52 82 FC 93
+ 1A B5 61 C0
+ 52 16 E5 83
+ 38 7C 3F 80
+ 0B 75 5D 83
+ 2A 4B 90 82
+ BC 8E 50 82
+ 92 99 CF BC
+ 9B C9 54 0E
+ 5A 0C 18 60
+ 14 70 B2 FD
+ 1F 2E 1C 45
+ 07 39 00 00
+ BD 45 C2 19
+ 6E 33 00 00
+ 00 00 00 00
+ 00 00 00 00
+ 78 6A 4E 69
+ 36 5D 43 88
+ F3 76 27 6B
+ 09 59 24 81
+ D6 75 74 69
+ 8A 6C 5F AB
+ 1D 1A 61 14
+ 5F A0 71 0C
+ 28 00 FF 36
+ F0 11 30 03
+ 00 00 00 0C
+ ];
+ };
+};
diff --git a/arch/arm/boot/dts/qcom/zuk/common-camera-sensor.dtsi b/arch/arm/boot/dts/qcom/zuk/common-camera-sensor.dtsi
new file mode 100755
index 000000000000..412adad704c3
--- /dev/null
+++ b/arch/arm/boot/dts/qcom/zuk/common-camera-sensor.dtsi
@@ -0,0 +1,127 @@
+&cci {
+ /delete-node/ qcom,actuator@1;
+ /delete-node/ qcom,eeprom@0;
+ /delete-node/ qcom,camera@0;
+ /delete-node/ qcom,camera@1;
+ /delete-node/ qcom,eeprom@1;
+ /delete-node/ qcom,camera@2;
+
+ eeprom1: qcom,eeprom@1 {
+ cell-index = <1>;
+ reg = <0x1>;
+ compatible = "qcom,eeprom";
+ qcom,cci-master = <1>;
+ cam_vdig-supply = <&pm8994_l27>;
+ cam_vio-supply = <&pm8994_lvs1>;
+ cam_vana-supply = <&pm8994_l17>;
+ qcom,cam-vreg-name = "cam_vdig", "cam_vio", "cam_vana";
+ qcom,cam-vreg-min-voltage = <1200000 0 2800000>;
+ qcom,cam-vreg-max-voltage = <1200000 0 2800000>;
+ qcom,cam-vreg-op-mode = <105000 0 80000>;
+ qcom,gpio-no-mux = <0>;
+ pinctrl-names = "cam_default", "cam_suspend";
+ pinctrl-0 = <&cam_sensor_mclk2_active &cam_sensor_front_active>;
+ pinctrl-1 = <&cam_sensor_mclk2_suspend &cam_sensor_front_suspend>;
+ gpios = <&tlmm 15 0>,
+ <&tlmm 23 0>,
+ <&tlmm 25 0>;
+ qcom,gpio-reset = <1>;
+ qcom,gpio-standby = <2>;
+ qcom,gpio-req-tbl-num = <0 1 2>;
+ qcom,gpio-req-tbl-flags = <1 0 0>;
+ qcom,gpio-req-tbl-label = "CAMIF_MCLK2",
+ "CAM_RESET2",
+ "CAM_STANDBY2";
+ clocks = <&clock_mmss clk_mclk2_clk_src>,
+ <&clock_mmss clk_camss_mclk2_clk>;
+ clock-names = "cam_src_clk", "cam_clk";
+ };
+
+ qcom,camera@2 {
+ cell-index = <2>;
+ compatible = "qcom,camera";
+ reg = <0x02>;
+ qcom,csiphy-sd-index = <2>;
+ qcom,csid-sd-index = <2>;
+ qcom,mount-angle = <270>;
+ qcom,eeprom-src = <&eeprom1>;
+ cam_vdig-supply = <&pm8994_l27>;
+ cam_vio-supply = <&pm8994_lvs1>;
+ cam_vana-supply = <&pm8994_l17>;
+ qcom,vdd-cx-supply = <&pm8994_s1_corner>;
+ qcom,vdd-cx-name = "qcom,vdd-cx";
+ qcom,cam-vreg-name = "cam_vdig", "cam_vio", "cam_vana";
+ qcom,cam-vreg-min-voltage = <1200000 0 2800000>;
+ qcom,cam-vreg-max-voltage = <1200000 0 2800000>;
+ qcom,cam-vreg-op-mode = <105000 0 80000>;
+ qcom,gpio-no-mux = <0>;
+ pinctrl-names = "cam_default", "cam_suspend";
+ pinctrl-0 = <&cam_sensor_mclk2_active &cam_sensor_front_active>;
+ pinctrl-1 = <&cam_sensor_mclk2_suspend &cam_sensor_front_suspend>;
+ gpios = <&tlmm 15 0>,
+ <&tlmm 23 0>,
+ <&tlmm 25 0>;
+ qcom,gpio-reset = <1>;
+ qcom,gpio-standby = <2>;
+ qcom,gpio-req-tbl-num = <0 1 2>;
+ qcom,gpio-req-tbl-flags = <1 0 0>;
+ qcom,gpio-req-tbl-label = "CAMIF_MCLK2",
+ "CAM_RESET2",
+ "CAM_STANDBY2";
+ qcom,sensor-position = <1>;
+ qcom,sensor-mode = <0>;
+ qcom,cci-master = <1>;
+ status = "ok";
+ clocks = <&clock_mmss clk_mclk2_clk_src>,
+ <&clock_mmss clk_camss_mclk2_clk>;
+ clock-names = "cam_src_clk", "cam_clk";
+ };
+};
+
+&cam_sensor_rear_active {
+ mux {
+ pins = "gpio30", "gpio27";
+ };
+ config {
+ pins = "gpio30", "gpio27";
+ };
+};
+
+&cam_sensor_rear_suspend {
+ mux {
+ pins = "gpio30", "gpio27";
+ };
+ config {
+ pins = "gpio30", "gpio27";
+ };
+};
+
+&cam_sensor_front_active {
+ mux {
+ pins = "gpio23","gpio25";
+ };
+ config {
+ pins = "gpio23","gpio25";
+ };
+};
+
+&cam_sensor_front_suspend {
+ mux {
+ pins = "gpio23","gpio25";
+ };
+ config {
+ pins = "gpio23","gpio25";
+ };
+};
+
+&pmi8994_flash1 {
+ qcom,current = <400>;
+};
+
+&pmi8994_torch0 {
+ qcom,current = <200>;
+};
+
+&pmi8994_torch1 {
+ qcom,current = <40>;
+};
diff --git a/arch/arm/boot/dts/qcom/zuk/common-charger.dtsi b/arch/arm/boot/dts/qcom/zuk/common-charger.dtsi
new file mode 100755
index 000000000000..2377a3d4a1c6
--- /dev/null
+++ b/arch/arm/boot/dts/qcom/zuk/common-charger.dtsi
@@ -0,0 +1,26 @@
+&pmi8994_charger {
+ qcom,battery-data = <&mtp_batterydata>;
+ qcom,float-voltage-mv = <4400>;
+ qcom,thermal-mitigation = <1400 500 0>;
+ qcom,warm-cc-comp = <1300>;
+ qcom,warm-fv-comp = <4100>;
+ qcom,cool-cc-comp = <500>;
+ qcom,cool-fv-comp = <4400>;
+ qcom,bmd-algo-disabled;
+ qcom,float-voltage-comp = <0x10>;
+ qcom,fastchg-current-comp = <1500>;
+};
+
+&pmi8994_fg {
+ qcom,resume-soc = <99>;
+ qcom,fg-cc-cv-threshold-mv = <4390>;
+ qcom,thermal-coefficients = [b7 85 b2 49 71 35]; // NTC B: 4250
+};
+
+&pmi8994_pwm_4 {
+ qcom,supported-sizes = <6>,<7>, <9>;
+ qcom,period = <1000>;
+ qcom,lpg-dtest-line = <4>;
+ qcom,dtest-output = <2>;
+ status = "okay";
+};
diff --git a/arch/arm/boot/dts/qcom/zuk/common-fingerprint.dtsi b/arch/arm/boot/dts/qcom/zuk/common-fingerprint.dtsi
new file mode 100755
index 000000000000..4d5131fc7f50
--- /dev/null
+++ b/arch/arm/boot/dts/qcom/zuk/common-fingerprint.dtsi
@@ -0,0 +1,39 @@
+&soc {
+ fpc1020 {
+ compatible = "fpc,fpc1020";
+ interrupt-parent = <&tlmm>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&fpc_default>;
+ interrupts = <91 0x1>;
+ fpc,gpio_irq = <&tlmm 91 0x00>;
+ fpc,gpio_reset = <&tlmm 90 0x00>;
+ fpc,enable-wakeup;
+ };
+
+ gen-vkeys {
+ compatible = "qcom,gen-vkeys";
+ label = "synaptics_dsx";
+ qcom,disp-maxx = <1599>;
+ qcom,disp-maxy = <2559>;
+ qcom,panel-maxx = <1599>;
+ qcom,panel-maxy = <2703>;
+ qcom,key-codes = <158 139 102 217>;
+ };
+};
+
+&tlmm {
+ /*add for fpc1020*/
+ fpc_mux {
+ fpc_default: default {
+ mux {
+ pins = "gpio90", "gpio91";
+ function = "gpio";
+ };
+ config {
+ pins = "gpio90", "gpio91";
+ drive-strength = <2>;
+ bias-disable;
+ };
+ };
+ };
+};
diff --git a/arch/arm/boot/dts/qcom/zuk/common-led.dtsi b/arch/arm/boot/dts/qcom/zuk/common-led.dtsi
new file mode 100755
index 000000000000..8352aaa834ea
--- /dev/null
+++ b/arch/arm/boot/dts/qcom/zuk/common-led.dtsi
@@ -0,0 +1,43 @@
+&spmi_bus {
+ qcom,pmi8994@3 {
+ qcom,leds@d000 {
+ qcom,rgb-sync;
+ };
+ };
+};
+
+&red_led {
+ qcom,start-idx=<0>;
+ qcom,idx-len = <8>;
+ qcom,duty-pcts=[ 00 0E 1C 2A 38 46 54 64 ];
+ qcom,lut-flags=<31>; /* loop, ramp up, reverse, pause hi, pause lo */
+ qcom,pause-lo=<500>;
+ qcom,pause-hi = <500>;
+ qcom,ramp-step-ms = <50>;
+ qcom,use-blink;
+ /delete-property/ linux,default-trigger;
+};
+
+&green_led {
+ qcom,start-idx=<8>;
+ qcom,idx-len = <8>;
+ qcom,duty-pcts=[ 00 0E 1C 2A 38 46 54 64 ];
+ qcom,lut-flags=<31>; /* loop, ramp up, reverse, pause hi, pause lo */
+ qcom,pause-lo=<500>;
+ qcom,pause-hi = <500>;
+ qcom,ramp-step-ms = <50>;
+ qcom,use-blink;
+ /delete-property/ linux,default-trigger;
+};
+
+&blue_led {
+ qcom,start-idx=<16>;
+ qcom,idx-len = <8>;
+ qcom,duty-pcts=[ 00 0E 1C 2A 38 46 54 64 ];
+ qcom,lut-flags=<31>; /* loop, ramp up, reverse, pause hi, pause lo */
+ qcom,pause-lo=<500>;
+ qcom,pause-hi = <500>;
+ qcom,ramp-step-ms = <50>;
+ qcom,use-blink;
+ /delete-property/ linux,default-trigger;
+};
diff --git a/arch/arm/boot/dts/qcom/zuk/common-mdss.dtsi b/arch/arm/boot/dts/qcom/zuk/common-mdss.dtsi
new file mode 100755
index 000000000000..0152fbdafdcb
--- /dev/null
+++ b/arch/arm/boot/dts/qcom/zuk/common-mdss.dtsi
@@ -0,0 +1,45 @@
+&mdss_dsi1 {
+ /delete-property/ qcom,dsi-pref-prim-pan;
+ /delete-property/ pinctrl-names;
+ /delete-property/ pinctrl-0;
+ /delete-property/ pinctrl-1;
+ /delete-property/ qcom,platform-te-gpio;
+ /delete-property/ qcom,platform-reset-gpio;
+ /delete-property/ qcom,platform-bklight-en-gpio;
+};
+
+&mdss_dsi1 {
+ compatible = "qcom,mdss-dsi-ctrl-notuse";
+};
+
+&dsi_panel_pwr_supply {
+ qcom,panel-supply-entry@0 {
+ qcom,supply-post-on-sleep = <1>;
+ qcom,supply-pre-off-sleep = <3>;
+ };
+
+ qcom,panel-supply-entry@2 {
+ qcom,supply-post-on-sleep = <1>;
+ qcom,supply-pre-off-sleep = <1>;
+ };
+};
+
+&spi_0{
+ status = "disabled";
+};
+
+&mdss_dsi {
+ hw-config = "single_dsi";
+};
+
+&dsi_dual_sharp_video {
+ qcom,cont-splash-disabled;
+};
+
+&dsi_dual_nt35597_video {
+ qcom,cont-splash-disabled;
+};
+
+&dsi_dual_nt35597_cmd {
+ qcom,cont-splash-enabled;
+};
diff --git a/arch/arm/boot/dts/qcom/zuk/common-ramoops.dtsi b/arch/arm/boot/dts/qcom/zuk/common-ramoops.dtsi
new file mode 100755
index 000000000000..bc19a2ad0875
--- /dev/null
+++ b/arch/arm/boot/dts/qcom/zuk/common-ramoops.dtsi
@@ -0,0 +1,21 @@
+/ {
+ reserved-memory {
+ ramoops_mem: ramoops_mem@ac000000 {
+ reg = <0 0x9ff00000 0 0x00100000>;
+ label = "ramoops_mem";
+ };
+ };
+};
+
+&soc {
+ ramoops {
+ compatible = "ramoops";
+ status = "ok";
+ memory-region = <&ramoops_mem>;
+
+ console-size = <0x0 0x00080000>;
+ pmsg-size = <0x0 0x00040000>;
+ record-size = <0x0 0x00008000>;
+ ftrace-size = <0x0 0x00020000>;
+ };
+};
diff --git a/arch/arm/boot/dts/qcom/zuk/common-regulator.dtsi b/arch/arm/boot/dts/qcom/zuk/common-regulator.dtsi
new file mode 100755
index 000000000000..696ae069d26d
--- /dev/null
+++ b/arch/arm/boot/dts/qcom/zuk/common-regulator.dtsi
@@ -0,0 +1,29 @@
+&pm8994_l3 {
+ regulator-min-microvolt = <1000000>;
+ regulator-max-microvolt = <1000000>;
+ qcom,init-voltage = <1000000>;
+};
+
+&pm8994_l17 {
+ regulator-min-microvolt = <2800000>;
+ regulator-max-microvolt = <2800000>;
+ qcom,init-voltage = <2800000>;
+};
+
+&pm8994_l19 {
+ regulator-min-microvolt = <2850000>;
+ regulator-max-microvolt = <2850000>;
+ qcom,init-voltage = <2850000>;
+};
+
+&pm8994_l21 {
+ regulator-min-microvolt = <2800000>;
+ regulator-max-microvolt = <2950000>;
+ qcom,init-voltage = <2800000>;
+};
+
+&pm8994_l27 {
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <1200000>;
+ qcom,init-voltage = <1200000>;
+};
diff --git a/arch/arm/boot/dts/qcom/zuk/common-sound.dtsi b/arch/arm/boot/dts/qcom/zuk/common-sound.dtsi
new file mode 100755
index 000000000000..2e6f45523ee0
--- /dev/null
+++ b/arch/arm/boot/dts/qcom/zuk/common-sound.dtsi
@@ -0,0 +1,99 @@
+&soc {
+ sound-9335 {
+ qcom,audio-routing =
+ "AIF4 VI", "MCLK",
+ "RX_BIAS", "MCLK",
+ "MADINPUT", "MCLK",
+ "hifi amp", "LINEOUT1",
+ "hifi amp", "LINEOUT2",
+ "AMIC1", "MIC BIAS1",
+ "MIC BIAS1", "Handset Mic",
+ "AMIC2", "MIC BIAS2",
+ "MIC BIAS2", "Headset Mic",
+ "AMIC3", "MIC BIAS3",
+ "MIC BIAS3", "Analog Mic3",
+ "MIC BIAS3", "Handset Mic",
+ "SpkrLeft IN", "SPK1 OUT",
+ "SpkrRight IN", "SPK2 OUT";
+ asoc-cpu = <&dai_pri_auxpcm>, <&dai_sec_auxpcm>, <&dai_hdmi>, <&dai_mi2s>, <&dai_mi2s_quat>,
+ <&sb_0_rx>, <&sb_0_tx>, <&sb_1_rx>, <&sb_1_tx>,
+ <&sb_2_rx>, <&sb_2_tx>, <&sb_3_rx>, <&sb_3_tx>,
+ <&sb_4_rx>, <&sb_4_tx>, <&sb_5_tx>, <&afe_pcm_rx>,
+ <&afe_pcm_tx>, <&afe_proxy_rx>, <&afe_proxy_tx>,
+ <&incall_record_rx>, <&incall_record_tx>,
+ <&incall_music_rx>, <&incall_music2_rx>,
+ <&sb_5_rx>, <&sb_6_rx>,
+ <&usb_audio_rx>, <&usb_audio_tx>,
+ <&dai_pri_tdm_tx_0>, <&dai_pri_tdm_tx_1>,
+ <&dai_pri_tdm_tx_2>, <&dai_pri_tdm_tx_3>,
+ <&dai_pri_tdm_rx_0>, <&dai_pri_tdm_rx_1>,
+ <&dai_pri_tdm_rx_2>, <&dai_pri_tdm_rx_3>,
+ <&dai_sec_tdm_rx_0>, <&dai_sec_tdm_rx_1>,
+ <&dai_sec_tdm_rx_2>, <&dai_sec_tdm_rx_3>,
+ <&dai_sec_tdm_tx_0>, <&dai_sec_tdm_tx_1>,
+ <&dai_sec_tdm_tx_2>, <&dai_sec_tdm_tx_3>,
+ <&dai_tert_tdm_rx_0>, <&dai_tert_tdm_rx_1>,
+ <&dai_tert_tdm_rx_2>, <&dai_tert_tdm_rx_3>,
+ <&dai_tert_tdm_tx_0>, <&dai_tert_tdm_tx_1>,
+ <&dai_tert_tdm_tx_2>, <&dai_tert_tdm_tx_3>,
+ <&dai_quat_tdm_rx_0>, <&dai_quat_tdm_rx_1>,
+ <&dai_quat_tdm_rx_2>, <&dai_quat_tdm_rx_3>,
+ <&dai_quat_tdm_tx_0>, <&dai_quat_tdm_tx_1>,
+ <&dai_quat_tdm_tx_2>, <&dai_quat_tdm_tx_3>;
+ asoc-cpu-names = "msm-dai-q6-auxpcm.1", "msm-dai-q6-auxpcm.2",
+ "msm-dai-q6-hdmi.8", "msm-dai-q6-mi2s.2","msm-dai-q6-mi2s.3",
+ "msm-dai-q6-dev.16384", "msm-dai-q6-dev.16385",
+ "msm-dai-q6-dev.16386", "msm-dai-q6-dev.16387",
+ "msm-dai-q6-dev.16388", "msm-dai-q6-dev.16389",
+ "msm-dai-q6-dev.16390", "msm-dai-q6-dev.16391",
+ "msm-dai-q6-dev.16392", "msm-dai-q6-dev.16393",
+ "msm-dai-q6-dev.16395",
+ "msm-dai-q6-dev.224", "msm-dai-q6-dev.225",
+ "msm-dai-q6-dev.241", "msm-dai-q6-dev.240",
+ "msm-dai-q6-dev.32771", "msm-dai-q6-dev.32772",
+ "msm-dai-q6-dev.32773", "msm-dai-q6-dev.32770",
+ "msm-dai-q6-dev.16394", "msm-dai-q6-dev.16396",
+ "msm-dai-q6-dev.28672", "msm-dai-q6-dev.28673",
+ "msm-dai-q6-tdm.36865", "msm-dai-q6-tdm.36867",
+ "msm-dai-q6-tdm.36869", "msm-dai-q6-tdm.36871",
+ "msm-dai-q6-tdm.36864", "msm-dai-q6-tdm.36866",
+ "msm-dai-q6-tdm.36868", "msm-dai-q6-tdm.36870",
+ "msm-dai-q6-tdm.36880", "msm-dai-q6-tdm.36882",
+ "msm-dai-q6-tdm.36884", "msm-dai-q6-tdm.36886",
+ "msm-dai-q6-tdm.36881", "msm-dai-q6-tdm.36883",
+ "msm-dai-q6-tdm.36885", "msm-dai-q6-tdm.36887",
+ "msm-dai-q6-tdm.36896", "msm-dai-q6-tdm.36898",
+ "msm-dai-q6-tdm.36900", "msm-dai-q6-tdm.36902",
+ "msm-dai-q6-tdm.36897", "msm-dai-q6-tdm.36899",
+ "msm-dai-q6-tdm.36901", "msm-dai-q6-tdm.36903",
+ "msm-dai-q6-tdm.36912", "msm-dai-q6-tdm.36914",
+ "msm-dai-q6-tdm.36916", "msm-dai-q6-tdm.36918",
+ "msm-dai-q6-tdm.36913", "msm-dai-q6-tdm.36915",
+ "msm-dai-q6-tdm.36917", "msm-dai-q6-tdm.36919";
+
+ /delete-property/ qcom,hdmi-audio-rx;
+ asoc-codec = <&stub_codec>;
+ asoc-codec-names = "msm-stub-codec.1";
+ qcom,msm-mbhc-hphl-swh = <1>;
+ qcom,msm-mbhc-gnd-swh = <1>;
+ qcom,mbhc-audio-jack-type = "4-pole-jack";
+ ncx_vdd-supply = <&pm8994_l19>;
+ qcom,wsa-max-devs = <1>;
+ qcom,wsa-devs = <&wsa881x_213>;
+ qcom,wsa-aux-dev-prefix = "SpkrLeft";
+ };
+};
+
+&dai_mi2s {
+ /delete-property/ pinctrl-0;
+ /delete-property/ pinctrl-1;
+};
+
+&dai_mi2s_quat {
+ qcom,msm-mi2s-rx-lines = <2>;
+ qcom,msm-mi2s-tx-lines = <1>;
+};
+
+&mdss_hdmi_tx {
+ status = "disabled";
+};
diff --git a/arch/arm/boot/dts/qcom/zuk/common-usb.dtsi b/arch/arm/boot/dts/qcom/zuk/common-usb.dtsi
new file mode 100755
index 000000000000..68bf5c1b9378
--- /dev/null
+++ b/arch/arm/boot/dts/qcom/zuk/common-usb.dtsi
@@ -0,0 +1,98 @@
+&soc {
+ i2c@7575000 {
+ cc_logic@01 {
+ compatible = "typec,cclogic";
+ reg = <0x01>;
+ vcc_i2c-supply = <&pm8994_s4>;
+ vcc_otg-supply = <&smbcharger_charger_otg>;/* use for otg power */
+ interrupt-parent = <&tlmm>;
+ interrupts = <1 0x2>;
+
+ cc_logic,irq-working = <&tlmm 1 0x02>; //for 0x8 low_level interrupt, 0x2 falling_edge
+ cc_logic,irq-plug = <&tlmm 11 0x3>;//for both edge
+
+ cc_logic,power-control = <&tlmm 12 0x00>;
+
+ cc_logic,function-switch-gpio2 = <&tlmm 33 0x00>;
+ cc_logic,i2c-pull-up;
+ pinctrl-names = "cc_active", "cc_sleep";
+ pinctrl-0 = <&cclogic_defaultnone_active &cclogic_defaulthigh_active &cclogic_hold_active>;
+ pinctrl-1 = <&cclogic_defaultnone_suspend &cclogic_defaulthigh_suspend &cclogic_hold_suspend>;
+ cclogic,chip1 {
+ cc_logic,power-active-high;
+ chip-name = "pericom,pi5usb30216d";
+ chip-address = <0x1d>;
+ };
+ cclogic,chip2 {
+ cc_logic,power-active-high;
+ chip-name = "ti,tusb320hai";
+ chip-address = <0x47>;
+ };
+ };
+ };
+};
+
+&tlmm {
+ cclogic_defaulthigh_active: cclogic_defaulthigh_active {
+ mux {
+ pins = "gpio1", "gpio11";
+ function = "gpio";
+ };
+ config {
+ pins = "gpio1", "gpio11";
+ drive-strength = <0x6>;
+ bias-pull-up;
+ };
+ };
+ cclogic_defaulthigh_suspend: cclogic_defaulthigh_suspend {
+ mux {
+ pins = "gpio1", "gpio11";
+ function = "gpio";
+ };
+ config {
+ pins = "gpio1", "gpio11";
+ drive-strength = <0x2>;
+ bias-pull-up;
+ };
+ };
+ cclogic_defaultnone_active: cclogic_defaultnone_active {
+ mux {
+ function = "gpio";
+ };
+ config {
+ drive-strength = <6>;
+ bias-disable;
+ };
+ };
+ cclogic_defaultnone_suspend: cclogic_defaultnone_suspend {
+ mux {
+ function = "gpio";
+ };
+ config {
+ drive-strength = <0x2>;
+ bias-disable;
+ };
+ };
+ cclogic_hold_active: cclogic_hold_active {
+ mux {
+ pins = "gpio12";
+ function = "gpio";
+ };
+ config {
+ pins = "gpio12";
+ drive-strength = <0x2>;
+ bias-disable;
+ };
+ };
+ cclogic_hold_suspend: cclogc_hold_suspend {
+ mux {
+ pins = "gpio12";
+ function = "gpio";
+ };
+ config {
+ pins = "gpio12";
+ drive-strength = <0x2>;
+ bias-bus-hold;
+ };
+ };
+};
diff --git a/arch/arm/boot/dts/qcom/zuk/common-vibration.dtsi b/arch/arm/boot/dts/qcom/zuk/common-vibration.dtsi
new file mode 100755
index 000000000000..2dc1a6a56d3f
--- /dev/null
+++ b/arch/arm/boot/dts/qcom/zuk/common-vibration.dtsi
@@ -0,0 +1,26 @@
+&tlmm {
+ haptics_en_sleep: haptics_en_sleep {
+ mux {
+ pins = "gpio77";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio77";
+ drive-strength = <2>; /* 2 mA */
+ bias-disable; /* NO PULL */
+ };
+ };
+ haptics_en_active: haptics_en_active {
+ mux {
+ pins = "gpio77";
+ function = "gpio";
+ };
+
+ config {
+ pins = "gpio77";
+ drive-strength = <6>; /* 8 mA */
+ bias-disable; /* NO PULL */
+ };
+ };
+};
diff --git a/arch/arm/boot/dts/qcom/zuk/common.dtsi b/arch/arm/boot/dts/qcom/zuk/common.dtsi
new file mode 100755
index 000000000000..29dc234e69d3
--- /dev/null
+++ b/arch/arm/boot/dts/qcom/zuk/common.dtsi
@@ -0,0 +1,371 @@
+#include "common-camera-sensor.dtsi"
+#include "common-charger.dtsi"
+#include "common-fingerprint.dtsi"
+#include "common-led.dtsi"
+#include "common-mdss.dtsi"
+#include "common-ramoops.dtsi"
+#include "common-regulator.dtsi"
+#include "common-sound.dtsi"
+#include "common-usb.dtsi"
+#include "common-vibration.dtsi"
+
+#include <dt-bindings/input/ti-drv260x.h>
+
+/ {
+ aliases {
+ i2c1 = &i2c_1;
+ i2c9 = &i2c_9;
+ /delete-property/ i2c12;
+ /delete-property/ spi12;
+ };
+};
+
+&soc {
+ /delete-node/ spi@75BA000;
+
+ i2c_1: i2c@7575000 {/* BLSP1 QUP1 */
+ compatible = "qcom,i2c-msm-v2";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg-names = "qup_phys_addr";
+ reg = <0x7575000 0x1000>;
+ interrupt-names = "qup_irq";
+ interrupts = <0 95 0>;
+ dmas = <&dma_blsp1 12 32 0x20000020 0x20>,
+ <&dma_blsp1 13 32 0x20000020 0x20>;
+ dma-names = "tx", "rx";
+ qcom,master-id = <86>;
+ qcom,clk-freq-out = <400000>;
+ qcom,clk-freq-in = <19200000>;
+ clock-names = "iface_clk", "core_clk";
+ clocks = <&clock_gcc clk_gcc_blsp1_ahb_clk>,
+ <&clock_gcc clk_gcc_blsp1_qup1_i2c_apps_clk>;
+ pinctrl-names = "i2c_active", "i2c_sleep";
+ pinctrl-0 = <&i2c_1_active>;
+ pinctrl-1 = <&i2c_1_sleep>;
+ };
+
+ i2c_9: i2c@75b7000 { /* BLSP2 QUP2 */
+ compatible = "qcom,i2c-msm-v2";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg-names = "qup_phys_addr";
+ reg = <0x75b7000 0x1000>;
+ interrupt-names = "qup_irq";
+ interrupts = <0 103 0>;
+ dmas = <&dma_blsp2 16 32 0x20000020 0x20>,
+ <&dma_blsp2 17 32 0x20000020 0x20>;
+ dma-names = "tx", "rx";
+ qcom,disable-dma;
+ qcom,master-id = <84>;
+ qcom,clk-freq-out = <400000>;
+ qcom,clk-freq-in = <19200000>;
+ clock-names = "iface_clk", "core_clk";
+ clocks = <&clock_gcc clk_gcc_blsp2_ahb_clk>,
+ <&clock_gcc clk_gcc_blsp2_qup3_i2c_apps_clk>;
+ pinctrl-names = "i2c_active", "i2c_sleep";
+ pinctrl-0 = <&i2c_9_active>;
+ pinctrl-1 = <&i2c_9_sleep>;
+ };
+
+ i2c@7575000 {
+ intersil@36 {
+ compatible = "ti,lm36923";
+ reg = <0x36>;
+ vcc_i2c-supply = <&pm8994_s4>;
+ intersil,i2c-pull-up;
+ interrupt-parent = <&tlmm>;
+ };
+ };
+
+ gpio_keys {
+ pinctrl-names = "tlmm_gpio_key_active", "tlmm_gpio_key_suspend";
+ pinctrl-0 = <&gpio_key_active>;
+ pinctrl-1 = <&gpio_key_suspend>;
+ /delete-node/ cam_snapshot;
+ /delete-node/ cam_focus;
+
+ home {
+ label = "home";
+ gpios = <&tlmm 38 0x1>;
+ linux,input-type = <1>;
+ linux,code = <102>;
+ gpio-key,wakeup;
+ debounce-interval = <15>;
+ };
+ };
+
+ hall_switch {
+ reg = <0 0>;
+ compatible = "shenqi,hall_switch";
+ interrupt-parent = <&tlmm>;
+ interrupts = <124 0>;
+ shenqi,hall-irq-gpio = <&tlmm 124 0x0>;
+ ssc_vdd-supply = <&pm8994_l19>;
+ };
+
+ qcom,bcl {
+ /delete-property/ qcom,bcl-enable;
+ qcom,vph-high-threshold-uv = <3200000>;
+ qcom,vph-low-threshold-uv = <3000000>;
+ qcom,soc-low-threshold = <0>;
+ };
+};
+
+&wdog {
+ qcom,bark-time = <15000>;
+};
+
+&usb3 {
+ /delete-property/ vbus_dwc3-supply;
+};
+
+&qusb_phy0 {
+ qcom,qusb-phy-init-seq = <0xf8 0x80
+ 0x03 0x84
+ 0x83 0x88
+ 0xCf 0x8C
+ 0x30 0x08
+ 0x79 0x0C
+ 0x21 0x10
+ 0x14 0x9C
+ 0x9F 0x1C
+ 0x00 0x18>;
+};
+
+&ssphy {
+ qcom,phy-tuning-seq = <0x3f 0x218
+ 0x7 0x21c
+ 0x3f 0x220>;
+};
+
+&tlmm {
+ tlmm_gpio_key {
+ gpio_key_active: gpio_key_active {
+ mux {
+ pins = "gpio38";
+ function = "gpio";
+ };
+ config {
+ pins = "gpio38";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+ };
+ gpio_key_suspend: gpio_key_suspend {
+ mux {
+ pins = "gpio38";
+ function = "gpio";
+ };
+ config {
+ pins = "gpio38";
+ drive-strength = <2>;
+ bias-pull-up;
+ };
+ };
+ };
+
+ i2c_9 {
+ i2c_9_active: i2c_9_active {
+ mux {
+ pins = "gpio51", "gpio52";
+ function = "blsp_i2c9";
+ };
+ config {
+ pins = "gpio51", "gpio52";
+ drive-strength = <4>;
+ bias-disable;
+ };
+ };
+
+ i2c_9_sleep: i2c_9_sleep {
+ mux {
+ pins = "gpio51", "gpio52";
+ function = "blsp_i2c9";
+ };
+
+ config {
+ pins = "gpio51", "gpio52";
+ drive-strength = <4>;
+ bias-pull-up;
+ };
+ };
+ };
+
+ i2c_1 {
+ i2c_1_active: i2c_1_active {
+ mux {
+ pins = "gpio2", "gpio3";
+ function = "blsp_i2c1";
+ };
+
+ config {
+ pins = "gpio2", "gpio3";
+ drive-strength = <2>;
+ bias-disable;
+ };
+ };
+
+ i2c_1_sleep: i2c_1_sleep {
+ mux {
+ pins = "gpio2", "gpio3";
+ function = "blsp_i2c1";
+ };
+
+ config {
+ pins = "gpio2", "gpio3";
+ drive-strength = <2>;
+ bias-disable;
+ };
+ };
+ };
+};
+
+&ts_active {
+ mux {
+ pins = "gpio9", "gpio125";
+ };
+ config {
+ pins = "gpio9", "gpio125";
+ };
+};
+
+&ts_suspend {
+ mux {
+ pins = "gpio9", "gpio125";
+ };
+ config {
+ pins = "gpio9", "gpio125";
+ };
+};
+
+&tert_mi2s_sleep {
+ mux {
+ pins = "gpio75";
+ };
+ config {
+ pins = "gpio75";
+ };
+};
+
+&tert_mi2s_active {
+ mux {
+ pins = "gpio75";
+ };
+ config {
+ pins = "gpio75";
+ };
+};
+
+&wsa881x_213 {
+ qcom,spkr-sd-n-gpio = <&pmi8994_gpios 3 0>;
+};
+
+&pm8994_gpios {
+ /delete-node/ gpio@cd00;
+
+ gpio@d500 { /* GPIO 22 - lcd_bklt_reg_en */
+ qcom,mode = <1>; /* DIGITAL OUT */
+ qcom,output-type = <0>; /* CMOS logic */
+ qcom,invert = <1>; /* output hight initially */
+ qcom,vin-sel = <2>; /* 1.8 */
+ qcom,src-sel = <0>; /* CONSTANT */
+ qcom,out-strength = <1>; /* Low drive strength */
+ qcom,master-en = <1>; /* ENABLE GPIO */
+ status = "okay";
+ };
+};
+
+&pmi8994_mpps {
+ mpp@a000 { /* MPP 1 */
+ reg = <0xa000 0x100>;
+ qcom,pin-num = <1>;
+ qcom,invert = <0>;
+ qcom,vin-sel = <0>;
+ };
+};
+
+&i2c_7 {
+ silabs4705@11 {
+ status = "disabled";
+ };
+};
+
+&spmi_bus {
+ qcom,pm8994@0 {
+ qcom,power-on@800 {
+ interrupts = <0x0 0x8 0x0 IRQ_TYPE_NONE>,
+ <0x0 0x8 0x1 IRQ_TYPE_NONE>,
+ <0x0 0x8 0x3 IRQ_TYPE_NONE>,
+ <0x0 0x8 0x4 IRQ_TYPE_NONE>,
+ <0x0 0x8 0x5 IRQ_TYPE_NONE>;
+ interrupt-names = "kpdpwr", "resin", "kpdpwr-bark", "resin-bark", "kpdpwr-resin-bark";
+ qcom,s3-debounce = <32>;
+
+ qcom,pon_1 {
+ qcom,s1-timer = <6720>;
+ qcom,s2-type = <7>;
+ qcom,use-bark;
+ };
+
+ qcom,pon_2 {
+ qcom,s1-timer = <0>;
+ qcom,s2-timer = <2000>;
+ qcom,s2-type = <1>;
+ qcom,use-bark;
+ };
+ qcom,pon_3 {
+ /delete-property/ qcom,support-reset;
+ };
+ };
+ };
+};
+
+&pm8994_rtc {
+ qcom,qpnp-rtc-alarm-pwrup = <1>;
+};
+
+&pmi8994_gpios {
+ gpio@c900 {
+ qcom,src-sel = <0>;
+ qcom,invert = <1>;
+ };
+};
+
+&i2c_8 {
+ /delete-node/ nq@28;
+};
+
+&firmware {
+ android {
+ /delete-node/ vbmeta;
+ fstab {
+ android_system: system {
+ compatible = "android,system";
+ type = "ext4";
+ mnt_flags = "ro,barrier=1,discard";
+ fsmgr_flags = "wait";
+ status = "ok";
+ };
+ };
+ };
+};
+
+&android_vendor {
+ fsmgr_flags = "wait";
+};
+
+// Disabled thermal sensors, see msm8996-mtp.dtsi for names
+&pm8994_vadc {
+ /delete-node/ chan@75;
+ /delete-node/ chan@77;
+ /delete-node/ chan@7c;
+ /delete-node/ chan@78;
+};
+
+&pm8994_adc_tm {
+ /delete-node/ chan@75;
+ /delete-node/ chan@77;
+ /delete-node/ chan@7c;
+ /delete-node/ chan@78;
+};
diff --git a/arch/arm/boot/dts/qcom/zuk/dsi-panel-samsung-1080p-cmd.dtsi b/arch/arm/boot/dts/qcom/zuk/dsi-panel-samsung-1080p-cmd.dtsi
new file mode 100755
index 000000000000..b389dfccda35
--- /dev/null
+++ b/arch/arm/boot/dts/qcom/zuk/dsi-panel-samsung-1080p-cmd.dtsi
@@ -0,0 +1,87 @@
+/* Copyright (c) 2015, 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_samsung_1080_cmd: qcom,mdss_dsi_samsung_1080p_cmd {
+ qcom,mdss-dsi-panel-name = "samsung 1080p cmd mode dsi panel";
+ qcom,mdss-dsi-panel-type = "dsi_cmd_mode";
+ qcom,mdss-dsi-panel-framerate = <60>;
+ qcom,mdss-dsi-panel-clockrate = <900000000>;
+ qcom,mdss-dsi-virtual-channel-id = <0>;
+ qcom,mdss-dsi-stream = <0>;
+ qcom,mdss-dsi-panel-width = <1080>;
+ qcom,mdss-dsi-panel-height = <1920>;
+ qcom,mdss-dsi-h-front-porch = <1>;
+ qcom,mdss-dsi-h-back-porch = <1>;
+ qcom,mdss-dsi-h-pulse-width = <1>;
+ qcom,mdss-dsi-h-sync-skew = <0>;
+ qcom,mdss-dsi-v-back-porch = <4>;
+ qcom,mdss-dsi-v-front-porch = <20>;
+ qcom,mdss-dsi-v-pulse-width = <1>;
+ qcom,mdss-dsi-h-left-border = <0>;
+ qcom,mdss-dsi-h-right-border = <0>;
+ qcom,mdss-dsi-v-top-border = <0>;
+ qcom,mdss-dsi-v-bottom-border = <0>;
+ qcom,mdss-dsi-bpp = <24>;
+ qcom,mdss-dsi-underflow-color = <0xff>;
+ qcom,mdss-dsi-border-color = <0>;
+ qcom,mdss-dsi-reset-sequence = <1 1>, <0 2>, <1 1>;
+ qcom,mdss-dsi-on-command = [
+ 05 01 00 00 14 00 01 11
+ 15 01 00 00 00 00 02 35 00
+ 23 01 00 00 00 00 03 fc 5a 5a
+ 23 01 00 00 00 00 03 f4 00 01
+ 23 01 00 00 00 00 03 fc a5 a5
+ //15 01 00 00 00 00 02 53 20
+ 05 01 00 00 10 00 01 29
+ ];
+ qcom,mdss-dsi-off-command = [
+ 15 01 00 00 00 00 02 34 00
+ 05 01 00 00 10 00 01 28
+ 05 01 00 00 40 00 01 10];
+ 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;
+ qcom,mdss-dsi-panel-timings = [c9 30 20 00 5c 60 24 32 27 03 04
+ 00];
+ qcom,mdss-dsi-t-clk-post = <0x0d>;
+ qcom,mdss-dsi-t-clk-pre = <0x2e>;
+ qcom,mdss-dsi-dma-trigger = "trigger_sw";
+ qcom,mdss-dsi-mdp-trigger = "none";
+ qcom,mdss-dsi-te-pin-select = <1>;
+ qcom,mdss-dsi-wr-mem-start = <0x2c>;
+ qcom,mdss-dsi-wr-mem-continue = <0x3c>;
+ qcom,mdss-dsi-te-dcs-command = <1>;
+ qcom,mdss-dsi-te-check-enable;
+ qcom,mdss-dsi-te-using-te-pin;
+ qcom,mdss-dsi-panel-status-command = [06 01 00 01 05 00 02 0A 08];
+ qcom,mdss-dsi-panel-status-command-state = "dsi_lp_mode";
+ qcom,mdss-dsi-panel-status-check-mode = "reg_read";
+ qcom,mdss-dsi-panel-status-value = <0x9c>;
+ //qcom,esd-check-enabled;
+ qcom,mdss-pan-physical-width-dimension = <65>;
+ qcom,mdss-pan-physical-height-dimension = <115>;
+ qcom,mdss-dsi-panel-orientation = "180";
+ qcom,mdss-dsi-panel-timings-phy-v2 = [22 1e 07 08 04 03 04 a0
+ 22 1e 07 08 04 03 04 a0
+ 22 1e 07 08 04 03 04 a0
+ 22 1e 07 08 04 03 04 a0
+ 22 17 07 08 04 03 04 a0];
+ };
+};
diff --git a/arch/arm/boot/dts/qcom/zuk/dsi-panel-tianma-1080p-video.dtsi b/arch/arm/boot/dts/qcom/zuk/dsi-panel-tianma-1080p-video.dtsi
new file mode 100755
index 000000000000..a8df499be0fb
--- /dev/null
+++ b/arch/arm/boot/dts/qcom/zuk/dsi-panel-tianma-1080p-video.dtsi
@@ -0,0 +1,143 @@
+/* Copyright (c) 2013, 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_tianma_otm1901a_vid: qcom,mdss_dsi_tianma_otm1901a_1080p_video {
+ qcom,mdss-dsi-panel-name = "TIANMA otm1901a 1080p video mode dsi panel";
+ qcom,mdss-dsi-panel-controller = <&mdss_dsi0>;
+ qcom,mdss-dsi-panel-type = "dsi_video_mode";
+ qcom,mdss-dsi-panel-destination = "display_1";
+ qcom,mdss-dsi-panel-framerate = <60>;
+ qcom,mdss-dsi-virtual-channel-id = <0>;
+ qcom,mdss-dsi-stream = <0>;
+ qcom,mdss-dsi-panel-width = <1080>;
+ qcom,mdss-dsi-panel-height = <1920>;
+ qcom,mdss-dsi-h-front-porch = <96>;
+ qcom,mdss-dsi-h-back-porch = <16>;
+ qcom,mdss-dsi-h-pulse-width = <4>;
+ qcom,mdss-dsi-h-sync-skew = <0>;
+ qcom,mdss-dsi-v-back-porch = <8>;
+ qcom,mdss-dsi-v-front-porch = <16>;
+ qcom,mdss-dsi-v-pulse-width = <2>;
+ qcom,mdss-dsi-h-left-border = <0>;
+ qcom,mdss-dsi-h-right-border = <0>;
+ qcom,mdss-dsi-v-top-border = <0>;
+ qcom,mdss-dsi-v-bottom-border = <0>;
+ qcom,mdss-dsi-bpp = <24>;
+ qcom,mdss-dsi-color-order = <0>;
+ qcom,mdss-dsi-underflow-color = <0x00>;
+ qcom,mdss-dsi-border-color = <0>;
+// qcom,mdss-dsi-panel-broadcast-mode;
+ qcom,mdss-dsi-lp11-init;
+ qcom,mdss-dsi-panel-orientation = "180";
+
+ qcom,mdss-dsi-on-command = [
+//init code
+15 00 00 00 00 00 02 00 00
+29 00 00 00 00 00 04 FF 19 01 01
+15 00 00 00 00 00 02 00 80
+29 00 00 00 00 00 03 FF 19 01
+15 00 00 00 00 00 02 00 00
+15 01 00 00 00 00 02 1c 33
+39 01 00 00 00 00 02 00 00
+39 01 00 00 00 00 5B
+d4 00 40 01 40 01 40 01 3f 02 3f 02 3f 03 3f 03 3f 04 3f 04 3e 04 3e 05 3e 05 3e 06 3d 06 3d 07 3d 06 3c 06 3c 06 3b 06 3b 06 3a 06 3a 06 39 06 39 06 38 06 37 06 37 06 36 06 36 06 35 06 35 05 35 05 34 04 34 04 34 03 34 02 34 02 34 01 34 00 34 00 33 ff 33 ff 33 fe 33 fd 33
+39 01 00 00 00 00 5B
+D4 fd 33 fc 34 fb 34 fb 35 fa 36 f9 37 f8 38 f8 38 f7 39 f6 3a f5 3a f4 3b f3 3c f3 3d f2 3d f1 3e f2 3e f3 3e f3 3e f4 3e f5 3f f5 3f f6 3f f7 3f f8 3f f8 3f f9 40 fa 40 fa 40 fc 40 fc 40 fd 40 fd 40 fe 40 fe 40 fe 40 ff 40 ff 40 00 40 00 40 01 40 01 40 02 40 02 40 03 40
+39 01 00 00 00 00 5B
+D4 03 40 03 3f 03 3f 03 3f 03 3e 03 3e 04 3e 04 3d 04 3d 04 3d 04 3c 04 3c 04 3c 04 3b 04 3b 05 3a 05 39 05 38 05 36 05 35 05 34 05 32 05 31 05 30 06 2e 06 2d 05 2c 06 2a 06 29 06 28 06 27 05 27 04 27 04 27 03 27 03 27 02 27 02 28 01 28 01 28 00 28 ff 28 ff 28 fe 28 fe 28
+39 01 00 00 00 00 5B
+D4 fd 28 fd 28 fc 29 fc 29 fc 29 fc 2a fc 2a fb 2a fb 2a fb 2b fa 2b fa 2b f9 2c f9 2c f9 2c f9 2d f9 2e f9 2f f9 31 f9 32 fa 33 fa 34 fa 36 fa 37 fb 38 fb 3a fb 3b fc 3c fc 3e fd 3f fd 40 fd 40 fe 40 fe 40 fe 40 fe 40 fe 40 fe 40 ff 40 ff 40 ff 40 ff 40 ff 40 00 40 00 40
+39 01 00 00 00 00 5B
+D4 00 4b 00 4b 00 4b 01 4b 01 4b 01 4b 03 4b 03 4b 03 4a 04 4a 04 4a 04 4a 05 4a 05 4a 05 4a 06 4a 06 49 06 49 07 48 08 48 08 48 07 47 09 46 09 46 09 46 0a 45 0a 45 0a 44 0a 44 0b 43 0b 43 0a 42 0a 42 0a 41 0a 41 0a 41 0a 40 0a 40 0a 3f 0a 3f 0a 3f 0b 3e 0b 3e 0b 3d 0b 3d
+39 01 00 00 00 00 5B
+D4 0a 3d 0a 3d 09 3d 09 3d 08 3d 07 3d 06 3d 06 3d 05 3d 05 3d 04 3d 04 3d 03 3d 03 3d 02 3d 02 3d 02 3d 02 3d 02 3d 02 3d 02 3d 02 3d 02 3d 02 3d 03 3d 03 3d 03 3d 03 3d 03 3d 03 3d 03 3d 03 3d 03 3c 03 3c 04 3c 04 3c 04 3c 04 3c 04 3c 04 3b 04 3b 05 3b 05 3b 05 3b 05 3b
+39 01 00 00 00 00 5B
+D4 05 3b 05 3a 05 3a 05 39 05 39 05 38 05 38 05 37 05 37 05 36 05 36 05 35 05 35 05 34 05 34 04 34 04 34 03 34 03 33 02 33 02 33 01 33 01 33 00 33 00 33 ff 33 ff 33 fe 33 fe 33 fd 33 fd 33 fc 33 fc 33 fb 33 fa 34 f9 34 f9 34 f8 34 f7 34 f6 35 f6 35 f5 35 f4 35 f3 35 f2 35
+39 01 00 00 00 00 5B
+D4 f2 35 f1 36 f1 37 f1 38 f1 38 f1 39 f1 3a f0 3b f0 3b f1 3c f1 3d f1 3e f0 3e f0 3f f0 40 f0 41 f0 41 f1 42 f1 43 f2 43 f2 44 f3 45 f3 45 f4 46 f4 46 f5 47 f5 48 f5 48 f6 49 f6 4a f7 4a f8 4a f8 4a f8 4a f9 4a f9 4a fb 4b fb 4b fb 4b fc 4b fd 4b fd 4b fd 4b ff 4b ff 4b
+
+39 01 00 00 00 00 02 00 00
+
+39 01 00 00 00 00 5b
+D5 07 54 07 53 07 52 07 51 07 50 07 4e 07 4d 07 4c 07 4b 06 49 06 48 06 47 06 46 05 44 05 43 05 42 06 41 06 41 06 40 06 40 06 3f 05 3f 05 3e 05 3e 06 3d 06 3d 06 3c 06 3c 06 3b 06 3b 06 3a 06 3a 06 3a 05 3a 05 39 04 39 04 39 03 39 03 39 03 38 02 38 02 38 02 38 01 38 01 37
+39 01 00 00 00 00 5b
+D5 00 38 00 39 fe 3a fd 3b fd 3c fc 3d fb 3e f9 3f f8 40 f7 41 f6 42 f5 43 f3 44 f3 45 f1 46 f0 46 f1 47 f1 48 f2 48 f2 49 f3 4a f3 4a f3 4b f4 4c f5 4c f5 4d f6 4e f6 4e f7 4f f8 50 f8 50 f9 50 fa 50 fa 4f fb 4f fc 4f fd 4f fd 4e ff 4e ff 4e 00 4d 01 4d 01 4d 02 4c 03 4c
+39 01 00 00 00 00 5b
+D5 04 4c 04 4b 04 4b 05 4b 05 4b 05 4a 06 4a 06 4a 06 4a 08 49 08 49 08 49 09 48 09 48 09 48 09 47 09 46 08 44 08 42 08 41 08 3f 07 3e 06 3c 06 3b 06 39 06 37 06 36 05 34 04 33 04 31 04 30 03 30 03 30 02 30 02 30 01 30 00 30 00 30 ff 2f fe 2f fe 2f fd 2f fd 2f fc 2f fb 2f
+39 01 00 00 00 00 5b
+D5 fb 2f fa 2f fa 30 fa 31 fa 31 f9 32 f9 32 f9 33 f9 34 f9 34 f8 35 f8 36 f7 36 f7 37 f7 38 f7 38 f7 39 f7 3a f8 3c f7 3d f8 3e f8 3f f9 40 f9 41 f9 42 fa 44 fa 45 fb 46 fb 47 fc 48 fc 49 fd 4a fd 4b fe 4c ff 4c 00 4d 00 4e 01 4f 01 50 03 50 04 51 04 52 05 53 06 53 07 54
+39 01 00 00 00 00 5b
+D5 fe 60 fe 60 ff 60 00 60 01 60 02 60 02 60 03 60 03 60 05 60 05 60 06 60 07 60 08 5f 08 5f 08 5f 0a 5e 0a 5e 0b 5d 0b 5c 0d 5b 0d 5b 0e 5a 0e 59 10 58 0f 57 11 56 11 56 12 55 12 54 13 53 13 52 13 52 13 51 12 50 13 4f 14 4e 13 4e 13 4d 13 4c 13 4b 13 4b 14 4a 14 49 13 48
+39 01 00 00 00 00 5b
+D5 13 48 13 47 12 46 11 45 11 44 11 43 10 43 0f 42 0f 41 0f 40 0e 3f 0d 3e 0d 3e 0d 3d 0c 3c 0c 3b 0b 3b 0b 3a 0b 39 0b 39 0b 38 0b 38 0b 37 0b 37 0b 36 0a 36 0a 35 0a 35 0a 34 0a 33 0a 33 0a 32 0a 32 0a 31 09 30 08 30 08 2f 08 2e 08 2e 08 2d 08 2c 08 2c 08 2b 07 2a 07 2a
+39 01 00 00 00 00 5b
+D5 07 29 06 28 06 28 06 27 05 27 05 26 05 25 04 25 04 24 04 23 03 23 03 22 03 21 02 21 02 20 02 20 03 20 03 21 04 22 04 23 05 23 05 24 06 25 07 25 07 26 08 27 08 27 09 28 0a 29 0b 29 0b 2a 0b 2c 0a 2e 09 2f 08 31 07 33 06 35 05 36 04 38 03 3a 02 3b 00 3d fe 3e fd 40 fb 41
+39 01 00 00 00 00 5b
+D5 fa 43 f9 44 f8 45 f7 46 f6 47 f5 48 f4 49 f3 4a f2 4c f1 4d f0 4d ef 4f ee 50 ec 50 eb 51 ea 52 ea 53 eb 54 eb 55 eb 56 ec 57 ec 58 eb 59 ed 5a ed 5b ed 5c ee 5d ee 5e ee 5e ef 60 ef 60 f1 60 f1 60 f2 60 f3 60 f4 60 f5 60 f6 60 f8 60 f8 60 f9 60 fa 60 fb 60 fc 60 fd 60
+
+29 00 00 00 00 00 02 00 00
+29 01 00 00 00 00 02 81 80
+15 00 00 00 00 00 02 00 B4
+15 00 00 00 00 00 02 c0 80
+15 00 00 00 00 00 02 00 80
+29 00 00 00 00 00 0D D8 00 00 00 01 02 02 03 03 02 01 83 88
+29 00 00 00 00 00 02 00 90
+29 00 00 00 00 00 0D D8 01 02 03 03 04 06 07 09 0B 0D 1C 2A
+29 00 00 00 00 00 02 00 A0
+29 00 00 00 00 00 0D D8 01 02 03 04 06 09 0B 0D 0E 32 51 70
+29 00 00 00 00 00 02 00 B0
+29 00 00 00 00 00 0D D8 00 01 01 01 01 01 02 03 03 81 86 8B
+29 00 00 00 00 00 02 00 C0
+29 00 00 00 00 00 0D D8 81 83 83 84 86 88 8A 8D 91 9B A1 A6
+29 00 00 00 00 00 02 00 D0
+29 00 00 00 00 00 0D D8 02 04 06 07 0A 0E 11 16 1E 39 48 56
+29 00 00 00 00 00 02 00 C0
+29 00 00 00 00 00 05 D7 82 80 C0 FF
+15 00 00 00 00 00 02 00 00
+15 00 00 00 00 00 02 84 00
+15 01 00 00 28 00 02 11 00
+15 01 00 00 14 00 02 29 00
+ ];
+ qcom,mdss-dsi-off-command = [05 01 00 00 32 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-panel-status-command = [06 01 00 01 05 00 02 0A 08];
+ qcom,mdss-dsi-panel-status-command-state = "dsi_lp_mode";
+ qcom,mdss-dsi-panel-status-check-mode = "reg_read";
+ qcom,mdss-dsi-panel-status-value = <0x9c>;
+ qcom,mdss-dsi-h-sync-pulse = <0>;
+ qcom,mdss-dsi-traffic-mode = "non_burst_sync_event";
+ qcom,mdss-dsi-lane-map = <0>;
+ 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;
+ qcom,mdss-dsi-panel-timings = [DB 34 22 00 64 66 28 38 2B 03 04 00];
+ qcom,mdss-dsi-t-clk-post = <0x0d>;
+ qcom,mdss-dsi-t-clk-pre = <0x2e>;
+ qcom,mdss-dsi-dma-trigger = "trigger_sw";
+ qcom,mdss-dsi-mdp-trigger = "none";
+ qcom,mdss-dsi-reset-sequence = <1 2>, <0 1>, <1 5>;
+ qcom,mdss-pan-physical-width-dimension = <62>;
+ qcom,mdss-pan-physical-height-dimension = <110>;
+ qcom,mdss-dsi-panel-timings-phy-v2 = [23 1f 07 09 05 03 04 a0
+ 23 1f 07 09 05 03 04 a0
+ 23 1f 07 09 05 03 04 a0
+ 23 1f 07 09 05 03 04 a0
+ 23 1a 07 08 05 03 04 a0];
+ };
+};
diff --git a/arch/arm/boot/dts/qcom/zuk/z2_plus-base.dtsi b/arch/arm/boot/dts/qcom/zuk/z2_plus-base.dtsi
new file mode 100755
index 000000000000..be72f15a185d
--- /dev/null
+++ b/arch/arm/boot/dts/qcom/zuk/z2_plus-base.dtsi
@@ -0,0 +1,133 @@
+#include "batterydata-z2_plus-3500mah.dtsi"
+
+#include "common.dtsi"
+#include "dsi-panel-tianma-1080p-video.dtsi"
+#include "z2_plus-camera-sensor.dtsi"
+
+&dsi_tianma_otm1901a_vid {
+ qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_pwm";
+ qcom,mdss-dsi-bl-pmic-pwm-frequency = <100>;
+ qcom,mdss-dsi-bl-pmic-bank-select = <3>;
+ qcom,mdss-dsi-pwm-gpio = <&pmi8994_mpps 1 0>;
+ qcom,mdss-dsi-bl-min-level = <1>;
+ qcom,mdss-dsi-bl-max-level = <4095>;
+ qcom,cont-splash-enabled;
+};
+
+&usb3 {
+ maximum-speed = "high-speed";
+};
+
+&mdss_dsi0 {
+ qcom,platform-bklight-en-gpio = <&pm8994_gpios 22 0>;
+ /delete-property/ qcom,platform-te-gpio;
+ qcom,dsi-pref-prim-pan = <&dsi_tianma_otm1901a_vid >;
+};
+
+&dsi_tianma_otm1901a_vid {
+ qcom,panel-supply-entries = <&dsi_panel_pwr_supply>;
+};
+
+&soc {
+ i2c@75b6000 {
+ goodix@5d {
+ compatible = "goodix,gt9xx";
+ reg = <0x5d>;
+ interrupt-parent = <&tlmm>;
+ interrupts = <125 0x2008>;
+ vdd_ana-supply = <&pm8994_l14>;
+ vcc_i2c-supply = <&pm8994_l22>;
+ /* pins used by touchscreen */
+ pinctrl-names = "ts_active","ts_suspend";
+ pinctrl-0 = <&ts_active>;
+ pinctrl-1 = <&ts_suspend>;
+ goodix,rst-gpio = <&tlmm 9 0x0>;
+ goodix,irq-gpio = <&tlmm 125 0x2008>;
+ //goodix,ldo-en-gpio = <&msmgpio 15 0x00>;
+ goodix,panel-coords = <0 0 720 1280>;
+ goodix,display-coords = <0 0 720 1280>;
+ goodix,button-map= <158 172 139>;
+ goodix,family-id = <0x0>;
+ goodix,cfg-group0 = [
+ 45 38 04 80 07 0A 35 30 01 CA 2A 08 5A 32 03 04 00 00 00 00 12 11 00 15
+ 18 1D 14 8B 2B 0D 4B 4D D3 07 D3 07 00 41 33 11 00 00 00 00 00 00 00 0A
+ 08 00 41 2D 64 94 80 02 00 00 00 04 A7 30 00 91 39 00 82 43 00 75 4E 00
+ 6A 5C 00 6A 00 00 00 00 00 00 00 00 00 00 05 01 00 00 00 00 00 00 00 02
+ 00 00 00 00 00 00 00 00 00 08 3C 00 00 00 00 1E 02 04 06 08 0A 0C 0E 10
+ 12 14 16 18 1A FF 00 10 0E 00 00 28 00 00 00 00 00 18 0C 00 00 00 00 02
+ 04 06 08 0A 0C 0F 10 12 13 26 24 22 21 20 1F 1E 1D 1C 18 16 FF FF FF FF
+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 49 01];
+ };
+ };
+
+ i2c@7575000 {
+ cc_logic@01 {
+ cc_logic,function-switch-gpio1 = <&tlmm 123 0x00>;
+ cc_logic,bypass-power-control = <&pm8994_gpios 10 0x00>;
+ };
+ };
+};
+
+&cclogic_defaultnone_active {
+ mux {
+ pins = "gpio0", "gpio33", "gpio123";
+ };
+ config {
+ pins = "gpio0", "gpio33", "gpio123";
+ };
+};
+
+&cclogic_defaultnone_suspend {
+ mux {
+ pins = "gpio0", "gpio33", "gpio123";
+ };
+ config {
+ pins = "gpio0", "gpio33", "gpio123";
+ };
+};
+
+&cclogic_hold_active {
+ mux {
+ pins = "gpio12";
+ };
+ config {
+ pins = "gpio12";
+ };
+};
+
+&pmi8994_fg {
+ qcom,fg-iterm-ma = <125>;
+};
+
+&ibb_regulator {
+ qcom,qpnp-ibb-init-voltage = <5000000>;
+ qcom,qpnp-lab-init-amoled-voltage = <4600000>;
+ qcom,qpnp-ibb-init-lcd-voltage = <5000000>;
+};
+
+&lab_regulator {
+ qcom,qpnp-lab-init-voltage = <5000000>;
+ qcom,qpnp-lab-init-amoled-voltage = <4600000>;
+ qcom,qpnp-lab-init-lcd-voltage = <5000000>;
+};
+
+&pmi8994_charger {
+ qcom,fastchg-current-ma = <2000>;
+};
+
+&pmi8994_haptics {
+ qcom,actuator-type = <1>;
+ qcom,vmax-mv = <3200>;
+ qcom,wave-shape = "square";
+ //qcom,wave-play-rate-us = <5263>;//0~20475
+ qcom,ilim-ma = <105>;
+ qcom,int-pwm-freq-khz = <253>;//lowest:253Khz
+};
+
+&android_vendor {
+ dev = "/dev/block/platform/soc/7464900.sdhci/by-name/factory";
+};
+
+&android_system {
+ dev = "/dev/block/platform/soc/7464900.sdhci/by-name/system";
+};
diff --git a/arch/arm/boot/dts/qcom/zuk/z2_plus-camera-sensor.dtsi b/arch/arm/boot/dts/qcom/zuk/z2_plus-camera-sensor.dtsi
new file mode 100755
index 000000000000..21d896cf09c6
--- /dev/null
+++ b/arch/arm/boot/dts/qcom/zuk/z2_plus-camera-sensor.dtsi
@@ -0,0 +1,74 @@
+&led_flash0 {
+ qcom,flash-source = <&pmi8994_flash0>;
+ qcom,torch-source = <&pmi8994_torch0>;
+};
+
+&pmi8994_flash0 {
+ qcom,current = <800>;
+};
+
+&cci {
+ /delete-node/ qcom,ois@0;
+
+ qcom,camera@0 {
+ cell-index = <0>;
+ compatible = "qcom,camera";
+ reg = <0x0>;
+ qcom,csiphy-sd-index = <0>;
+ qcom,csid-sd-index = <0>;
+ qcom,mount-angle = <90>;
+ qcom,led-flash-src = <&led_flash0>;
+ qcom,actuator-src = <&actuator0>;
+ qcom,eeprom-src = <&eeprom0>;
+ cam_vdig-supply = <&pm8994_l3>;
+ cam_vio-supply = <&pm8994_lvs1>;
+ cam_vana-supply = <&pm8994_l29>;
+ qcom,vdd-cx-supply = <&pm8994_s1_corner>;
+ qcom,vdd-cx-name = "qcom,vdd-cx";
+ qcom,cam-vreg-name = "cam_vdig", "cam_vio", "cam_vana";
+ qcom,cam-vreg-min-voltage = <1000000 0 2800000>;
+ qcom,cam-vreg-max-voltage = <1000000 0 2800000>;
+ qcom,cam-vreg-op-mode = <105000 0 100000>;
+ qcom,gpio-no-mux = <0>;
+ pinctrl-names = "cam_default", "cam_suspend";
+ pinctrl-0 = <&cam_sensor_mclk0_active &cam_sensor_rear_active>;
+ pinctrl-1 = <&cam_sensor_mclk0_suspend &cam_sensor_rear_suspend>;
+ gpios = <&tlmm 13 0>,
+ <&tlmm 26 0>;
+ qcom,gpio-reset = <1>;
+
+ qcom,gpio-req-tbl-num = <0 1>;
+ qcom,gpio-req-tbl-flags = <1 0>;
+ qcom,gpio-req-tbl-label = "CAMIF_MCLK0", "CAM_RESET0";
+ qcom,sensor-position = <0>;
+ qcom,sensor-mode = <0>;
+ qcom,cci-master = <0>;
+ status = "ok";
+ clocks = <&clock_mmss clk_mclk0_clk_src>,
+ <&clock_mmss clk_camss_mclk0_clk>;
+ clock-names = "cam_src_clk", "cam_clk";
+ };
+ eeprom0: qcom,eeprom@0 {
+ cell-index = <0>;
+ reg = <0>;
+ compatible = "qcom,eeprom";
+ qcom,cci-master = <0>;
+ cam_vio-supply = <&pm8994_lvs1>;
+ cam_vaf-supply = <&pm8994_l23>;
+ qcom,cam-vreg-name = "cam_vio", "cam_vaf";
+ qcom,cam-vreg-min-voltage = <0 2800000>;
+ qcom,cam-vreg-max-voltage = <0 2800000>;
+ qcom,cam-vreg-op-mode = <0 100000>;
+ qcom,gpio-no-mux = <0>;
+ pinctrl-names = "cam_default", "cam_suspend";
+ pinctrl-0 = <&cam_sensor_mclk0_active &cam_sensor_rear_active>;
+ pinctrl-1 = <&cam_sensor_mclk0_suspend &cam_sensor_rear_suspend>;
+ gpios = <&tlmm 13 0>,
+ <&tlmm 26 0>;
+ qcom,gpio-reset = <1>;
+
+ qcom,gpio-req-tbl-num = <0 1>;
+ qcom,gpio-req-tbl-flags = <1 0>;
+ qcom,gpio-req-tbl-label = "CAMIF_MCLK0", "CAM_RESET0";
+ };
+};
diff --git a/arch/arm/boot/dts/qcom/zuk/z2_row-base.dtsi b/arch/arm/boot/dts/qcom/zuk/z2_row-base.dtsi
new file mode 100755
index 000000000000..e84f8ef9f577
--- /dev/null
+++ b/arch/arm/boot/dts/qcom/zuk/z2_row-base.dtsi
@@ -0,0 +1,249 @@
+#include "batterydata-z2_row-3000mah.dtsi"
+
+#include "common.dtsi"
+#include "dsi-panel-samsung-1080p-cmd.dtsi"
+#include "z2_row-camera-sensor.dtsi"
+
+/ {
+ aliases {
+ i2c5 = &i2c_5;
+ };
+};
+
+&dsi_samsung_1080_cmd {
+ 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,cont-splash-enabled;
+ qcom,panel-supply-entries = <&dsi_panel_pwr_supply_no_labibb>;
+};
+
+&soc {
+ i2c_5: i2c@7579000 { /* BLSP1 QUP5 */
+ compatible = "qcom,i2c-msm-v2";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ reg-names = "qup_phys_addr";
+ reg = <0x7579000 0x1000>;//ok
+ interrupt-names = "qup_irq";//ok
+ interrupts = <0 99 0>;//ok
+ dmas = <&dma_blsp1 20 32 0x20000020 0x20>,//?
+ <&dma_blsp1 21 32 0x20000020 0x20>;//?
+ dma-names = "tx", "rx";
+ qcom,master-id = <86>;
+ qcom,clk-freq-out = <400000>;
+ qcom,clk-freq-in = <19200000>;
+ clock-names = "iface_clk", "core_clk";
+ clocks = <&clock_gcc clk_gcc_blsp1_ahb_clk>,
+ <&clock_gcc clk_gcc_blsp1_qup5_i2c_apps_clk>;//
+ pinctrl-names = "i2c_active", "i2c_sleep";
+ pinctrl-0 = <&i2c_5_active>;
+ pinctrl-1 = <&i2c_5_sleep>;
+ };
+
+ i2c@75b6000 {
+ goodix@5d {
+ compatible = "goodix,gt1x";
+ reg = <0x5d>;
+ interrupt-parent = <&tlmm>;
+ interrupts = <125 0x2008>;
+ vdd_ana-supply = <&pm8994_l14>;
+ vcc_i2c-supply = <&pm8994_l22>;
+ /* pins used by touchscreen */
+ pinctrl-names = "ts_active","ts_suspend";
+ pinctrl-0 = <&ts_active>;
+ pinctrl-1 = <&ts_suspend>;
+ goodix,rst-gpio = <&tlmm 9 0x0>;
+ goodix,irq-gpio = <&tlmm 125 0x2008>;
+ //goodix,ldo-en-gpio = <&msmgpio 15 0x00>;
+ goodix,panel-coords = <0 0 720 1280>;
+ goodix,display-coords = <0 0 720 1280>;
+ goodix,button-map= <158 172 139>;
+ goodix,family-id = <0x0>;
+ goodix,cfg-data = [
+ 41 1C 02 C0 03 05 31 07 03 08
+ 14 08 41 32 03 04 00 00 00 00
+ 00 00 00 18 1A 1E 14 8B 2B 0C
+ 1C 1E 8C 20 00 00 00 9A 03 2D
+ 00 00 00 00 00 00 00 00 00 22
+ 00 4B FA 94 85 02 05 00 00 E5
+ 1B 1A ED 1C 1C 3C 1F 1E 3C 1F
+ 24 08 27 1F 00 00 10 38 58 00
+ 67 60 45 FF FF 07 00 00 00 00
+ 00 01 06 14 0C 16 E8 03 02 00
+ 00 03 28 28 E5 00 23 23 00 00
+ 00 00 02 04 06 08 0A 0C 0E 10
+ 12 14 16 18 FF FF FF FF FF FF
+ FF FF FF FF FF FF FF FF FF FF
+ FF FF 00 02 04 06 08 0A 0C 0F
+ 10 12 13 16 18 1C 1D 1E 1F 20
+ 21 22 24 26 FF FF FF FF FF FF
+ FF FF FF FF FF FF FF FF FF FF
+ FF FF FF FF 90 01];
+ };
+ };
+
+ i2c@7575000 {
+ cc_logic@01 {
+ cc_logic,usb-ss-gpio = <&tlmm 0 0x00>;
+ cc_logic,function-switch-gpio1 = <&tlmm 79 0x00>;
+ cc_logic,function-switch-gpio10 = <&tlmm 81 0x00>;
+ };
+
+ drv2605l@5a {
+ status = "ok";
+ compatible = "ti,drv2605l";
+ reg = <0x5a>;
+ input-mode = <1>;
+ loop-mode = <1>;
+ rtp-format = <0>;
+ actuator-type = <1>;
+ frequency = <240>;
+ vib-rated-mv = <946>;
+ vib-overdrive-mv = <3390>;
+ enable-gpio = <&tlmm 77 0x00>;
+ };
+ };
+
+ i2c@75b7000 {
+ tfa9890@34 {
+ compatible = "nxp,tfa9890";
+ reg = <0x34>;
+ interrupt-parent = <&tlmm>;
+ interrupts = <50 0x2>;
+ vdd-supply = <&pm8994_s4>;
+ irq-gpio = <&tlmm 50 0x00>;
+ reset-gpio = <&tlmm 49 0x00>;
+ };
+ };
+
+ qcom,msm-dai-tdm-quat-rx {
+ /delete-property/ pinctrl-names;
+ /delete-property/ pinctrl-0;
+ /delete-property/ pinctrl-1;
+ };
+
+ qcom,msm-dai-tdm-quat-tx {
+ /delete-property/ pinctrl-names;
+ /delete-property/ pinctrl-0;
+ /delete-property/ pinctrl-1;
+ };
+
+ sound-9335 {
+ qcom,audio-routing =
+ "AIF4 VI", "MCLK",
+ "RX_BIAS", "MCLK",
+ "MADINPUT", "MCLK",
+ "AMIC1", "MIC BIAS1",
+ "MIC BIAS1", "Handset Mic",
+ "AMIC2", "MIC BIAS2",
+ "MIC BIAS2", "Headset Mic",
+ "AMIC3", "MIC BIAS3",
+ "MIC BIAS3", "Handset Mic",
+ "Lineout_1 amp", "LINEOUT1";
+ };
+};
+
+&slim_msm {
+ tasha_codec {
+ status = "disabled";
+ };
+};
+
+&tlmm {
+ tlmm_gpio_key {
+ i2c_5 {
+ i2c_5_active: i2c_5_active {
+ mux {
+ pins = "gpio83", "gpio84";
+ function = "blsp_i2c5";
+ };
+ config {
+ pins = "gpio83", "gpio84";
+ drive-strength = <2>;
+ bias-disable;
+ };
+ };
+ i2c_5_sleep: i2c_5_sleep {
+ mux {
+ pins = "gpio83", "gpio84";
+ function = "blsp_i2c5";
+ };
+
+ config {
+ pins = "gpio83", "gpio84";
+ drive-strength = <2>;
+ bias-disable;//bias-pull-up
+ };
+ };
+ };
+ };
+};
+
+&dai_mi2s_quat {
+ pinctrl-names = "default","sleep";
+ pinctrl-0 = <&quat_mi2s_active &quat_mi2s_sd0_active &quat_mi2s_sd1_active>;
+ pinctrl-1 = <&quat_mi2s_sleep &quat_mi2s_sd0_sleep &quat_mi2s_sd1_sleep>;
+};
+
+&labibb {
+ qcom,qpnp-labibb-mode = "amoled";
+};
+
+&cclogic_defaultnone_active {
+ mux {
+ pins = "gpio0", "gpio33", "gpio79", "gpio81";
+ };
+ config {
+ pins = "gpio0", "gpio33", "gpio79", "gpio81";
+ };
+};
+
+&cclogic_defaultnone_suspend {
+ mux {
+ pins = "gpio0", "gpio33", "gpio79", "gpio81";
+ };
+ config {
+ pins = "gpio0", "gpio33", "gpio79", "gpio81";
+ };
+};
+
+&pmi8994_fg {
+ qcom,fg-iterm-ma = <125>;
+};
+
+&mdss_dsi0 {
+ /delete-property/ qcom,platform-bklight-en-gpio;
+ qcom,platform-enable-gpio = <&tlmm 76 0>;
+};
+
+&ibb_regulator {
+ qcom,qpnp-ibb-init-voltage = <5500000>;
+ qcom,qpnp-lab-init-amoled-voltage = <4000000>;
+ qcom,qpnp-ibb-init-lcd-voltage = <5500000>;
+};
+
+&lab_regulator {
+ qcom,qpnp-lab-init-voltage = <5500000>;
+ qcom,qpnp-lab-init-amoled-voltage = <4600000>;
+ qcom,qpnp-lab-init-lcd-voltage = <5500000>;
+};
+
+&pmi8994_charger {
+ qcom,fastchg-current-ma = <2400>;
+};
+
+&pmi8994_haptics {
+ qcom,vmax-mv = <1695>;
+ qcom,wave-shape = "sine";
+ qcom,wave-play-rate-us = <4166>;
+ qcom,ilim-ma = <85>;
+};
+
+&android_vendor {
+ dev = "/dev/block/platform/soc/624000.ufshc/by-name/factory";
+};
+
+&android_system {
+ dev = "/dev/block/platform/soc/624000.ufshc/by-name/system";
+};
diff --git a/arch/arm/boot/dts/qcom/zuk/z2_row-camera-sensor.dtsi b/arch/arm/boot/dts/qcom/zuk/z2_row-camera-sensor.dtsi
new file mode 100755
index 000000000000..1d5c2ad67a10
--- /dev/null
+++ b/arch/arm/boot/dts/qcom/zuk/z2_row-camera-sensor.dtsi
@@ -0,0 +1,78 @@
+&pmi8994_flash0 {
+ qcom,current = <400>;
+};
+
+&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 = <90>;
+ qcom,led-flash-src = <&led_flash0>;
+ qcom,actuator-src = <&actuator0>;
+ qcom,ois-src = <&ois0>;
+ qcom,eeprom-src = <&eeprom0>;
+ cam_vdig-supply = <&pm8994_s3>;
+ cam_vio-supply = <&pm8994_lvs1>;
+ cam_vana-supply = <&pm8994_l29>;
+ qcom,vdd-cx-supply = <&pm8994_s1_corner>;
+ qcom,vdd-cx-name = "qcom,vdd-cx";
+ qcom,cam-vreg-name = "cam_vdig", "cam_vio", "cam_vana";
+ qcom,cam-vreg-min-voltage = <1300000 0 2800000>;
+ qcom,cam-vreg-max-voltage = <1300000 0 2800000>;
+ qcom,cam-vreg-op-mode = <105000 0 100000>;
+ qcom,gpio-no-mux = <0>;
+ pinctrl-names = "cam_default", "cam_suspend";
+ pinctrl-0 = <&cam_sensor_mclk0_active &cam_sensor_rear_active>;
+ pinctrl-1 = <&cam_sensor_mclk0_suspend &cam_sensor_rear_suspend>;
+ gpios = <&tlmm 13 0>,
+ <&tlmm 30 0>,
+ <&tlmm 27 0>;
+ qcom,gpio-reset = <1>;
+ qcom,gpio-vdig = <2>;
+ qcom,gpio-req-tbl-num = <0 1 2>;
+ qcom,gpio-req-tbl-flags = <1 0 0>;
+ qcom,gpio-req-tbl-label = "CAMIF_MCLK0", "CAM_RESET0", "CAM_VIDG0";
+ qcom,sensor-position = <0>;
+ qcom,sensor-mode = <0>;
+ qcom,cci-master = <0>;
+ status = "ok";
+ clocks = <&clock_mmss clk_mclk0_clk_src>,
+ <&clock_mmss clk_camss_mclk0_clk>;
+ clock-names = "cam_src_clk", "cam_clk";
+ };
+
+ eeprom0: qcom,eeprom@0 {
+ cell-index = <0>;
+ reg = <0>;
+ compatible = "qcom,eeprom";
+ qcom,cci-master = <0>;
+ cam_vdig-supply = <&pm8994_s3>;
+ cam_vio-supply = <&pm8994_lvs1>;
+ cam_vana-supply = <&pm8994_l29>;
+ cam_vaf-supply = <&pm8994_l23>;
+ qcom,cam-vreg-name = "cam_vdig", "cam_vio", "cam_vana", "cam_vaf";
+ qcom,cam-vreg-min-voltage = <1300000 0 2800000 2800000>;
+ qcom,cam-vreg-max-voltage = <1300000 0 2800000 2800000>;
+ qcom,cam-vreg-op-mode = <105000 0 100000 100000>;
+ qcom,gpio-no-mux = <0>;
+ pinctrl-names = "cam_default", "cam_suspend";
+ pinctrl-0 = <&cam_sensor_mclk0_active &cam_sensor_rear_active>;
+ pinctrl-1 = <&cam_sensor_mclk0_suspend &cam_sensor_rear_suspend>;
+ gpios = <&tlmm 13 0>,
+ <&tlmm 30 0>;
+ qcom,gpio-reset = <1>;
+ qcom,gpio-req-tbl-num = <0 1>;
+ qcom,gpio-req-tbl-flags = <1 0>;
+ qcom,gpio-req-tbl-label = "CAMIF_MCLK0", "CAM_RESET0";
+ clocks = <&clock_mmss clk_mclk0_clk_src>,
+ <&clock_mmss clk_camss_mclk0_clk>;
+ clock-names = "cam_src_clk", "cam_clk";
+ };
+};
+
+&ois0 {
+ cam_vaf-supply = <&pm8994_l21>;
+};
diff --git a/arch/arm/configs/msmcortex_defconfig b/arch/arm/configs/msmcortex_defconfig
index 8e086631ce1e..21e74513f542 100644
--- a/arch/arm/configs/msmcortex_defconfig
+++ b/arch/arm/configs/msmcortex_defconfig
@@ -435,7 +435,6 @@ CONFIG_MSM_GLINK_SMEM_NATIVE_XPRT=y
CONFIG_MSM_SPCOM=y
CONFIG_MSM_SMEM_LOGGING=y
CONFIG_MSM_SMP2P=y
-CONFIG_MSM_SMP2P_TEST=y
CONFIG_MSM_QMI_INTERFACE=y
CONFIG_QCOM_BUS_SCALING=y
CONFIG_MSM_SERVICE_LOCATOR=y
diff --git a/arch/arm/configs/sdm660-perf_defconfig b/arch/arm/configs/sdm660-perf_defconfig
index d71529ca5148..b2a7e27e72ed 100644
--- a/arch/arm/configs/sdm660-perf_defconfig
+++ b/arch/arm/configs/sdm660-perf_defconfig
@@ -548,7 +548,6 @@ CONFIG_MSM_GLINK_SPI_XPRT=y
CONFIG_MSM_SPCOM=y
CONFIG_MSM_SMEM_LOGGING=y
CONFIG_MSM_SMP2P=y
-CONFIG_MSM_SMP2P_TEST=y
CONFIG_MSM_QMI_INTERFACE=y
CONFIG_QCOM_BUS_SCALING=y
CONFIG_MSM_SERVICE_LOCATOR=y
diff --git a/arch/arm/configs/sdm660_defconfig b/arch/arm/configs/sdm660_defconfig
index faf2fc8ffa47..02eacca51b46 100644
--- a/arch/arm/configs/sdm660_defconfig
+++ b/arch/arm/configs/sdm660_defconfig
@@ -547,7 +547,6 @@ CONFIG_MSM_SPCOM=y
CONFIG_MSM_SPSS_UTILS=y
CONFIG_MSM_SMEM_LOGGING=y
CONFIG_MSM_SMP2P=y
-CONFIG_MSM_SMP2P_TEST=y
CONFIG_MSM_QMI_INTERFACE=y
CONFIG_QCOM_BUS_SCALING=y
CONFIG_MSM_SERVICE_LOCATOR=y
diff --git a/arch/arm64/configs/fsmcortex-perf_defconfig b/arch/arm64/configs/fsmcortex-perf_defconfig
index 57e441c53ea9..5dacb05eb57d 100644
--- a/arch/arm64/configs/fsmcortex-perf_defconfig
+++ b/arch/arm64/configs/fsmcortex-perf_defconfig
@@ -476,7 +476,6 @@ CONFIG_MSM_SPCOM=y
CONFIG_MSM_SPSS_UTILS=y
CONFIG_MSM_SMEM_LOGGING=y
CONFIG_MSM_SMP2P=y
-CONFIG_MSM_SMP2P_TEST=y
CONFIG_MSM_QMI_INTERFACE=y
CONFIG_MSM_RPM_SMD=y
CONFIG_QCOM_BUS_SCALING=y
diff --git a/arch/arm64/configs/fsmcortex_defconfig b/arch/arm64/configs/fsmcortex_defconfig
index db312ae174a5..a67da1ee50e1 100644
--- a/arch/arm64/configs/fsmcortex_defconfig
+++ b/arch/arm64/configs/fsmcortex_defconfig
@@ -491,7 +491,6 @@ CONFIG_MSM_SPCOM=y
CONFIG_MSM_SPSS_UTILS=y
CONFIG_MSM_SMEM_LOGGING=y
CONFIG_MSM_SMP2P=y
-CONFIG_MSM_SMP2P_TEST=y
CONFIG_MSM_QMI_INTERFACE=y
CONFIG_MSM_RPM_SMD=y
CONFIG_QCOM_BUS_SCALING=y
diff --git a/arch/arm64/configs/msm-perf_defconfig b/arch/arm64/configs/msm-perf_defconfig
index 95fb47583db4..a6b00d2f087f 100644
--- a/arch/arm64/configs/msm-perf_defconfig
+++ b/arch/arm64/configs/msm-perf_defconfig
@@ -530,7 +530,6 @@ CONFIG_MSM_GLINK_SMD_XPRT=y
CONFIG_MSM_GLINK_SMEM_NATIVE_XPRT=y
CONFIG_MSM_SMEM_LOGGING=y
CONFIG_MSM_SMP2P=y
-CONFIG_MSM_SMP2P_TEST=y
CONFIG_MSM_QMI_INTERFACE=y
CONFIG_MSM_RPM_SMD=y
CONFIG_QCOM_BUS_SCALING=y
diff --git a/arch/arm64/configs/msm_defconfig b/arch/arm64/configs/msm_defconfig
index 3661419528c2..4e0fddb25ac7 100644
--- a/arch/arm64/configs/msm_defconfig
+++ b/arch/arm64/configs/msm_defconfig
@@ -530,7 +530,6 @@ CONFIG_MSM_GLINK_SMD_XPRT=y
CONFIG_MSM_GLINK_SMEM_NATIVE_XPRT=y
CONFIG_MSM_SMEM_LOGGING=y
CONFIG_MSM_SMP2P=y
-CONFIG_MSM_SMP2P_TEST=y
CONFIG_MSM_QMI_INTERFACE=y
CONFIG_MSM_RPM_SMD=y
CONFIG_QCOM_BUS_SCALING=y
diff --git a/arch/arm64/configs/msmcortex-perf_defconfig b/arch/arm64/configs/msmcortex-perf_defconfig
index 7bd9ddba5f49..c25bedb41ae0 100644
--- a/arch/arm64/configs/msmcortex-perf_defconfig
+++ b/arch/arm64/configs/msmcortex-perf_defconfig
@@ -555,7 +555,6 @@ CONFIG_MSM_SPCOM=y
CONFIG_MSM_SPSS_UTILS=y
CONFIG_MSM_SMEM_LOGGING=y
CONFIG_MSM_SMP2P=y
-CONFIG_MSM_SMP2P_TEST=y
CONFIG_MSM_QMI_INTERFACE=y
CONFIG_MSM_RPM_SMD=y
CONFIG_QCOM_BUS_SCALING=y
diff --git a/arch/arm64/configs/msmcortex_defconfig b/arch/arm64/configs/msmcortex_defconfig
index a127dfa00726..a205cdab4c6f 100644
--- a/arch/arm64/configs/msmcortex_defconfig
+++ b/arch/arm64/configs/msmcortex_defconfig
@@ -575,7 +575,6 @@ CONFIG_MSM_SPCOM=y
CONFIG_MSM_SPSS_UTILS=y
CONFIG_MSM_SMEM_LOGGING=y
CONFIG_MSM_SMP2P=y
-CONFIG_MSM_SMP2P_TEST=y
CONFIG_MSM_QMI_INTERFACE=y
CONFIG_MSM_RPM_SMD=y
CONFIG_QCOM_BUS_SCALING=y
diff --git a/arch/arm64/configs/msmcortex_mediabox-perf_defconfig b/arch/arm64/configs/msmcortex_mediabox-perf_defconfig
index b0b7088e3327..d67d6d1c99fd 100644
--- a/arch/arm64/configs/msmcortex_mediabox-perf_defconfig
+++ b/arch/arm64/configs/msmcortex_mediabox-perf_defconfig
@@ -535,7 +535,6 @@ CONFIG_MSM_SPCOM=y
CONFIG_MSM_SPSS_UTILS=y
CONFIG_MSM_SMEM_LOGGING=y
CONFIG_MSM_SMP2P=y
-CONFIG_MSM_SMP2P_TEST=y
CONFIG_MSM_QMI_INTERFACE=y
CONFIG_MSM_RPM_SMD=y
CONFIG_QCOM_BUS_SCALING=y
diff --git a/arch/arm64/configs/msmcortex_mediabox_defconfig b/arch/arm64/configs/msmcortex_mediabox_defconfig
index 4e4be010e4c3..f02b8c0d50ae 100644
--- a/arch/arm64/configs/msmcortex_mediabox_defconfig
+++ b/arch/arm64/configs/msmcortex_mediabox_defconfig
@@ -543,7 +543,6 @@ CONFIG_MSM_SPCOM=y
CONFIG_MSM_SPSS_UTILS=y
CONFIG_MSM_SMEM_LOGGING=y
CONFIG_MSM_SMP2P=y
-CONFIG_MSM_SMP2P_TEST=y
CONFIG_MSM_QMI_INTERFACE=y
CONFIG_MSM_RPM_SMD=y
CONFIG_QCOM_BUS_SCALING=y
diff --git a/arch/arm64/configs/sdm660-perf_defconfig b/arch/arm64/configs/sdm660-perf_defconfig
index 104138449323..840a50ff11ce 100644
--- a/arch/arm64/configs/sdm660-perf_defconfig
+++ b/arch/arm64/configs/sdm660-perf_defconfig
@@ -560,7 +560,6 @@ CONFIG_MSM_SPCOM=y
CONFIG_MSM_SPSS_UTILS=y
CONFIG_MSM_SMEM_LOGGING=y
CONFIG_MSM_SMP2P=y
-CONFIG_MSM_SMP2P_TEST=y
CONFIG_MSM_QMI_INTERFACE=y
CONFIG_MSM_RPM_SMD=y
CONFIG_QCOM_BUS_SCALING=y
diff --git a/arch/arm64/configs/sdm660_defconfig b/arch/arm64/configs/sdm660_defconfig
index a6433cbb8fc0..e96c2e26c392 100644
--- a/arch/arm64/configs/sdm660_defconfig
+++ b/arch/arm64/configs/sdm660_defconfig
@@ -576,7 +576,6 @@ CONFIG_MSM_SPCOM=y
CONFIG_MSM_SPSS_UTILS=y
CONFIG_MSM_SMEM_LOGGING=y
CONFIG_MSM_SMP2P=y
-CONFIG_MSM_SMP2P_TEST=y
CONFIG_MSM_QMI_INTERFACE=y
CONFIG_MSM_RPM_SMD=y
CONFIG_QCOM_BUS_SCALING=y
diff --git a/arch/arm64/configs/z2_plus_defconfig b/arch/arm64/configs/z2_plus_defconfig
new file mode 100644
index 000000000000..26ee73bac32b
--- /dev/null
+++ b/arch/arm64/configs/z2_plus_defconfig
@@ -0,0 +1,689 @@
+CONFIG_LOCALVERSION="-LineageOS"
+# CONFIG_LOCALVERSION_AUTO is not set
+# CONFIG_USELIB is not set
+CONFIG_AUDIT=y
+# CONFIG_AUDITSYSCALL is not set
+CONFIG_NO_HZ=y
+CONFIG_HIGH_RES_TIMERS=y
+CONFIG_IRQ_TIME_ACCOUNTING=y
+CONFIG_TASKSTATS=y
+CONFIG_TASK_XACCT=y
+CONFIG_TASK_IO_ACCOUNTING=y
+CONFIG_RCU_EXPERT=y
+CONFIG_RCU_FAST_NO_HZ=y
+CONFIG_RCU_NOCB_CPU=y
+CONFIG_RCU_NOCB_CPU_ALL=y
+CONFIG_IKCONFIG=y
+CONFIG_IKCONFIG_PROC=y
+CONFIG_LOG_CPU_MAX_BUF_SHIFT=21
+CONFIG_CGROUPS=y
+CONFIG_CGROUP_FREEZER=y
+CONFIG_CPUSETS=y
+CONFIG_CGROUP_CPUACCT=y
+CONFIG_CGROUP_SCHEDTUNE=y
+CONFIG_CGROUP_SCHED=y
+CONFIG_RT_GROUP_SCHED=y
+CONFIG_BLK_CGROUP=y
+CONFIG_CGROUP_BPF=y
+CONFIG_SCHED_HMP=y
+CONFIG_SCHED_HMP_CSTATE_AWARE=y
+CONFIG_NAMESPACES=y
+# CONFIG_UTS_NS is not set
+# CONFIG_PID_NS is not set
+CONFIG_SCHED_TUNE=y
+CONFIG_RELAY=y
+CONFIG_BLK_DEV_INITRD=y
+# CONFIG_RD_BZIP2 is not set
+# CONFIG_RD_LZMA is not set
+# CONFIG_RD_XZ is not set
+# CONFIG_RD_LZO is not set
+# CONFIG_RD_LZ4 is not set
+CONFIG_BPF_SYSCALL=y
+# CONFIG_MEMBARRIER is not set
+CONFIG_EMBEDDED=y
+# CONFIG_SLUB_DEBUG is not set
+# CONFIG_COMPAT_BRK is not set
+CONFIG_PROFILING=y
+CONFIG_KPROBES=y
+CONFIG_CC_STACKPROTECTOR_STRONG=y
+CONFIG_ARCH_MMAP_RND_COMPAT_BITS=16
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+CONFIG_MODULE_FORCE_UNLOAD=y
+CONFIG_MODVERSIONS=y
+CONFIG_PARTITION_ADVANCED=y
+# CONFIG_IOSCHED_TEST is not set
+CONFIG_CFQ_GROUP_IOSCHED=y
+CONFIG_IOSCHED_BFQ=y
+CONFIG_BFQ_GROUP_IOSCHED=y
+CONFIG_DEFAULT_NOOP=y
+CONFIG_ARCH_QCOM=y
+CONFIG_ARCH_MSM8996=y
+CONFIG_PCI=y
+CONFIG_PCI_MSM=y
+# CONFIG_ARM64_ERRATUM_826319 is not set
+# CONFIG_ARM64_ERRATUM_827319 is not set
+# CONFIG_ARM64_ERRATUM_824069 is not set
+# CONFIG_ARM64_ERRATUM_819472 is not set
+# CONFIG_ARM64_ERRATUM_832075 is not set
+# CONFIG_ARM64_ERRATUM_845719 is not set
+# CONFIG_ARM64_ERRATUM_1024718 is not set
+# CONFIG_CAVIUM_ERRATUM_22375 is not set
+# CONFIG_CAVIUM_ERRATUM_23154 is not set
+# CONFIG_CAVIUM_ERRATUM_27456 is not set
+CONFIG_ENABLE_FP_SIMD_SETTINGS=y
+CONFIG_MSM_APP_SETTINGS=y
+CONFIG_SCHED_MC=y
+CONFIG_NR_CPUS=4
+CONFIG_PREEMPT=y
+CONFIG_HZ_300=y
+CONFIG_CMA=y
+CONFIG_ZSMALLOC=y
+CONFIG_BALANCE_ANON_FILE_RECLAIM=y
+CONFIG_FORCE_ALLOC_FROM_DMA_ZONE=y
+CONFIG_SECCOMP=y
+CONFIG_ARMV8_DEPRECATED=y
+CONFIG_SWP_EMULATION=y
+CONFIG_CP15_BARRIER_EMULATION=y
+CONFIG_SETEND_EMULATION=y
+# CONFIG_EFI is not set
+CONFIG_BUILD_ARM64_APPENDED_DTB_IMAGE=y
+# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
+CONFIG_COMPAT=y
+CONFIG_PM_AUTOSLEEP=y
+CONFIG_PM_WAKELOCKS=y
+CONFIG_PM_WAKELOCKS_LIMIT=0
+# CONFIG_PM_WAKELOCKS_GC is not set
+CONFIG_CPU_IDLE=y
+CONFIG_CPU_FREQ=y
+CONFIG_CPU_FREQ_GOV_POWERSAVE=y
+CONFIG_CPU_FREQ_GOV_USERSPACE=y
+CONFIG_CPU_FREQ_GOV_ONDEMAND=y
+CONFIG_CPU_FREQ_GOV_INTERACTIVE=y
+CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
+CONFIG_CPU_BOOST=y
+CONFIG_NET=y
+CONFIG_PACKET=y
+CONFIG_UNIX=y
+CONFIG_XFRM_USER=y
+CONFIG_XFRM_STATISTICS=y
+CONFIG_NET_KEY=y
+CONFIG_INET=y
+CONFIG_IP_MULTICAST=y
+CONFIG_IP_ADVANCED_ROUTER=y
+CONFIG_IP_MULTIPLE_TABLES=y
+CONFIG_IP_ROUTE_VERBOSE=y
+CONFIG_IP_PNP=y
+CONFIG_IP_PNP_DHCP=y
+CONFIG_NET_IPVTI=y
+CONFIG_INET_ESP=y
+CONFIG_INET_IPCOMP=y
+# CONFIG_INET_LRO is not set
+CONFIG_INET_UDP_DIAG=y
+CONFIG_INET_DIAG_DESTROY=y
+CONFIG_TCP_CONG_ADVANCED=y
+# CONFIG_TCP_CONG_BIC is not set
+# CONFIG_TCP_CONG_CUBIC is not set
+CONFIG_TCP_CONG_WESTWOOD=y
+# CONFIG_TCP_CONG_HTCP is not set
+CONFIG_IPV6_ROUTER_PREF=y
+CONFIG_IPV6_ROUTE_INFO=y
+CONFIG_IPV6_OPTIMISTIC_DAD=y
+CONFIG_INET6_AH=y
+CONFIG_INET6_ESP=y
+CONFIG_INET6_IPCOMP=y
+CONFIG_IPV6_MIP6=y
+CONFIG_IPV6_VTI=y
+CONFIG_IPV6_MULTIPLE_TABLES=y
+CONFIG_IPV6_SUBTREES=y
+CONFIG_NETFILTER=y
+CONFIG_NF_CONNTRACK=y
+CONFIG_NF_CONNTRACK_SECMARK=y
+CONFIG_NF_CONNTRACK_EVENTS=y
+CONFIG_NF_CT_PROTO_DCCP=y
+CONFIG_NF_CT_PROTO_SCTP=y
+CONFIG_NF_CT_PROTO_UDPLITE=y
+CONFIG_NF_CONNTRACK_AMANDA=y
+CONFIG_NF_CONNTRACK_FTP=y
+CONFIG_NF_CONNTRACK_H323=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_TFTP=y
+CONFIG_NF_CT_NETLINK=y
+CONFIG_NETFILTER_XT_TARGET_CLASSIFY=y
+CONFIG_NETFILTER_XT_TARGET_CONNMARK=y
+CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=y
+CONFIG_NETFILTER_XT_TARGET_IDLETIMER=y
+CONFIG_NETFILTER_XT_TARGET_HARDIDLETIMER=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_TEE=y
+CONFIG_NETFILTER_XT_TARGET_TPROXY=y
+CONFIG_NETFILTER_XT_TARGET_TRACE=y
+CONFIG_NETFILTER_XT_TARGET_SECMARK=y
+CONFIG_NETFILTER_XT_TARGET_TCPMSS=y
+CONFIG_NETFILTER_XT_MATCH_BPF=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_OWNER=y
+CONFIG_NETFILTER_XT_MATCH_POLICY=y
+CONFIG_NETFILTER_XT_MATCH_PKTTYPE=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_NF_CONNTRACK_IPV4=y
+CONFIG_IP_NF_IPTABLES=y
+CONFIG_IP_NF_MATCH_AH=y
+CONFIG_IP_NF_MATCH_ECN=y
+CONFIG_IP_NF_MATCH_RPFILTER=y
+CONFIG_IP_NF_MATCH_TTL=y
+CONFIG_IP_NF_FILTER=y
+CONFIG_IP_NF_TARGET_REJECT=y
+CONFIG_IP_NF_NAT=y
+CONFIG_IP_NF_TARGET_MASQUERADE=y
+CONFIG_IP_NF_TARGET_NETMAP=y
+CONFIG_IP_NF_TARGET_REDIRECT=y
+CONFIG_IP_NF_MANGLE=y
+CONFIG_IP_NF_RAW=y
+CONFIG_IP_NF_SECURITY=y
+CONFIG_IP_NF_ARPTABLES=y
+CONFIG_IP_NF_ARPFILTER=y
+CONFIG_IP_NF_ARP_MANGLE=y
+CONFIG_NF_CONNTRACK_IPV6=y
+CONFIG_IP6_NF_IPTABLES=y
+CONFIG_IP6_NF_MATCH_RPFILTER=y
+CONFIG_IP6_NF_FILTER=y
+CONFIG_IP6_NF_TARGET_REJECT=y
+CONFIG_IP6_NF_MANGLE=y
+CONFIG_IP6_NF_RAW=y
+CONFIG_BRIDGE_NF_EBTABLES=y
+CONFIG_BRIDGE_EBT_BROUTE=y
+CONFIG_L2TP=y
+CONFIG_L2TP_V3=y
+CONFIG_L2TP_IP=y
+CONFIG_L2TP_ETH=y
+CONFIG_BRIDGE=y
+CONFIG_NET_SCHED=y
+CONFIG_NET_SCH_HTB=y
+CONFIG_NET_SCH_PRIO=y
+CONFIG_NET_SCH_MULTIQ=y
+CONFIG_NET_SCH_INGRESS=y
+CONFIG_NET_CLS_FW=y
+CONFIG_NET_CLS_U32=y
+CONFIG_CLS_U32_MARK=y
+CONFIG_NET_CLS_FLOW=y
+CONFIG_NET_CLS_BPF=y
+CONFIG_NET_EMATCH=y
+CONFIG_NET_EMATCH_CMP=y
+CONFIG_NET_EMATCH_NBYTE=y
+CONFIG_NET_EMATCH_U32=y
+CONFIG_NET_EMATCH_META=y
+CONFIG_NET_EMATCH_TEXT=y
+CONFIG_NET_CLS_ACT=y
+CONFIG_NET_ACT_GACT=y
+CONFIG_NET_ACT_MIRRED=y
+CONFIG_NET_ACT_SKBEDIT=y
+CONFIG_NET_ACT_BPF=y
+CONFIG_RMNET_DATA=y
+CONFIG_RMNET_DATA_FC=y
+CONFIG_BPF_JIT=y
+CONFIG_SOCKEV_NLMCAST=y
+CONFIG_BT=y
+# CONFIG_BT_HS is not set
+# CONFIG_BT_LE is not set
+# CONFIG_BT_DEBUGFS is not set
+CONFIG_MSM_BT_POWER=y
+CONFIG_BTFM_SLIM=y
+CONFIG_BTFM_SLIM_WCN3990=y
+CONFIG_CFG80211=y
+CONFIG_CFG80211_INTERNAL_REGDB=y
+# CONFIG_CFG80211_CRDA_SUPPORT is not set
+CONFIG_RFKILL=y
+CONFIG_IPC_ROUTER=y
+CONFIG_IPC_ROUTER_SECURITY=y
+CONFIG_FW_LOADER_USER_HELPER_FALLBACK=y
+# CONFIG_ALLOW_DEV_COREDUMP is not set
+CONFIG_DMA_CMA=y
+CONFIG_ZRAM=y
+CONFIG_BLK_DEV_LOOP=y
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_SIZE=8192
+CONFIG_QSEECOM=y
+CONFIG_HDCP_QSEECOM=y
+CONFIG_UID_SYS_STATS=y
+CONFIG_CCLOGIC=y
+CONFIG_TYPEC_CCLOGIC_PI5USBD=y
+CONFIG_TYPEC_CCLOGIC_TUSB320HAI=y
+CONFIG_SCSI=y
+CONFIG_BLK_DEV_SD=y
+CONFIG_CHR_DEV_SG=y
+CONFIG_SCSI_SCAN_ASYNC=y
+CONFIG_MD=y
+CONFIG_BLK_DEV_DM=y
+CONFIG_DM_CRYPT=y
+CONFIG_DM_REQ_CRYPT=y
+CONFIG_DM_UEVENT=y
+CONFIG_DM_VERITY=y
+CONFIG_NETDEVICES=y
+CONFIG_BONDING=y
+CONFIG_DUMMY=y
+CONFIG_TUN=y
+# CONFIG_NET_VENDOR_3COM is not set
+# CONFIG_NET_VENDOR_ADAPTEC is not set
+# CONFIG_NET_VENDOR_AGERE is not set
+# CONFIG_NET_VENDOR_ALTEON is not set
+# CONFIG_NET_VENDOR_AMD is not set
+# CONFIG_NET_VENDOR_ARC is not set
+# CONFIG_NET_VENDOR_ATHEROS is not set
+# CONFIG_NET_CADENCE is not set
+# CONFIG_NET_VENDOR_BROADCOM is not set
+# CONFIG_NET_VENDOR_BROCADE is not set
+# CONFIG_NET_VENDOR_CAVIUM is not set
+# CONFIG_NET_VENDOR_CHELSIO is not set
+# CONFIG_NET_VENDOR_CISCO is not set
+# CONFIG_NET_VENDOR_DEC is not set
+# CONFIG_NET_VENDOR_DLINK is not set
+# CONFIG_NET_VENDOR_EMULEX is not set
+# CONFIG_NET_VENDOR_EZCHIP is not set
+# CONFIG_NET_VENDOR_EXAR is not set
+# CONFIG_NET_VENDOR_HISILICON is not set
+# CONFIG_NET_VENDOR_HP is not set
+# CONFIG_NET_VENDOR_INTEL is not set
+# CONFIG_NET_VENDOR_MARVELL is not set
+# CONFIG_NET_VENDOR_MELLANOX is not set
+# CONFIG_NET_VENDOR_MICREL is not set
+# CONFIG_NET_VENDOR_MICROCHIP is not set
+CONFIG_MSM_RMNET_MHI=y
+CONFIG_RNDIS_IPA=y
+# CONFIG_NET_VENDOR_MYRI is not set
+# CONFIG_NET_VENDOR_NATSEMI is not set
+# CONFIG_NET_VENDOR_NVIDIA is not set
+# CONFIG_NET_VENDOR_OKI is not set
+# CONFIG_NET_PACKET_ENGINE is not set
+# CONFIG_NET_VENDOR_QLOGIC is not set
+# CONFIG_NET_VENDOR_QUALCOMM is not set
+# CONFIG_NET_VENDOR_REALTEK is not set
+# CONFIG_NET_VENDOR_RENESAS is not set
+# CONFIG_NET_VENDOR_RDC is not set
+# CONFIG_NET_VENDOR_ROCKER is not set
+# CONFIG_NET_VENDOR_SAMSUNG is not set
+# CONFIG_NET_VENDOR_SEEQ is not set
+# CONFIG_NET_VENDOR_SILAN is not set
+# CONFIG_NET_VENDOR_SIS is not set
+# CONFIG_NET_VENDOR_SMSC is not set
+# CONFIG_NET_VENDOR_STMICRO is not set
+# CONFIG_NET_VENDOR_SUN is not set
+# CONFIG_NET_VENDOR_SYNOPSYS is not set
+# CONFIG_NET_VENDOR_TEHUTI is not set
+# CONFIG_NET_VENDOR_TI is not set
+# CONFIG_NET_VENDOR_VIA is not set
+# CONFIG_NET_VENDOR_WIZNET is not set
+CONFIG_PPP=y
+CONFIG_PPP_BSDCOMP=y
+CONFIG_PPP_DEFLATE=y
+CONFIG_PPP_FILTER=y
+CONFIG_PPP_MPPE=y
+CONFIG_PPP_MULTILINK=y
+CONFIG_PPPOE=y
+CONFIG_PPPOL2TP=y
+CONFIG_PPPOLAC=y
+CONFIG_PPPOPNS=y
+CONFIG_PPP_ASYNC=y
+CONFIG_USB_USBNET=y
+# CONFIG_USB_NET_NET1080 is not set
+# CONFIG_USB_NET_CDC_SUBSET is not set
+# CONFIG_USB_NET_ZAURUS is not set
+CONFIG_WCNSS_MEM_PRE_ALLOC=y
+CONFIG_CNSS_CRYPTO=y
+CONFIG_CNSS=y
+CONFIG_CLD_LL_CORE=y
+CONFIG_BUS_AUTO_SUSPEND=y
+# CONFIG_INPUT_MOUSEDEV is not set
+CONFIG_INPUT_EVDEV=y
+CONFIG_INPUT_KEYRESET=y
+CONFIG_KEYBOARD_GPIO=y
+# CONFIG_INPUT_MOUSE is not set
+CONFIG_INPUT_TOUCHSCREEN=y
+# CONFIG_TOUCHSCREEN_SYNAPTICS_DSX_v21 is not set
+CONFIG_TOUCHSCREEN_GT9X_V24=y
+CONFIG_TOUCHSCREEN_GEN_VKEYS=y
+CONFIG_GT9X_V24_TOUCHPANEL_DRIVER=y
+CONFIG_GT9X_V24_TOUCHPANEL_UPDATE=y
+CONFIG_GT9X_V24_TOUCHPANEL_DEBUG=y
+CONFIG_INPUT_MISC=y
+CONFIG_INPUT_QPNP_POWER_ON=y
+CONFIG_INPUT_KEYCHORD=y
+CONFIG_INPUT_UINPUT=y
+CONFIG_INPUT_GPIO=y
+# CONFIG_VT is not set
+# CONFIG_LEGACY_PTYS is not set
+# CONFIG_DEVMEM is not set
+# CONFIG_DEVKMEM is not set
+CONFIG_SERIAL_MSM_HS=y
+CONFIG_SERIAL_MSM_SMD=y
+CONFIG_DIAG_CHAR=y
+CONFIG_HW_RANDOM=y
+CONFIG_HW_RANDOM_MSM_LEGACY=y
+# CONFIG_DEVPORT is not set
+CONFIG_MSM_ADSPRPC=y
+CONFIG_I2C_CHARDEV=y
+CONFIG_I2C_QUP=y
+CONFIG_I2C_MSM_V2=y
+CONFIG_SLIMBUS_MSM_NGD=y
+CONFIG_SOUNDWIRE=y
+CONFIG_SPI=y
+CONFIG_SPI_QUP=y
+CONFIG_SPI_SPIDEV=y
+CONFIG_SPMI=y
+CONFIG_PINCTRL_MSM8996=y
+CONFIG_GPIOLIB=y
+CONFIG_GPIO_SYSFS=y
+CONFIG_GPIO_QPNP_PIN=y
+CONFIG_POWER_RESET_QCOM=y
+CONFIG_QCOM_DLOAD_MODE=y
+CONFIG_POWER_RESET_XGENE=y
+CONFIG_POWER_RESET_SYSCON=y
+CONFIG_QPNP_SMBCHARGER=y
+CONFIG_QPNP_FG=y
+CONFIG_SMB1351_USB_CHARGER=y
+CONFIG_MSM_BCL_CTL=y
+CONFIG_MSM_BCL_PERIPHERAL_CTL=y
+CONFIG_MSM_PM=y
+CONFIG_APSS_CORE_EA=y
+CONFIG_MSM_APM=y
+CONFIG_SENSORS_EPM_ADC=y
+CONFIG_SENSORS_QPNP_ADC_VOLTAGE=y
+CONFIG_THERMAL=y
+CONFIG_LIMITS_MONITOR=y
+CONFIG_LIMITS_LITE_HW=y
+CONFIG_THERMAL_MONITOR=y
+CONFIG_THERMAL_TSENS8974=y
+CONFIG_THERMAL_QPNP_ADC_TM=y
+CONFIG_MFD_SPMI_PMIC=y
+CONFIG_WCD9335_CODEC=y
+CONFIG_REGULATOR=y
+CONFIG_REGULATOR_FIXED_VOLTAGE=y
+CONFIG_REGULATOR_RPM_SMD=y
+CONFIG_REGULATOR_QPNP=y
+CONFIG_REGULATOR_QPNP_LABIBB=y
+CONFIG_REGULATOR_SPM=y
+CONFIG_REGULATOR_CPR3_HMSS=y
+CONFIG_REGULATOR_CPR3_MMSS=y
+CONFIG_REGULATOR_KRYO=y
+CONFIG_REGULATOR_MEM_ACC=y
+CONFIG_REGULATOR_PROXY_CONSUMER=y
+CONFIG_MEDIA_SUPPORT=y
+CONFIG_MEDIA_CAMERA_SUPPORT=y
+CONFIG_MEDIA_CONTROLLER=y
+CONFIG_VIDEO_V4L2_SUBDEV_API=y
+CONFIG_V4L_PLATFORM_DRIVERS=y
+CONFIG_SOC_CAMERA=y
+CONFIG_SOC_CAMERA_PLATFORM=y
+CONFIG_MSM_CAMERA=y
+CONFIG_MSMB_CAMERA=y
+CONFIG_MSM_CAMERA_SENSOR=y
+CONFIG_MSM_CPP=y
+CONFIG_MSM_CCI=y
+CONFIG_MSM_CSI20_HEADER=y
+CONFIG_MSM_CSI22_HEADER=y
+CONFIG_MSM_CSI30_HEADER=y
+CONFIG_MSM_CSI31_HEADER=y
+CONFIG_MSM_CSIPHY=y
+CONFIG_MSM_CSID=y
+CONFIG_MSM_EEPROM=y
+CONFIG_MSM_ISPIF=y
+CONFIG_MSMB_JPEG=y
+CONFIG_MSM_FD=y
+CONFIG_MSM_JPEGDMA=y
+CONFIG_MSM_VIDC_V4L2=y
+CONFIG_MSM_VIDC_VMEM=y
+CONFIG_MSM_VIDC_GOVERNORS=y
+# CONFIG_VGA_ARB is not set
+CONFIG_QCOM_KGSL=y
+CONFIG_FB=y
+CONFIG_FB_MSM=y
+CONFIG_FB_MSM_MDSS=y
+CONFIG_FB_MSM_MDSS_WRITEBACK=y
+CONFIG_SOUND=y
+CONFIG_SND=y
+# CONFIG_SND_SUPPORT_OLD_API is not set
+# CONFIG_SND_VERBOSE_PROCFS is not set
+# CONFIG_SND_DRIVERS is not set
+# CONFIG_SND_PCI is not set
+# CONFIG_SND_SPI is not set
+CONFIG_SND_USB_AUDIO=y
+CONFIG_SND_USB_AUDIO_QMI=y
+CONFIG_SND_SOC=y
+CONFIG_SND_SOC_MSM8996=y
+CONFIG_UHID=y
+CONFIG_HID_APPLE=y
+CONFIG_HID_MAGICMOUSE=y
+CONFIG_HID_MICROSOFT=y
+CONFIG_USB=y
+CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
+CONFIG_USB_XHCI_HCD=y
+CONFIG_USB_STORAGE=y
+CONFIG_USB_DWC3=y
+CONFIG_USB_SERIAL=y
+CONFIG_USB_MSM_SSPHY_QMP=y
+CONFIG_MSM_QUSB_PHY=y
+CONFIG_USB_ULPI=y
+CONFIG_USB_GADGET=y
+CONFIG_USB_GADGET_VBUS_DRAW=500
+CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=4
+CONFIG_USB_CONFIGFS=y
+CONFIG_USB_CONFIGFS_SERIAL=y
+CONFIG_USB_CONFIGFS_NCM=y
+CONFIG_USB_CONFIGFS_ECM=y
+CONFIG_USB_CONFIGFS_QCRNDIS=y
+CONFIG_USB_CONFIGFS_RNDIS=y
+CONFIG_USB_CONFIGFS_RMNET_BAM=y
+CONFIG_USB_CONFIGFS_MASS_STORAGE=y
+CONFIG_USB_CONFIGFS_F_FS=y
+CONFIG_USB_CONFIGFS_F_MTP=y
+CONFIG_USB_CONFIGFS_F_PTP=y
+CONFIG_USB_CONFIGFS_F_ACC=y
+CONFIG_USB_CONFIGFS_F_AUDIO_SRC=y
+CONFIG_USB_CONFIGFS_UEVENT=y
+CONFIG_USB_CONFIGFS_F_MIDI=y
+CONFIG_USB_CONFIGFS_F_DIAG=y
+CONFIG_USB_CONFIGFS_F_CDEV=y
+CONFIG_USB_CONFIGFS_F_QDSS=y
+CONFIG_MMC=y
+CONFIG_MMC_PERF_PROFILING=y
+CONFIG_MMC_PARANOID_SD_INIT=y
+CONFIG_MMC_CLKGATE=y
+CONFIG_MMC_BLOCK_MINORS=32
+CONFIG_MMC_TEST=y
+CONFIG_MMC_SDHCI=y
+CONFIG_MMC_SDHCI_PLTFM=y
+CONFIG_MMC_SDHCI_MSM=y
+CONFIG_MMC_SDHCI_MSM_ICE=y
+CONFIG_LEDS_QPNP=y
+CONFIG_LEDS_QPNP_FLASH=y
+CONFIG_LEDS_QPNP_WLED=y
+CONFIG_LEDS_QPNP_HAPTICS=y
+CONFIG_LEDS_TRIGGERS=y
+CONFIG_SWITCH=y
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_DRV_QPNP=y
+CONFIG_ESOC=y
+CONFIG_ESOC_DEV=y
+CONFIG_ESOC_CLIENT=y
+CONFIG_ESOC_MDM_4x=y
+CONFIG_DMADEVICES=y
+CONFIG_QCOM_BAM_DMA=y
+CONFIG_QCOM_SPS_DMA=y
+CONFIG_UIO=y
+CONFIG_UIO_MSM_SHAREDMEM=y
+CONFIG_STAGING=y
+CONFIG_ASHMEM=y
+CONFIG_ANDROID_TIMED_GPIO=y
+CONFIG_ANDROID_LOW_MEMORY_KILLER=y
+CONFIG_SW_SYNC_USER=y
+CONFIG_ION=y
+CONFIG_ION_MSM=y
+CONFIG_QCA_CLD_WLAN=y
+CONFIG_QCACLD_WLAN_LFR3=y
+CONFIG_PRIMA_WLAN_OKC=y
+CONFIG_PRIMA_WLAN_11AC_HIGH_TP=y
+CONFIG_WLAN_FEATURE_11W=y
+CONFIG_WLAN_FEATURE_LPSS=y
+CONFIG_QCOM_VOWIFI_11R=y
+CONFIG_WLAN_FEATURE_NAN=y
+CONFIG_WLAN_FEATURE_NAN_DATAPATH=y
+CONFIG_QCOM_TDLS=y
+CONFIG_QCOM_LTE_COEX=y
+CONFIG_WLAN_OFFLOAD_PACKETS=y
+CONFIG_QCA_WIFI_AUTOMOTIVE_CONC=y
+CONFIG_QPNP_REVID=y
+CONFIG_QPNP_COINCELL=y
+CONFIG_SPS=y
+CONFIG_SPS_SUPPORT_NDP_BAM=y
+CONFIG_IPA=y
+CONFIG_RMNET_IPA=y
+CONFIG_GPIO_USB_DETECT=y
+CONFIG_MSM_MHI=y
+CONFIG_MSM_MHI_UCI=y
+# CONFIG_MSM_11AD is not set
+CONFIG_SEEMP_CORE=y
+CONFIG_USB_BAM=y
+CONFIG_MACH_ZUK=y
+CONFIG_MACH_ZUK_MSM8996=y
+CONFIG_MACH_ZUK_Z2_PLUS=y
+CONFIG_MSM_MDSS_PLL=y
+CONFIG_REMOTE_SPINLOCK_MSM=y
+CONFIG_IOMMU_IO_PGTABLE_FAST=y
+CONFIG_ARM_SMMU=y
+CONFIG_MSM_SMEM=y
+CONFIG_MSM_SMD=y
+CONFIG_MSM_GLINK=y
+CONFIG_MSM_GLINK_LOOPBACK_SERVER=y
+CONFIG_MSM_GLINK_SMD_XPRT=y
+CONFIG_MSM_GLINK_SMEM_NATIVE_XPRT=y
+CONFIG_MSM_SMP2P=y
+CONFIG_MSM_QMI_INTERFACE=y
+CONFIG_MSM_RPM_SMD=y
+CONFIG_QCOM_BUS_SCALING=y
+CONFIG_MSM_SYSMON_GLINK_COMM=y
+CONFIG_MSM_IPC_ROUTER_GLINK_XPRT=y
+CONFIG_MSM_GLINK_PKT=y
+CONFIG_MSM_SPM=y
+CONFIG_MSM_L2_SPM=y
+CONFIG_QCOM_SCM=y
+CONFIG_QCOM_SCM_XPU=y
+CONFIG_QCOM_WATCHDOG_V2=y
+CONFIG_QCOM_MEMORY_DUMP_V2=y
+CONFIG_MSM_RUN_QUEUE_STATS=y
+CONFIG_MSM_ADSP_LOADER=y
+CONFIG_MSM_PERFORMANCE=y
+CONFIG_MSM_SUBSYSTEM_RESTART=y
+CONFIG_MSM_PIL=y
+CONFIG_MSM_PIL_SSR_GENERIC=y
+CONFIG_MSM_PIL_MSS_QDSP6V5=y
+CONFIG_MSM_MPM_OF=y
+CONFIG_MSM_EVENT_TIMER=y
+CONFIG_MSM_AVTIMER=y
+CONFIG_MSM_KERNEL_PROTECT=y
+CONFIG_MSM_RPM_STATS_LOG=y
+CONFIG_QCOM_SMCINVOKE=y
+CONFIG_MEM_SHARE_QMI_SERVICE=y
+CONFIG_QCOM_BIMC_BWMON=y
+CONFIG_ARM_MEMLAT_MON=y
+CONFIG_QCOM_M4M_HWMON=y
+CONFIG_DEVFREQ_GOV_QCOM_BW_HWMON=y
+CONFIG_DEVFREQ_GOV_QCOM_CACHE_HWMON=y
+CONFIG_DEVFREQ_GOV_MEMLAT=y
+CONFIG_DEVFREQ_SIMPLE_DEV=y
+CONFIG_QCOM_DEVFREQ_DEVBW=y
+CONFIG_EXTCON=y
+CONFIG_PWM=y
+CONFIG_PWM_QPNP=y
+CONFIG_ARM_GIC_V3_ACL=y
+CONFIG_ANDROID=y
+CONFIG_ANDROID_BINDER_IPC=y
+CONFIG_MSM_TZ_LOG=y
+CONFIG_SENSORS_SSC=y
+CONFIG_FPC1020_REE=y
+# CONFIG_ACPI is not set
+CONFIG_EXT4_FS=y
+CONFIG_EXT4_FS_SECURITY=y
+CONFIG_EXT4_ENCRYPTION=y
+CONFIG_EXT4_FS_ENCRYPTION=y
+CONFIG_EXT4_FS_ICE_ENCRYPTION=y
+CONFIG_F2FS_FS=y
+CONFIG_F2FS_FS_SECURITY=y
+CONFIG_F2FS_FS_ENCRYPTION=y
+CONFIG_QUOTA=y
+CONFIG_QUOTA_NETLINK_INTERFACE=y
+# CONFIG_PRINT_QUOTA_WARNING is not set
+CONFIG_FUSE_FS=y
+CONFIG_VFAT_FS=y
+CONFIG_TMPFS=y
+CONFIG_TMPFS_POSIX_ACL=y
+CONFIG_ECRYPT_FS=y
+CONFIG_ECRYPT_FS_MESSAGING=y
+CONFIG_SDCARD_FS=y
+CONFIG_PSTORE=y
+CONFIG_PSTORE_CONSOLE=y
+CONFIG_PSTORE_PMSG=y
+CONFIG_PSTORE_RAM=y
+CONFIG_NLS_CODEPAGE_437=y
+CONFIG_NLS_ISO8859_1=y
+CONFIG_PRINTK_TIME=y
+CONFIG_MAGIC_SYSRQ=y
+CONFIG_PANIC_TIMEOUT=5
+# CONFIG_SCHED_DEBUG is not set
+# CONFIG_DEBUG_PREEMPT is not set
+# CONFIG_DEBUG_BUGVERBOSE is not set
+CONFIG_CPU_FREQ_SWITCH_PROFILER=y
+CONFIG_PFK=y
+CONFIG_SECURITY_PERF_EVENTS_RESTRICT=y
+CONFIG_SECURITY=y
+CONFIG_SECURITY_NETWORK=y
+CONFIG_HARDENED_USERCOPY=y
+CONFIG_SECURITY_SELINUX=y
+CONFIG_SECURITY_YAMA=y
+CONFIG_CRYPTO_GCM=y
+CONFIG_CRYPTO_XCBC=y
+CONFIG_CRYPTO_MD4=y
+CONFIG_CRYPTO_SHA512=y
+CONFIG_CRYPTO_TWOFISH=y
+CONFIG_CRYPTO_ANSI_CPRNG=y
+CONFIG_CRYPTO_DEV_QCRYPTO=y
+CONFIG_CRYPTO_DEV_QCOM_MSM_QCE=y
+CONFIG_CRYPTO_DEV_QCEDEV=y
+CONFIG_CRYPTO_DEV_OTA_CRYPTO=y
+CONFIG_CRYPTO_DEV_QCOM_ICE=y
+CONFIG_ARM64_CRYPTO=y
+CONFIG_CRYPTO_SHA1_ARM64_CE=y
+CONFIG_CRYPTO_SHA2_ARM64_CE=y
+CONFIG_CRYPTO_GHASH_ARM64_CE=y
+CONFIG_CRYPTO_AES_ARM64_CE_CCM=y
+CONFIG_CRYPTO_AES_ARM64_CE_BLK=y
+CONFIG_CRYPTO_AES_ARM64_NEON_BLK=y
+CONFIG_CRYPTO_CRC32_ARM64=y
+CONFIG_QMI_ENCDEC=y
diff --git a/arch/arm64/configs/z2_row_defconfig b/arch/arm64/configs/z2_row_defconfig
new file mode 100644
index 000000000000..7bba1faa6e3c
--- /dev/null
+++ b/arch/arm64/configs/z2_row_defconfig
@@ -0,0 +1,695 @@
+CONFIG_LOCALVERSION="-LineageOS"
+# CONFIG_LOCALVERSION_AUTO is not set
+# CONFIG_USELIB is not set
+CONFIG_AUDIT=y
+# CONFIG_AUDITSYSCALL is not set
+CONFIG_NO_HZ=y
+CONFIG_HIGH_RES_TIMERS=y
+CONFIG_IRQ_TIME_ACCOUNTING=y
+CONFIG_TASKSTATS=y
+CONFIG_TASK_XACCT=y
+CONFIG_TASK_IO_ACCOUNTING=y
+CONFIG_RCU_EXPERT=y
+CONFIG_RCU_FAST_NO_HZ=y
+CONFIG_RCU_NOCB_CPU=y
+CONFIG_RCU_NOCB_CPU_ALL=y
+CONFIG_IKCONFIG=y
+CONFIG_IKCONFIG_PROC=y
+CONFIG_LOG_CPU_MAX_BUF_SHIFT=21
+CONFIG_CGROUPS=y
+CONFIG_CGROUP_FREEZER=y
+CONFIG_CPUSETS=y
+CONFIG_CGROUP_CPUACCT=y
+CONFIG_CGROUP_SCHEDTUNE=y
+CONFIG_CGROUP_SCHED=y
+CONFIG_RT_GROUP_SCHED=y
+CONFIG_BLK_CGROUP=y
+CONFIG_CGROUP_BPF=y
+CONFIG_SCHED_HMP=y
+CONFIG_SCHED_HMP_CSTATE_AWARE=y
+CONFIG_NAMESPACES=y
+# CONFIG_UTS_NS is not set
+# CONFIG_PID_NS is not set
+CONFIG_SCHED_TUNE=y
+CONFIG_RELAY=y
+CONFIG_BLK_DEV_INITRD=y
+# CONFIG_RD_BZIP2 is not set
+# CONFIG_RD_LZMA is not set
+# CONFIG_RD_XZ is not set
+# CONFIG_RD_LZO is not set
+# CONFIG_RD_LZ4 is not set
+CONFIG_BPF_SYSCALL=y
+# CONFIG_MEMBARRIER is not set
+CONFIG_EMBEDDED=y
+# CONFIG_SLUB_DEBUG is not set
+# CONFIG_COMPAT_BRK is not set
+CONFIG_PROFILING=y
+CONFIG_KPROBES=y
+CONFIG_CC_STACKPROTECTOR_STRONG=y
+CONFIG_ARCH_MMAP_RND_COMPAT_BITS=16
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+CONFIG_MODULE_FORCE_UNLOAD=y
+CONFIG_MODVERSIONS=y
+CONFIG_PARTITION_ADVANCED=y
+# CONFIG_IOSCHED_TEST is not set
+CONFIG_CFQ_GROUP_IOSCHED=y
+CONFIG_IOSCHED_BFQ=y
+CONFIG_BFQ_GROUP_IOSCHED=y
+CONFIG_DEFAULT_NOOP=y
+CONFIG_ARCH_QCOM=y
+CONFIG_ARCH_MSM8996=y
+CONFIG_PCI=y
+CONFIG_PCI_MSM=y
+# CONFIG_ARM64_ERRATUM_826319 is not set
+# CONFIG_ARM64_ERRATUM_827319 is not set
+# CONFIG_ARM64_ERRATUM_824069 is not set
+# CONFIG_ARM64_ERRATUM_819472 is not set
+# CONFIG_ARM64_ERRATUM_832075 is not set
+# CONFIG_ARM64_ERRATUM_845719 is not set
+# CONFIG_ARM64_ERRATUM_1024718 is not set
+# CONFIG_CAVIUM_ERRATUM_22375 is not set
+# CONFIG_CAVIUM_ERRATUM_23154 is not set
+# CONFIG_CAVIUM_ERRATUM_27456 is not set
+CONFIG_ENABLE_FP_SIMD_SETTINGS=y
+CONFIG_MSM_APP_SETTINGS=y
+CONFIG_SCHED_MC=y
+CONFIG_NR_CPUS=4
+CONFIG_PREEMPT=y
+CONFIG_HZ_300=y
+CONFIG_CMA=y
+CONFIG_ZSMALLOC=y
+CONFIG_BALANCE_ANON_FILE_RECLAIM=y
+CONFIG_FORCE_ALLOC_FROM_DMA_ZONE=y
+CONFIG_SECCOMP=y
+CONFIG_ARMV8_DEPRECATED=y
+CONFIG_SWP_EMULATION=y
+CONFIG_CP15_BARRIER_EMULATION=y
+CONFIG_SETEND_EMULATION=y
+# CONFIG_EFI is not set
+CONFIG_BUILD_ARM64_APPENDED_DTB_IMAGE=y
+# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
+CONFIG_COMPAT=y
+CONFIG_PM_AUTOSLEEP=y
+CONFIG_PM_WAKELOCKS=y
+CONFIG_PM_WAKELOCKS_LIMIT=0
+# CONFIG_PM_WAKELOCKS_GC is not set
+CONFIG_CPU_IDLE=y
+CONFIG_CPU_FREQ=y
+CONFIG_CPU_FREQ_GOV_POWERSAVE=y
+CONFIG_CPU_FREQ_GOV_USERSPACE=y
+CONFIG_CPU_FREQ_GOV_ONDEMAND=y
+CONFIG_CPU_FREQ_GOV_INTERACTIVE=y
+CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
+CONFIG_CPU_BOOST=y
+CONFIG_NET=y
+CONFIG_PACKET=y
+CONFIG_UNIX=y
+CONFIG_XFRM_USER=y
+CONFIG_XFRM_STATISTICS=y
+CONFIG_NET_KEY=y
+CONFIG_INET=y
+CONFIG_IP_MULTICAST=y
+CONFIG_IP_ADVANCED_ROUTER=y
+CONFIG_IP_MULTIPLE_TABLES=y
+CONFIG_IP_ROUTE_VERBOSE=y
+CONFIG_IP_PNP=y
+CONFIG_IP_PNP_DHCP=y
+CONFIG_NET_IPVTI=y
+CONFIG_INET_ESP=y
+CONFIG_INET_IPCOMP=y
+# CONFIG_INET_LRO is not set
+CONFIG_INET_UDP_DIAG=y
+CONFIG_INET_DIAG_DESTROY=y
+CONFIG_TCP_CONG_ADVANCED=y
+# CONFIG_TCP_CONG_BIC is not set
+# CONFIG_TCP_CONG_CUBIC is not set
+CONFIG_TCP_CONG_WESTWOOD=y
+# CONFIG_TCP_CONG_HTCP is not set
+CONFIG_IPV6_ROUTER_PREF=y
+CONFIG_IPV6_ROUTE_INFO=y
+CONFIG_IPV6_OPTIMISTIC_DAD=y
+CONFIG_INET6_AH=y
+CONFIG_INET6_ESP=y
+CONFIG_INET6_IPCOMP=y
+CONFIG_IPV6_MIP6=y
+CONFIG_IPV6_VTI=y
+CONFIG_IPV6_MULTIPLE_TABLES=y
+CONFIG_IPV6_SUBTREES=y
+CONFIG_NETFILTER=y
+CONFIG_NF_CONNTRACK=y
+CONFIG_NF_CONNTRACK_SECMARK=y
+CONFIG_NF_CONNTRACK_EVENTS=y
+CONFIG_NF_CT_PROTO_DCCP=y
+CONFIG_NF_CT_PROTO_SCTP=y
+CONFIG_NF_CT_PROTO_UDPLITE=y
+CONFIG_NF_CONNTRACK_AMANDA=y
+CONFIG_NF_CONNTRACK_FTP=y
+CONFIG_NF_CONNTRACK_H323=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_TFTP=y
+CONFIG_NF_CT_NETLINK=y
+CONFIG_NETFILTER_XT_TARGET_CLASSIFY=y
+CONFIG_NETFILTER_XT_TARGET_CONNMARK=y
+CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=y
+CONFIG_NETFILTER_XT_TARGET_IDLETIMER=y
+CONFIG_NETFILTER_XT_TARGET_HARDIDLETIMER=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_TEE=y
+CONFIG_NETFILTER_XT_TARGET_TPROXY=y
+CONFIG_NETFILTER_XT_TARGET_TRACE=y
+CONFIG_NETFILTER_XT_TARGET_SECMARK=y
+CONFIG_NETFILTER_XT_TARGET_TCPMSS=y
+CONFIG_NETFILTER_XT_MATCH_BPF=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_OWNER=y
+CONFIG_NETFILTER_XT_MATCH_POLICY=y
+CONFIG_NETFILTER_XT_MATCH_PKTTYPE=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_NF_CONNTRACK_IPV4=y
+CONFIG_IP_NF_IPTABLES=y
+CONFIG_IP_NF_MATCH_AH=y
+CONFIG_IP_NF_MATCH_ECN=y
+CONFIG_IP_NF_MATCH_RPFILTER=y
+CONFIG_IP_NF_MATCH_TTL=y
+CONFIG_IP_NF_FILTER=y
+CONFIG_IP_NF_TARGET_REJECT=y
+CONFIG_IP_NF_NAT=y
+CONFIG_IP_NF_TARGET_MASQUERADE=y
+CONFIG_IP_NF_TARGET_NETMAP=y
+CONFIG_IP_NF_TARGET_REDIRECT=y
+CONFIG_IP_NF_MANGLE=y
+CONFIG_IP_NF_RAW=y
+CONFIG_IP_NF_SECURITY=y
+CONFIG_IP_NF_ARPTABLES=y
+CONFIG_IP_NF_ARPFILTER=y
+CONFIG_IP_NF_ARP_MANGLE=y
+CONFIG_NF_CONNTRACK_IPV6=y
+CONFIG_IP6_NF_IPTABLES=y
+CONFIG_IP6_NF_MATCH_RPFILTER=y
+CONFIG_IP6_NF_FILTER=y
+CONFIG_IP6_NF_TARGET_REJECT=y
+CONFIG_IP6_NF_MANGLE=y
+CONFIG_IP6_NF_RAW=y
+CONFIG_BRIDGE_NF_EBTABLES=y
+CONFIG_BRIDGE_EBT_BROUTE=y
+CONFIG_L2TP=y
+CONFIG_L2TP_V3=y
+CONFIG_L2TP_IP=y
+CONFIG_L2TP_ETH=y
+CONFIG_BRIDGE=y
+CONFIG_NET_SCHED=y
+CONFIG_NET_SCH_HTB=y
+CONFIG_NET_SCH_PRIO=y
+CONFIG_NET_SCH_MULTIQ=y
+CONFIG_NET_SCH_INGRESS=y
+CONFIG_NET_CLS_FW=y
+CONFIG_NET_CLS_U32=y
+CONFIG_CLS_U32_MARK=y
+CONFIG_NET_CLS_FLOW=y
+CONFIG_NET_CLS_BPF=y
+CONFIG_NET_EMATCH=y
+CONFIG_NET_EMATCH_CMP=y
+CONFIG_NET_EMATCH_NBYTE=y
+CONFIG_NET_EMATCH_U32=y
+CONFIG_NET_EMATCH_META=y
+CONFIG_NET_EMATCH_TEXT=y
+CONFIG_NET_CLS_ACT=y
+CONFIG_NET_ACT_GACT=y
+CONFIG_NET_ACT_MIRRED=y
+CONFIG_NET_ACT_SKBEDIT=y
+CONFIG_NET_ACT_BPF=y
+CONFIG_RMNET_DATA=y
+CONFIG_RMNET_DATA_FC=y
+CONFIG_BPF_JIT=y
+CONFIG_SOCKEV_NLMCAST=y
+CONFIG_BT=y
+# CONFIG_BT_HS is not set
+# CONFIG_BT_LE is not set
+# CONFIG_BT_DEBUGFS is not set
+CONFIG_MSM_BT_POWER=y
+CONFIG_BTFM_SLIM=y
+CONFIG_BTFM_SLIM_WCN3990=y
+CONFIG_CFG80211=y
+CONFIG_CFG80211_INTERNAL_REGDB=y
+# CONFIG_CFG80211_CRDA_SUPPORT is not set
+CONFIG_RFKILL=y
+CONFIG_IPC_ROUTER=y
+CONFIG_IPC_ROUTER_SECURITY=y
+CONFIG_FW_LOADER_USER_HELPER_FALLBACK=y
+# CONFIG_ALLOW_DEV_COREDUMP is not set
+CONFIG_DMA_CMA=y
+CONFIG_ZRAM=y
+CONFIG_BLK_DEV_LOOP=y
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_SIZE=8192
+CONFIG_QSEECOM=y
+CONFIG_HDCP_QSEECOM=y
+CONFIG_UID_SYS_STATS=y
+CONFIG_CCLOGIC=y
+CONFIG_TYPEC_CCLOGIC_PI5USBD=y
+CONFIG_TYPEC_CCLOGIC_TUSB320HAI=y
+CONFIG_SCSI=y
+CONFIG_BLK_DEV_SD=y
+CONFIG_CHR_DEV_SG=y
+CONFIG_SCSI_SCAN_ASYNC=y
+CONFIG_SCSI_UFSHCD=y
+CONFIG_SCSI_UFSHCD_PLATFORM=y
+CONFIG_SCSI_UFS_QCOM=y
+CONFIG_SCSI_UFS_QCOM_ICE=y
+CONFIG_MD=y
+CONFIG_BLK_DEV_DM=y
+CONFIG_DM_CRYPT=y
+CONFIG_DM_REQ_CRYPT=y
+CONFIG_DM_UEVENT=y
+CONFIG_DM_VERITY=y
+CONFIG_NETDEVICES=y
+CONFIG_BONDING=y
+CONFIG_DUMMY=y
+CONFIG_TUN=y
+# CONFIG_NET_VENDOR_3COM is not set
+# CONFIG_NET_VENDOR_ADAPTEC is not set
+# CONFIG_NET_VENDOR_AGERE is not set
+# CONFIG_NET_VENDOR_ALTEON is not set
+# CONFIG_NET_VENDOR_AMD is not set
+# CONFIG_NET_VENDOR_ARC is not set
+# CONFIG_NET_VENDOR_ATHEROS is not set
+# CONFIG_NET_CADENCE is not set
+# CONFIG_NET_VENDOR_BROADCOM is not set
+# CONFIG_NET_VENDOR_BROCADE is not set
+# CONFIG_NET_VENDOR_CAVIUM is not set
+# CONFIG_NET_VENDOR_CHELSIO is not set
+# CONFIG_NET_VENDOR_CISCO is not set
+# CONFIG_NET_VENDOR_DEC is not set
+# CONFIG_NET_VENDOR_DLINK is not set
+# CONFIG_NET_VENDOR_EMULEX is not set
+# CONFIG_NET_VENDOR_EZCHIP is not set
+# CONFIG_NET_VENDOR_EXAR is not set
+# CONFIG_NET_VENDOR_HISILICON is not set
+# CONFIG_NET_VENDOR_HP is not set
+# CONFIG_NET_VENDOR_INTEL is not set
+# CONFIG_NET_VENDOR_MARVELL is not set
+# CONFIG_NET_VENDOR_MELLANOX is not set
+# CONFIG_NET_VENDOR_MICREL is not set
+# CONFIG_NET_VENDOR_MICROCHIP is not set
+CONFIG_MSM_RMNET_MHI=y
+CONFIG_RNDIS_IPA=y
+# CONFIG_NET_VENDOR_MYRI is not set
+# CONFIG_NET_VENDOR_NATSEMI is not set
+# CONFIG_NET_VENDOR_NVIDIA is not set
+# CONFIG_NET_VENDOR_OKI is not set
+# CONFIG_NET_PACKET_ENGINE is not set
+# CONFIG_NET_VENDOR_QLOGIC is not set
+# CONFIG_NET_VENDOR_QUALCOMM is not set
+# CONFIG_NET_VENDOR_REALTEK is not set
+# CONFIG_NET_VENDOR_RENESAS is not set
+# CONFIG_NET_VENDOR_RDC is not set
+# CONFIG_NET_VENDOR_ROCKER is not set
+# CONFIG_NET_VENDOR_SAMSUNG is not set
+# CONFIG_NET_VENDOR_SEEQ is not set
+# CONFIG_NET_VENDOR_SILAN is not set
+# CONFIG_NET_VENDOR_SIS is not set
+# CONFIG_NET_VENDOR_SMSC is not set
+# CONFIG_NET_VENDOR_STMICRO is not set
+# CONFIG_NET_VENDOR_SUN is not set
+# CONFIG_NET_VENDOR_SYNOPSYS is not set
+# CONFIG_NET_VENDOR_TEHUTI is not set
+# CONFIG_NET_VENDOR_TI is not set
+# CONFIG_NET_VENDOR_VIA is not set
+# CONFIG_NET_VENDOR_WIZNET is not set
+CONFIG_PPP=y
+CONFIG_PPP_BSDCOMP=y
+CONFIG_PPP_DEFLATE=y
+CONFIG_PPP_FILTER=y
+CONFIG_PPP_MPPE=y
+CONFIG_PPP_MULTILINK=y
+CONFIG_PPPOE=y
+CONFIG_PPPOL2TP=y
+CONFIG_PPPOLAC=y
+CONFIG_PPPOPNS=y
+CONFIG_PPP_ASYNC=y
+CONFIG_USB_USBNET=y
+# CONFIG_USB_NET_NET1080 is not set
+# CONFIG_USB_NET_CDC_SUBSET is not set
+# CONFIG_USB_NET_ZAURUS is not set
+CONFIG_WCNSS_MEM_PRE_ALLOC=y
+CONFIG_CNSS_CRYPTO=y
+CONFIG_CNSS=y
+CONFIG_CLD_LL_CORE=y
+CONFIG_BUS_AUTO_SUSPEND=y
+# CONFIG_INPUT_MOUSEDEV is not set
+CONFIG_INPUT_EVDEV=y
+CONFIG_INPUT_KEYRESET=y
+CONFIG_KEYBOARD_GPIO=y
+# CONFIG_INPUT_MOUSE is not set
+CONFIG_INPUT_TOUCHSCREEN=y
+# CONFIG_TOUCHSCREEN_SYNAPTICS_DSX_v21 is not set
+CONFIG_TOUCHSCREEN_GT1151=y
+CONFIG_TOUCHSCREEN_GEN_VKEYS=y
+CONFIG_GT1151_TOUCHPANEL_DRIVER=y
+CONFIG_GT1151_TOUCHPANEL_GENERIC=y
+CONFIG_GT1151_TOUCHPANEL_EXTENTS=y
+CONFIG_GT1151_TOUCHPANEL_TOOL=y
+CONFIG_INPUT_MISC=y
+CONFIG_INPUT_QPNP_POWER_ON=y
+CONFIG_INPUT_KEYCHORD=y
+CONFIG_INPUT_UINPUT=y
+CONFIG_INPUT_GPIO=y
+CONFIG_DRV2605L_HAPTICS=y
+# CONFIG_VT is not set
+# CONFIG_LEGACY_PTYS is not set
+# CONFIG_DEVMEM is not set
+# CONFIG_DEVKMEM is not set
+CONFIG_SERIAL_MSM_HS=y
+CONFIG_SERIAL_MSM_SMD=y
+CONFIG_DIAG_CHAR=y
+CONFIG_HW_RANDOM=y
+CONFIG_HW_RANDOM_MSM_LEGACY=y
+# CONFIG_DEVPORT is not set
+CONFIG_MSM_ADSPRPC=y
+CONFIG_I2C_CHARDEV=y
+CONFIG_I2C_QUP=y
+CONFIG_I2C_MSM_V2=y
+CONFIG_SLIMBUS_MSM_NGD=y
+CONFIG_SOUNDWIRE=y
+CONFIG_SPI=y
+CONFIG_SPI_QUP=y
+CONFIG_SPI_SPIDEV=y
+CONFIG_SPMI=y
+CONFIG_PINCTRL_MSM8996=y
+CONFIG_GPIOLIB=y
+CONFIG_GPIO_SYSFS=y
+CONFIG_GPIO_QPNP_PIN=y
+CONFIG_POWER_RESET_QCOM=y
+CONFIG_QCOM_DLOAD_MODE=y
+CONFIG_POWER_RESET_XGENE=y
+CONFIG_POWER_RESET_SYSCON=y
+CONFIG_QPNP_SMBCHARGER=y
+CONFIG_QPNP_FG=y
+CONFIG_SMB1351_USB_CHARGER=y
+CONFIG_MSM_BCL_CTL=y
+CONFIG_MSM_BCL_PERIPHERAL_CTL=y
+CONFIG_MSM_PM=y
+CONFIG_APSS_CORE_EA=y
+CONFIG_MSM_APM=y
+CONFIG_SENSORS_EPM_ADC=y
+CONFIG_SENSORS_QPNP_ADC_VOLTAGE=y
+CONFIG_THERMAL=y
+CONFIG_LIMITS_MONITOR=y
+CONFIG_LIMITS_LITE_HW=y
+CONFIG_THERMAL_MONITOR=y
+CONFIG_THERMAL_TSENS8974=y
+CONFIG_THERMAL_QPNP_ADC_TM=y
+CONFIG_MFD_SPMI_PMIC=y
+CONFIG_WCD9335_CODEC=y
+CONFIG_REGULATOR=y
+CONFIG_REGULATOR_FIXED_VOLTAGE=y
+CONFIG_REGULATOR_RPM_SMD=y
+CONFIG_REGULATOR_QPNP=y
+CONFIG_REGULATOR_QPNP_LABIBB=y
+CONFIG_REGULATOR_SPM=y
+CONFIG_REGULATOR_CPR3_HMSS=y
+CONFIG_REGULATOR_CPR3_MMSS=y
+CONFIG_REGULATOR_KRYO=y
+CONFIG_REGULATOR_MEM_ACC=y
+CONFIG_REGULATOR_PROXY_CONSUMER=y
+CONFIG_MEDIA_SUPPORT=y
+CONFIG_MEDIA_CAMERA_SUPPORT=y
+CONFIG_MEDIA_CONTROLLER=y
+CONFIG_VIDEO_V4L2_SUBDEV_API=y
+CONFIG_V4L_PLATFORM_DRIVERS=y
+CONFIG_SOC_CAMERA=y
+CONFIG_SOC_CAMERA_PLATFORM=y
+CONFIG_MSM_CAMERA=y
+CONFIG_MSMB_CAMERA=y
+CONFIG_MSM_CAMERA_SENSOR=y
+CONFIG_MSM_CPP=y
+CONFIG_MSM_CCI=y
+CONFIG_MSM_CSI20_HEADER=y
+CONFIG_MSM_CSI22_HEADER=y
+CONFIG_MSM_CSI30_HEADER=y
+CONFIG_MSM_CSI31_HEADER=y
+CONFIG_MSM_CSIPHY=y
+CONFIG_MSM_CSID=y
+CONFIG_MSM_EEPROM=y
+CONFIG_MSM_ISPIF=y
+CONFIG_MSMB_JPEG=y
+CONFIG_MSM_FD=y
+CONFIG_MSM_JPEGDMA=y
+CONFIG_MSM_VIDC_V4L2=y
+CONFIG_MSM_VIDC_VMEM=y
+CONFIG_MSM_VIDC_GOVERNORS=y
+# CONFIG_VGA_ARB is not set
+CONFIG_QCOM_KGSL=y
+CONFIG_FB=y
+CONFIG_FB_MSM=y
+CONFIG_FB_MSM_MDSS=y
+CONFIG_FB_MSM_MDSS_WRITEBACK=y
+CONFIG_SOUND=y
+CONFIG_SND=y
+# CONFIG_SND_SUPPORT_OLD_API is not set
+# CONFIG_SND_VERBOSE_PROCFS is not set
+# CONFIG_SND_DRIVERS is not set
+# CONFIG_SND_PCI is not set
+# CONFIG_SND_SPI is not set
+CONFIG_SND_USB_AUDIO=y
+CONFIG_SND_USB_AUDIO_QMI=y
+CONFIG_SND_SOC=y
+CONFIG_SND_SOC_MSM8996=y
+CONFIG_NXP_TFA98xx=y
+CONFIG_UHID=y
+CONFIG_HID_APPLE=y
+CONFIG_HID_MAGICMOUSE=y
+CONFIG_HID_MICROSOFT=y
+CONFIG_USB=y
+CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
+CONFIG_USB_XHCI_HCD=y
+CONFIG_USB_STORAGE=y
+CONFIG_USB_DWC3=y
+CONFIG_USB_SERIAL=y
+CONFIG_USB_MSM_SSPHY_QMP=y
+CONFIG_MSM_QUSB_PHY=y
+CONFIG_USB_ULPI=y
+CONFIG_USB_GADGET=y
+CONFIG_USB_GADGET_VBUS_DRAW=500
+CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=4
+CONFIG_USB_CONFIGFS=y
+CONFIG_USB_CONFIGFS_SERIAL=y
+CONFIG_USB_CONFIGFS_NCM=y
+CONFIG_USB_CONFIGFS_ECM=y
+CONFIG_USB_CONFIGFS_QCRNDIS=y
+CONFIG_USB_CONFIGFS_RNDIS=y
+CONFIG_USB_CONFIGFS_RMNET_BAM=y
+CONFIG_USB_CONFIGFS_MASS_STORAGE=y
+CONFIG_USB_CONFIGFS_F_FS=y
+CONFIG_USB_CONFIGFS_F_MTP=y
+CONFIG_USB_CONFIGFS_F_PTP=y
+CONFIG_USB_CONFIGFS_F_ACC=y
+CONFIG_USB_CONFIGFS_F_AUDIO_SRC=y
+CONFIG_USB_CONFIGFS_UEVENT=y
+CONFIG_USB_CONFIGFS_F_MIDI=y
+CONFIG_USB_CONFIGFS_F_DIAG=y
+CONFIG_USB_CONFIGFS_F_CDEV=y
+CONFIG_USB_CONFIGFS_F_QDSS=y
+CONFIG_MMC=y
+CONFIG_MMC_PERF_PROFILING=y
+CONFIG_MMC_PARANOID_SD_INIT=y
+CONFIG_MMC_CLKGATE=y
+CONFIG_MMC_BLOCK_MINORS=32
+CONFIG_MMC_TEST=y
+CONFIG_MMC_SDHCI=y
+CONFIG_MMC_SDHCI_PLTFM=y
+CONFIG_MMC_SDHCI_MSM=y
+CONFIG_LEDS_QPNP=y
+CONFIG_LEDS_QPNP_FLASH=y
+CONFIG_LEDS_QPNP_WLED=y
+CONFIG_LEDS_QPNP_HAPTICS=y
+CONFIG_LEDS_TRIGGERS=y
+CONFIG_SWITCH=y
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_DRV_QPNP=y
+CONFIG_ESOC=y
+CONFIG_ESOC_DEV=y
+CONFIG_ESOC_CLIENT=y
+CONFIG_ESOC_MDM_4x=y
+CONFIG_DMADEVICES=y
+CONFIG_QCOM_BAM_DMA=y
+CONFIG_QCOM_SPS_DMA=y
+CONFIG_UIO=y
+CONFIG_UIO_MSM_SHAREDMEM=y
+CONFIG_STAGING=y
+CONFIG_ASHMEM=y
+CONFIG_ANDROID_TIMED_GPIO=y
+CONFIG_ANDROID_LOW_MEMORY_KILLER=y
+CONFIG_SW_SYNC_USER=y
+CONFIG_ION=y
+CONFIG_ION_MSM=y
+CONFIG_QCA_CLD_WLAN=y
+CONFIG_QCACLD_WLAN_LFR3=y
+CONFIG_PRIMA_WLAN_OKC=y
+CONFIG_PRIMA_WLAN_11AC_HIGH_TP=y
+CONFIG_WLAN_FEATURE_11W=y
+CONFIG_WLAN_FEATURE_LPSS=y
+CONFIG_QCOM_VOWIFI_11R=y
+CONFIG_WLAN_FEATURE_NAN=y
+CONFIG_WLAN_FEATURE_NAN_DATAPATH=y
+CONFIG_QCOM_TDLS=y
+CONFIG_QCOM_LTE_COEX=y
+CONFIG_WLAN_OFFLOAD_PACKETS=y
+CONFIG_QCA_WIFI_AUTOMOTIVE_CONC=y
+CONFIG_QPNP_REVID=y
+CONFIG_QPNP_COINCELL=y
+CONFIG_SPS=y
+CONFIG_SPS_SUPPORT_NDP_BAM=y
+CONFIG_IPA=y
+CONFIG_RMNET_IPA=y
+CONFIG_GPIO_USB_DETECT=y
+CONFIG_MSM_MHI=y
+CONFIG_MSM_MHI_UCI=y
+# CONFIG_MSM_11AD is not set
+CONFIG_SEEMP_CORE=y
+CONFIG_USB_BAM=y
+CONFIG_MACH_ZUK=y
+CONFIG_MACH_ZUK_MSM8996=y
+CONFIG_MACH_ZUK_Z2_ROW=y
+CONFIG_MSM_MDSS_PLL=y
+CONFIG_REMOTE_SPINLOCK_MSM=y
+CONFIG_IOMMU_IO_PGTABLE_FAST=y
+CONFIG_ARM_SMMU=y
+CONFIG_MSM_SMEM=y
+CONFIG_MSM_SMD=y
+CONFIG_MSM_GLINK=y
+CONFIG_MSM_GLINK_LOOPBACK_SERVER=y
+CONFIG_MSM_GLINK_SMD_XPRT=y
+CONFIG_MSM_GLINK_SMEM_NATIVE_XPRT=y
+CONFIG_MSM_SMP2P=y
+CONFIG_MSM_QMI_INTERFACE=y
+CONFIG_MSM_RPM_SMD=y
+CONFIG_QCOM_BUS_SCALING=y
+CONFIG_MSM_SYSMON_GLINK_COMM=y
+CONFIG_MSM_IPC_ROUTER_GLINK_XPRT=y
+CONFIG_MSM_GLINK_PKT=y
+CONFIG_MSM_SPM=y
+CONFIG_MSM_L2_SPM=y
+CONFIG_QCOM_SCM=y
+CONFIG_QCOM_SCM_XPU=y
+CONFIG_QCOM_WATCHDOG_V2=y
+CONFIG_QCOM_MEMORY_DUMP_V2=y
+CONFIG_MSM_RUN_QUEUE_STATS=y
+CONFIG_MSM_ADSP_LOADER=y
+CONFIG_MSM_PERFORMANCE=y
+CONFIG_MSM_SUBSYSTEM_RESTART=y
+CONFIG_MSM_PIL=y
+CONFIG_MSM_PIL_SSR_GENERIC=y
+CONFIG_MSM_PIL_MSS_QDSP6V5=y
+CONFIG_MSM_MPM_OF=y
+CONFIG_MSM_EVENT_TIMER=y
+CONFIG_MSM_AVTIMER=y
+CONFIG_MSM_KERNEL_PROTECT=y
+CONFIG_MSM_RPM_STATS_LOG=y
+CONFIG_QCOM_SMCINVOKE=y
+CONFIG_MEM_SHARE_QMI_SERVICE=y
+CONFIG_QCOM_BIMC_BWMON=y
+CONFIG_ARM_MEMLAT_MON=y
+CONFIG_QCOM_M4M_HWMON=y
+CONFIG_DEVFREQ_GOV_QCOM_BW_HWMON=y
+CONFIG_DEVFREQ_GOV_QCOM_CACHE_HWMON=y
+CONFIG_DEVFREQ_GOV_MEMLAT=y
+CONFIG_DEVFREQ_SIMPLE_DEV=y
+CONFIG_QCOM_DEVFREQ_DEVBW=y
+CONFIG_EXTCON=y
+CONFIG_PWM=y
+CONFIG_PWM_QPNP=y
+CONFIG_ARM_GIC_V3_ACL=y
+CONFIG_ANDROID=y
+CONFIG_ANDROID_BINDER_IPC=y
+CONFIG_MSM_TZ_LOG=y
+CONFIG_SENSORS_SSC=y
+CONFIG_FPC1020_REE=y
+# CONFIG_ACPI is not set
+CONFIG_EXT4_FS=y
+CONFIG_EXT4_FS_SECURITY=y
+CONFIG_EXT4_ENCRYPTION=y
+CONFIG_EXT4_FS_ENCRYPTION=y
+CONFIG_EXT4_FS_ICE_ENCRYPTION=y
+CONFIG_F2FS_FS=y
+CONFIG_F2FS_FS_SECURITY=y
+CONFIG_F2FS_FS_ENCRYPTION=y
+CONFIG_QUOTA=y
+CONFIG_QUOTA_NETLINK_INTERFACE=y
+# CONFIG_PRINT_QUOTA_WARNING is not set
+CONFIG_FUSE_FS=y
+CONFIG_VFAT_FS=y
+CONFIG_TMPFS=y
+CONFIG_TMPFS_POSIX_ACL=y
+CONFIG_ECRYPT_FS=y
+CONFIG_ECRYPT_FS_MESSAGING=y
+CONFIG_SDCARD_FS=y
+CONFIG_PSTORE=y
+CONFIG_PSTORE_CONSOLE=y
+CONFIG_PSTORE_PMSG=y
+CONFIG_PSTORE_RAM=y
+CONFIG_NLS_CODEPAGE_437=y
+CONFIG_NLS_ISO8859_1=y
+CONFIG_PRINTK_TIME=y
+CONFIG_MAGIC_SYSRQ=y
+CONFIG_PANIC_TIMEOUT=5
+# CONFIG_SCHED_DEBUG is not set
+# CONFIG_DEBUG_PREEMPT is not set
+# CONFIG_DEBUG_BUGVERBOSE is not set
+CONFIG_CPU_FREQ_SWITCH_PROFILER=y
+CONFIG_PFK=y
+CONFIG_SECURITY_PERF_EVENTS_RESTRICT=y
+CONFIG_SECURITY=y
+CONFIG_SECURITY_NETWORK=y
+CONFIG_HARDENED_USERCOPY=y
+CONFIG_SECURITY_SELINUX=y
+CONFIG_SECURITY_YAMA=y
+CONFIG_CRYPTO_GCM=y
+CONFIG_CRYPTO_XCBC=y
+CONFIG_CRYPTO_MD4=y
+CONFIG_CRYPTO_SHA512=y
+CONFIG_CRYPTO_TWOFISH=y
+CONFIG_CRYPTO_ANSI_CPRNG=y
+CONFIG_CRYPTO_DEV_QCRYPTO=y
+CONFIG_CRYPTO_DEV_QCOM_MSM_QCE=y
+CONFIG_CRYPTO_DEV_QCEDEV=y
+CONFIG_CRYPTO_DEV_OTA_CRYPTO=y
+CONFIG_CRYPTO_DEV_QCOM_ICE=y
+CONFIG_ARM64_CRYPTO=y
+CONFIG_CRYPTO_SHA1_ARM64_CE=y
+CONFIG_CRYPTO_SHA2_ARM64_CE=y
+CONFIG_CRYPTO_GHASH_ARM64_CE=y
+CONFIG_CRYPTO_AES_ARM64_CE_CCM=y
+CONFIG_CRYPTO_AES_ARM64_CE_BLK=y
+CONFIG_CRYPTO_AES_ARM64_NEON_BLK=y
+CONFIG_CRYPTO_CRC32_ARM64=y
+CONFIG_QMI_ENCDEC=y