OSDN Git Service

dts: qcom: add xiaomi msm8998 support
authorDemon000 <demonsingur@gmail.com>
Sat, 11 Nov 2017 19:52:30 +0000 (21:52 +0200)
committerArian <arian.kulmer@web.de>
Tue, 19 Nov 2019 15:24:27 +0000 (16:24 +0100)
Change-Id: I6466699830f0ff060c65ad4c9fa7683bcaa20cae

33 files changed:
arch/arm/boot/dts/qcom/Makefile
arch/arm/boot/dts/qcom/chiron-msm8998-mtp.dts [new file with mode: 0644]
arch/arm/boot/dts/qcom/chiron-msm8998-v2-mtp.dts [new file with mode: 0644]
arch/arm/boot/dts/qcom/chiron-msm8998-v2.1-mtp.dts [new file with mode: 0644]
arch/arm/boot/dts/qcom/sagit-msm8998-mtp.dts [new file with mode: 0644]
arch/arm/boot/dts/qcom/sagit-msm8998-v2-mtp.dts [new file with mode: 0644]
arch/arm/boot/dts/qcom/sagit-msm8998-v2.1-mtp.dts [new file with mode: 0644]
arch/arm/boot/dts/qcom/xiaomi/batterydata-chiron-atl-3400mAh.dtsi [new file with mode: 0644]
arch/arm/boot/dts/qcom/xiaomi/batterydata-chiron-cos-3400mAh.dtsi [new file with mode: 0644]
arch/arm/boot/dts/qcom/xiaomi/batterydata-itech-3020mAh.dtsi [new file with mode: 0644]
arch/arm/boot/dts/qcom/xiaomi/batterydata-sagit-atl-3350mAh.dtsi [new file with mode: 0644]
arch/arm/boot/dts/qcom/xiaomi/batterydata-sagit-sdi-3440mAh.dtsi [new file with mode: 0644]
arch/arm/boot/dts/qcom/xiaomi/chiron-camera-sensor-mtp.dtsi [new file with mode: 0644]
arch/arm/boot/dts/qcom/xiaomi/chiron-msm8998-mtp.dtsi [new file with mode: 0644]
arch/arm/boot/dts/qcom/xiaomi/dsi-panel-ebbg-fhd-ft8716-video.dtsi [new file with mode: 0644]
arch/arm/boot/dts/qcom/xiaomi/dsi-panel-jdi-fhd-nt35596s-pro-video.dtsi [new file with mode: 0644]
arch/arm/boot/dts/qcom/xiaomi/dsi-panel-jdi-fhd-nt35596s-video.dtsi [new file with mode: 0644]
arch/arm/boot/dts/qcom/xiaomi/dsi-panel-jdi-fhd-r63452-cmd.dtsi [new file with mode: 0644]
arch/arm/boot/dts/qcom/xiaomi/dsi-panel-lgd-fhd-td4322-cmd.dtsi [new file with mode: 0644]
arch/arm/boot/dts/qcom/xiaomi/msm-pm8998.dtsi [new file with mode: 0644]
arch/arm/boot/dts/qcom/xiaomi/msm-pmi8998.dtsi [new file with mode: 0644]
arch/arm/boot/dts/qcom/xiaomi/msm8998-audio.dtsi [new file with mode: 0644]
arch/arm/boot/dts/qcom/xiaomi/msm8998-blsp.dtsi [new file with mode: 0644]
arch/arm/boot/dts/qcom/xiaomi/msm8998-camera.dtsi [new file with mode: 0644]
arch/arm/boot/dts/qcom/xiaomi/msm8998-mdss-panels.dtsi [new file with mode: 0644]
arch/arm/boot/dts/qcom/xiaomi/msm8998-mdss.dtsi [new file with mode: 0644]
arch/arm/boot/dts/qcom/xiaomi/msm8998-pinctrl.dtsi [new file with mode: 0644]
arch/arm/boot/dts/qcom/xiaomi/msm8998-regulator.dtsi [new file with mode: 0644]
arch/arm/boot/dts/qcom/xiaomi/msm8998-v2.1.dtsi [new file with mode: 0644]
arch/arm/boot/dts/qcom/xiaomi/msm8998-v2.dtsi [new file with mode: 0644]
arch/arm/boot/dts/qcom/xiaomi/msm8998.dtsi [new file with mode: 0644]
arch/arm/boot/dts/qcom/xiaomi/sagit-camera-sensor-mtp.dtsi [new file with mode: 0644]
arch/arm/boot/dts/qcom/xiaomi/sagit-msm8998-mtp.dtsi [new file with mode: 0644]

index d0990e3..d15412b 100644 (file)
@@ -173,6 +173,19 @@ msm8998-v2.1-mtp-overlay.dtbo-base :=  msm8998-v2.1.dtb
 msm8998-qrd-overlay.dtbo-base :=  msm8998-qrd.dtb
 msm8998-qrd-vr1-overlay.dtbo-base :=  msm8998-qrd-vr1.dtb
 msm8998-qrd-skuk-overlay.dtbo-base :=  msm8998-qrd-skuk.dtb
+
+else
+ifeq ($(CONFIG_MACH_SAGIT),y)
+dtb-$(CONFIG_ARCH_MSM8998) += \
+       sagit-msm8998-mtp.dtb \
+       sagit-msm8998-v2-mtp.dtb \
+       sagit-msm8998-v2.1-mtp.dtb
+else
+ifeq ($(CONFIG_MACH_CHIRON),y)
+dtb-$(CONFIG_ARCH_MSM8998) += \
+       chiron-msm8998-mtp.dtb \
+       chiron-msm8998-v2-mtp.dtb \
+       chiron-msm8998-v2.1-mtp.dtb
 else
 dtb-$(CONFIG_ARCH_MSM8998) += msm8998-sim.dtb \
        msm8998-rumi.dtb \
@@ -209,6 +222,8 @@ dtb-$(CONFIG_ARCH_MSM8998) += msm8998-sim.dtb \
        msm8998-v2.1-interposer-sdm660-mtp.dtb \
        msm8998-v2.1-interposer-sdm660-qrd.dtb
 endif
+endif
+endif
 
 dtb-$(CONFIG_ARCH_MSMHAMSTER) += msmhamster-rumi.dtb
 
diff --git a/arch/arm/boot/dts/qcom/chiron-msm8998-mtp.dts b/arch/arm/boot/dts/qcom/chiron-msm8998-mtp.dts
new file mode 100644 (file)
index 0000000..f3a3b11
--- /dev/null
@@ -0,0 +1,39 @@
+/* Copyright (c) 2016, The Linux Foundation. All rights reserved.
+ * Copyright (C) 2017 XiaoMi, Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 and
+ * only version 2 as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ */
+
+/dts-v1/;
+
+#include "msm8998.dtsi"
+#include "xiaomi/msm8998.dtsi"
+#include "xiaomi/chiron-msm8998-mtp.dtsi"
+
+/ {
+       model = "Qualcomm Technologies, Inc. MSM 8998 v1 MTP";
+       compatible = "qcom,msm8998-mtp", "qcom,msm8998", "qcom,mtp";
+       qcom,board-id = <32 0>;
+};
+
+&qusb_phy0 {
+       qcom,qusb-phy-host-init-seq =
+                       /* value reg_offsets> */
+                               <0x63 0x210
+                               0x13 0x04
+                               0x7c 0x18c
+                               0x80 0x2c
+                               0x0a 0x184
+                               0x8c 0x21c
+                               0x05 0x23c
+                               0x03 0x240
+                               0xff 0x218
+                               0x62 0x210>;
+};
diff --git a/arch/arm/boot/dts/qcom/chiron-msm8998-v2-mtp.dts b/arch/arm/boot/dts/qcom/chiron-msm8998-v2-mtp.dts
new file mode 100644 (file)
index 0000000..c680168
--- /dev/null
@@ -0,0 +1,24 @@
+/* Copyright (c) 2016, The Linux Foundation. All rights reserved.
+ * Copyright (C) 2017 XiaoMi, Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 and
+ * only version 2 as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ */
+
+/dts-v1/;
+
+#include "msm8998-v2.dtsi"
+#include "xiaomi/msm8998-v2.dtsi"
+#include "xiaomi/chiron-msm8998-mtp.dtsi"
+
+/ {
+       model = "Qualcomm Technologies, Inc. MSM 8998 v2 MTP";
+       compatible = "qcom,msm8998-mtp", "qcom,msm8998", "qcom,mtp";
+       qcom,board-id = <32 0>;
+};
diff --git a/arch/arm/boot/dts/qcom/chiron-msm8998-v2.1-mtp.dts b/arch/arm/boot/dts/qcom/chiron-msm8998-v2.1-mtp.dts
new file mode 100644 (file)
index 0000000..96e312f
--- /dev/null
@@ -0,0 +1,24 @@
+/* Copyright (c) 2016, The Linux Foundation. All rights reserved.
+ * Copyright (C) 2017 XiaoMi, Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 and
+ * only version 2 as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ */
+
+/dts-v1/;
+
+#include "msm8998-v2.1.dtsi"
+#include "xiaomi/msm8998-v2.1.dtsi"
+#include "xiaomi/chiron-msm8998-mtp.dtsi"
+
+/ {
+       model = "Qualcomm Technologies, Inc. MSM 8998 v2.1 MTP";
+       compatible = "qcom,msm8998-mtp", "qcom,msm8998", "qcom,mtp";
+       qcom,board-id = <32 0>;
+};
diff --git a/arch/arm/boot/dts/qcom/sagit-msm8998-mtp.dts b/arch/arm/boot/dts/qcom/sagit-msm8998-mtp.dts
new file mode 100644 (file)
index 0000000..dde8cfd
--- /dev/null
@@ -0,0 +1,39 @@
+/* Copyright (c) 2016, The Linux Foundation. All rights reserved.
+ * Copyright (C) 2017 XiaoMi, Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 and
+ * only version 2 as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ */
+
+/dts-v1/;
+
+#include "msm8998.dtsi"
+#include "xiaomi/msm8998.dtsi"
+#include "xiaomi/sagit-msm8998-mtp.dtsi"
+
+/ {
+       model = "Qualcomm Technologies, Inc. MSM 8998 v1 MTP";
+       compatible = "qcom,msm8998-mtp", "qcom,msm8998", "qcom,mtp";
+       qcom,board-id = <30 0>;
+};
+
+&qusb_phy0 {
+       qcom,qusb-phy-host-init-seq =
+                       /* value reg_offsets> */
+                               <0x63 0x210
+                               0x13 0x04
+                               0x7c 0x18c
+                               0x80 0x2c
+                               0x0a 0x184
+                               0x8c 0x21c
+                               0x05 0x23c
+                               0x03 0x240
+                               0xff 0x218
+                               0x62 0x210>;
+};
diff --git a/arch/arm/boot/dts/qcom/sagit-msm8998-v2-mtp.dts b/arch/arm/boot/dts/qcom/sagit-msm8998-v2-mtp.dts
new file mode 100644 (file)
index 0000000..deb8837
--- /dev/null
@@ -0,0 +1,24 @@
+/* Copyright (c) 2016, The Linux Foundation. All rights reserved.
+ * Copyright (C) 2017 XiaoMi, Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 and
+ * only version 2 as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ */
+
+/dts-v1/;
+
+#include "msm8998-v2.dtsi"
+#include "xiaomi/msm8998-v2.dtsi"
+#include "xiaomi/sagit-msm8998-mtp.dtsi"
+
+/ {
+       model = "Qualcomm Technologies, Inc. MSM 8998 v2 MTP";
+       compatible = "qcom,msm8998-mtp", "qcom,msm8998", "qcom,mtp";
+       qcom,board-id = <30 0>;
+};
diff --git a/arch/arm/boot/dts/qcom/sagit-msm8998-v2.1-mtp.dts b/arch/arm/boot/dts/qcom/sagit-msm8998-v2.1-mtp.dts
new file mode 100644 (file)
index 0000000..da2b46b
--- /dev/null
@@ -0,0 +1,24 @@
+/* Copyright (c) 2016, The Linux Foundation. All rights reserved.
+ * Copyright (C) 2017 XiaoMi, Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 and
+ * only version 2 as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ */
+
+/dts-v1/;
+
+#include "msm8998-v2.1.dtsi"
+#include "xiaomi/msm8998-v2.1.dtsi"
+#include "xiaomi/sagit-msm8998-mtp.dtsi"
+
+/ {
+       model = "Qualcomm Technologies, Inc. MSM 8998 v2.1 MTP";
+       compatible = "qcom,msm8998-mtp", "qcom,msm8998", "qcom,mtp";
+       qcom,board-id = <30 0>;
+};
diff --git a/arch/arm/boot/dts/qcom/xiaomi/batterydata-chiron-atl-3400mAh.dtsi b/arch/arm/boot/dts/qcom/xiaomi/batterydata-chiron-atl-3400mAh.dtsi
new file mode 100644 (file)
index 0000000..f505e31
--- /dev/null
@@ -0,0 +1,71 @@
+/*
+ * Copyright (C) 2017 XiaoMi, Inc.
+ */
+qcom,chiron_atl_3400mah {
+       qcom,max-voltage-uv = <4400000>;
+       qcom,nom-batt-capacity-mah = <3400>;
+       qcom,fg-cc-cv-threshold-mv = <4390>;
+       qcom,batt-id-kohm = <68>;
+       qcom,battery-beta = <3380>;
+       qcom,battery-type = "chiron_atl";
+       qcom,checksum = <0xE38B>;
+       qcom,gui-version = "PMI8998GUI - 2.0.0.58";
+       qcom,fg-profile-data = [
+                       6C 1F B7 05
+                       69 0A AD FC
+                       7B 1D 4A 07
+                       48 12 15 14
+                       7E 18 52 23
+                       F9 44 C2 53
+                       55 00 00 00
+                       0E 00 00 00
+                       00 00 FC 07
+                       C6 C5 D8 C2
+                       20 00 08 00
+                       04 D3 CA E4
+                       F7 F4 CB EA
+                       77 01 C7 0B
+                       05 FC D9 2A
+                       18 06 09 20
+                       27 00 14 00
+                       48 1D 4E E3
+                       8D FA 54 CC
+                       EF 1C 68 02
+                       3F 0D 89 0A
+                       FA 19 D3 1B
+                       3E 3D B2 4A
+                       70 00 00 00
+                       12 00 00 00
+                       00 00 05 CC
+                       D8 C2 27 C3
+                       1B 00 00 00
+                       D7 EA CA E4
+                       26 EC 52 E3
+                       85 00 70 03
+                       83 03 0F 1B
+                       B3 33 CC FF
+                       07 10 00 00
+                       4A 0D 66 46
+                       1B 00 40 00
+                       49 01 0A FA
+                       FF 00 00 00
+                       00 00 00 00
+                       00 00 00 00
+                       00 00 00 00
+                       00 00 00 00
+                       00 00 00 00
+                       00 00 00 00
+                       00 00 00 00
+                       00 00 00 00
+                       00 00 00 00
+                       00 00 00 00
+                       00 00 00 00
+                       00 00 00 00
+                       00 00 00 00
+                       00 00 00 00
+                       00 00 00 00
+                       00 00 00 00
+                       00 00 00 00
+                       00 00 00 00
+       ];
+};
diff --git a/arch/arm/boot/dts/qcom/xiaomi/batterydata-chiron-cos-3400mAh.dtsi b/arch/arm/boot/dts/qcom/xiaomi/batterydata-chiron-cos-3400mAh.dtsi
new file mode 100644 (file)
index 0000000..ddc5410
--- /dev/null
@@ -0,0 +1,71 @@
+/*
+ * Copyright (C) 2017 XiaoMi, Inc.
+ */
+qcom,chiron_cos_3400mah {
+       qcom,max-voltage-uv = <4400000>;
+       qcom,nom-batt-capacity-mah = <3400>;
+       qcom,fg-cc-cv-threshold-mv = <4390>;
+       qcom,batt-id-kohm = <100>;
+       qcom,battery-beta = <3380>;
+       qcom,battery-type = "chiron_cos";
+       qcom,checksum = <0x5B7D>;
+       qcom,gui-version = "PMI8998GUI - 2.0.0.58";
+       qcom,fg-profile-data = [
+                       80 1F 9B 05
+                       7F 0A 89 FC
+                       69 1D 47 EC
+                       F8 0B 8B 14
+                       95 19 17 22
+                       FE 3C E7 4A
+                       57 00 00 00
+                       17 00 00 00
+                       00 00 E8 C4
+                       AC C5 06 BB
+                       1F 00 08 00
+                       1C DA 06 E5
+                       BD F5 22 E3
+                       A7 F2 E9 03
+                       0C 04 38 1D
+                       19 06 09 20
+                       27 00 14 00
+                       14 1E 37 F5
+                       95 02 7F F5
+                       EF 1C 5A 02
+                       4B 0D 98 0A
+                       1C 1A 71 1B
+                       B7 3D 06 4A
+                       70 00 00 00
+                       11 00 00 00
+                       00 00 A9 CC
+                       89 BB 9D BA
+                       1A 00 00 00
+                       73 EA 06 E5
+                       BA EC 2C 00
+                       5D FA 47 0A
+                       81 EA A4 1A
+                       A1 33 CC FF
+                       07 10 00 00
+                       34 0D 66 46
+                       1A 00 40 00
+                       49 01 0A FA
+                       FF 00 00 00
+                       00 00 00 00
+                       00 00 00 00
+                       00 00 00 00
+                       00 00 00 00
+                       00 00 00 00
+                       00 00 00 00
+                       00 00 00 00
+                       00 00 00 00
+                       00 00 00 00
+                       00 00 00 00
+                       00 00 00 00
+                       00 00 00 00
+                       00 00 00 00
+                       00 00 00 00
+                       00 00 00 00
+                       00 00 00 00
+                       00 00 00 00
+                       00 00 00 00
+       ];
+};
diff --git a/arch/arm/boot/dts/qcom/xiaomi/batterydata-itech-3020mAh.dtsi b/arch/arm/boot/dts/qcom/xiaomi/batterydata-itech-3020mAh.dtsi
new file mode 100644 (file)
index 0000000..a09f98f
--- /dev/null
@@ -0,0 +1,54 @@
+/* Copyright (c) 2013-2014, The Linux Foundation. All rights reserved.
+ * Copyright (C) 2017 XiaoMi, Inc.
+ *
+ * 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.
+ */
+
+qcom,itech-3020mah {
+       qcom,max-voltage-uv = <4400000>;
+       qcom,v-cutoff-uv = <3400000>;
+       qcom,chg-term-ua = <100000>;
+       qcom,batt-id-kohm = <150>;
+       qcom,battery-type = "itech_3020mah";
+       qcom,fg-profile-data = [
+                       E8 83 0C 7D
+                       E9 80 B2 76
+                       20 83 40 73
+                       D7 6C 59 7E
+                       FB 81 58 93
+                       0D AE 02 B1
+                       5B 12 D7 82
+                       86 78 F3 76
+                       4A 71 0C 83
+                       1B 80 73 8D
+                       49 89 07 82
+                       D8 99 79 BC
+                       AA C8 7C 17
+                       F8 0B F4 5B
+                       CE 6E 71 FD
+                       09 2E 79 44
+                       52 43 00 00
+                       DE 3D 2A 37
+                       D3 46 00 00
+                       00 00 00 00
+                       00 00 00 00
+                       3A 6B B7 69
+                       DD 6C 83 83
+                       42 76 CA 68
+                       78 75 EF 80
+                       D4 74 56 5B
+                       00 00 00 00
+                       0A A5 5A D2
+                       54 A0 71 0C
+                       28 00 FF 36
+                       F0 11 30 03
+                       00 00 00 00
+       ];
+};
diff --git a/arch/arm/boot/dts/qcom/xiaomi/batterydata-sagit-atl-3350mAh.dtsi b/arch/arm/boot/dts/qcom/xiaomi/batterydata-sagit-atl-3350mAh.dtsi
new file mode 100644 (file)
index 0000000..bfa8fdb
--- /dev/null
@@ -0,0 +1,71 @@
+/*
+ * Copyright (C) 2017 XiaoMi, Inc.
+ */
+qcom,sagit_atl_3350mah {
+       qcom,max-voltage-uv = <4400000>;
+       qcom,nom-batt-capacity-mah = <3350>;
+       qcom,fg-cc-cv-threshold-mv = <4390>;
+       qcom,batt-id-kohm = <68>;
+       qcom,battery-beta = <3435>;
+       qcom,battery-type = "sagit_atl";
+       qcom,checksum = <0x23EB>;
+       qcom,gui-version = "PMI8998GUI - 2.0.0.54";
+       qcom,fg-profile-data = [
+                       66 1F B6 05
+                       70 0A 9D FC
+                       73 1D 37 F5
+                       41 12 2B 14
+                       BF 18 D7 22
+                       AD 45 96 52
+                       57 00 00 00
+                       0F 00 00 00
+                       00 00 8C C4
+                       9C CD 72 CB
+                       22 00 08 00
+                       41 E3 A1 07
+                       4D FD 6F F3
+                       45 E4 8F 12
+                       FC 0C 23 33
+                       19 06 09 20
+                       27 00 14 00
+                       F9 1F 4E 05
+                       A9 0A 27 06
+                       2B 1D 43 01
+                       45 00 99 04
+                       38 19 CA 22
+                       98 45 CF 52
+                       59 00 00 00
+                       0C 00 00 00
+                       00 00 82 CC
+                       20 C2 57 AD
+                       1C 00 00 00
+                       29 F2 A1 07
+                       27 07 A3 EB
+                       FB E4 FD 02
+                       59 D5 D2 1A
+                       AD 33 CC FF
+                       07 10 00 00
+                       15 0D 66 46
+                       1C 00 40 00
+                       7E 01 0A FA
+                       FF 00 00 00
+                       00 00 00 00
+                       00 00 00 00
+                       00 00 00 00
+                       00 00 00 00
+                       00 00 00 00
+                       00 00 00 00
+                       00 00 00 00
+                       00 00 00 00
+                       00 00 00 00
+                       00 00 00 00
+                       00 00 00 00
+                       00 00 00 00
+                       00 00 00 00
+                       00 00 00 00
+                       00 00 00 00
+                       00 00 00 00
+                       00 00 00 00
+                       00 00 00 00
+       ];
+};
diff --git a/arch/arm/boot/dts/qcom/xiaomi/batterydata-sagit-sdi-3440mAh.dtsi b/arch/arm/boot/dts/qcom/xiaomi/batterydata-sagit-sdi-3440mAh.dtsi
new file mode 100644 (file)
index 0000000..e36ee0f
--- /dev/null
@@ -0,0 +1,71 @@
+/*
+ * Copyright (C) 2017 XiaoMi, Inc.
+ */
+qcom,sagit_sdi_3440mah {
+       qcom,max-voltage-uv = <4400000>;
+       qcom,nom-batt-capacity-mah = <3350>;
+       qcom,fg-cc-cv-threshold-mv = <4390>;
+       qcom,batt-id-kohm = <30>;
+       qcom,battery-beta = <3435>;
+       qcom,battery-type = "sagit_sdi";
+       qcom,checksum = <0x623E>;
+       qcom,gui-version = "PMI8998GUI - 2.0.0.54";
+       qcom,fg-profile-data = [
+                       A8 1F 68 05
+                       B2 0A 09 FC
+                       4F 1D 2C E2
+                       27 0A 46 0C
+                       8A 18 4F 23
+                       F7 44 CB 53
+                       5B 00 00 00
+                       0E 00 00 00
+                       00 00 08 B5
+                       30 C4 85 AC
+                       2E 00 08 00
+                       22 00 E1 ED
+                       10 06 79 FA
+                       37 04 EC 03
+                       BE E5 33 22
+                       36 06 09 20
+                       27 00 14 00
+                       EE 1F 48 05
+                       C4 0A F9 05
+                       70 1D E7 D2
+                       4E 0B A9 14
+                       EE 19 07 22
+                       FC 3C 06 4B
+                       52 00 00 00
+                       13 00 00 00
+                       00 00 C3 CC
+                       41 AA 41 C3
+                       21 00 00 00
+                       66 00 E1 ED
+                       F7 06 2A F2
+                       F6 F4 FF FA
+                       9B F5 1B 1A
+                       99 33 CC FF
+                       07 10 00 00
+                       1A 0D 66 46
+                       21 00 40 00
+                       6C 01 0A FA
+                       FF 00 00 00
+                       00 00 00 00
+                       00 00 00 00
+                       00 00 00 00
+                       00 00 00 00
+                       00 00 00 00
+                       00 00 00 00
+                       00 00 00 00
+                       00 00 00 00
+                       00 00 00 00
+                       00 00 00 00
+                       00 00 00 00
+                       00 00 00 00
+                       00 00 00 00
+                       00 00 00 00
+                       00 00 00 00
+                       00 00 00 00
+                       00 00 00 00
+                       00 00 00 00
+       ];
+};
diff --git a/arch/arm/boot/dts/qcom/xiaomi/chiron-camera-sensor-mtp.dtsi b/arch/arm/boot/dts/qcom/xiaomi/chiron-camera-sensor-mtp.dtsi
new file mode 100644 (file)
index 0000000..301d6fa
--- /dev/null
@@ -0,0 +1,338 @@
+/*
+ * Copyright (c) 2016, The Linux Foundation. All rights reserved.
+ * Copyright (C) 2018 XiaoMi, Inc.
+ *
+ * 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.
+ */
+
+&soc {
+       led_flash0: qcom,camera-flash@0 {
+               cell-index = <0>;
+               compatible = "qcom,camera-flash";
+               qcom,flash-source = <&pmi8998_flash0 &pmi8998_flash1>;
+               qcom,torch-source = <&pmi8998_torch0 &pmi8998_torch1>;
+               qcom,switch-source = <&pmi8998_switch0>;
+               status = "ok";
+       };
+
+       led_flash1: qcom,camera-flash@1 {
+               cell-index = <1>;
+               compatible = "qcom,camera-flash";
+               qcom,flash-source = <&pmi8998_flash2>;
+               qcom,torch-source = <&pmi8998_torch2>;
+               qcom,switch-source = <&pmi8998_switch1>;
+               status = "disable";
+       };
+
+       vaf_gpio_supply: vaf_gpio_supply {
+               compatible = "regulator-fixed";
+               regulator-name = "vaf_gpio_supply";
+               regulator-min-microvolt = <2800000>;
+               regulator-max-microvolt = <2800000>;
+               startup-delay-us = <4000>;
+               enable-active-high;
+               gpio = <&tlmm 29 0>;
+       };
+
+       vana_gpio_supply: vana_gpio_supply {
+               compatible = "regulator-fixed";
+               regulator-name = "vana_gpio_supply";
+               regulator-min-microvolt = <2800000>;
+               regulator-max-microvolt = <2800000>;
+               startup-delay-us = <4000>;
+               enable-active-high;
+               gpio = <&tlmm 80 0>;
+       };
+
+       vdig_gpio_supply: vdig_gpio_supply {
+               compatible = "regulator-fixed";
+               regulator-name = "vdig_gpio_supply";
+               regulator-min-microvolt = <1100000>;
+               regulator-max-microvolt = <1100000>;
+               startup-delay-us = <4000>;
+               enable-active-high;
+               gpio = <&pm8998_gpios 20 0>;
+       };
+};
+
+&cci {
+       actuator0: qcom,actuator@0 {
+               cell-index = <0>;
+               reg = <0x0>;
+               compatible = "qcom,actuator";
+               qcom,cci-master = <0>;
+               cam_vio-supply = <&pm8998_lvs1>;
+               cam_vaf-supply = <&vaf_gpio_supply>;
+               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>;
+       };
+
+       ois0: qcom,ois@0 {
+               cell-index = <0>;
+               reg = <0x0>;
+               compatible = "qcom,ois";
+               qcom,cci-master = <0>;
+               cam_vaf-supply = <&vaf_gpio_supply>;
+               qcom,cam-vreg-name = "cam_vaf";
+               qcom,cam-vreg-min-voltage = <2800000>;
+               qcom,cam-vreg-max-voltage = <2800000>;
+               qcom,cam-vreg-op-mode = <100000>;
+       };
+
+       eeprom0: qcom,eeprom@0 {
+               cell-index = <0>;
+               reg = <0>;
+               qcom,eeprom-name = "chiron_imx386_semco";
+               compatible = "qcom,eeprom";
+               qcom,slave-addr = <0xa0>;
+               qcom,i2c-freq-mode = <1>;
+               qcom,num-blocks = <1>;
+               qcom,page0 = <0 0 0 0 0 0>;
+               qcom,poll0 = <0 0 0 0 0 0>;
+               qcom,mem0 = <2960 0x00 2 0 1 0>;
+               cam_vio-supply = <&pm8998_lvs1>;
+               cam_vdig-supply = <&vdig_gpio_supply>;
+               cam_vana-supply = <&vana_gpio_supply>;
+               qcom,cam-vreg-name = "cam_vio", "cam_vdig", "cam_vana";
+               qcom,cam-vreg-min-voltage = <0 1000000 2600000>;
+               qcom,cam-vreg-max-voltage = <0 1200000 2900000>;
+               qcom,cam-vreg-op-mode = <0 1100000 2800000>;
+               qcom,cam-power-seq-type = "sensor_vreg";
+               qcom,cam-power-seq-val = "cam_vio";
+               qcom,cam-power-seq-cfg-val = <1>;
+               qcom,cam-power-seq-delay = <1>;
+               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";
+               qcom,sensor-position = <0>;
+               qcom,sensor-mode = <0>;
+               qcom,cci-master = <0>;
+               status = "ok";
+               clocks = <&clock_mmss clk_mclk0_clk_src>,
+                               <&clock_mmss clk_mmss_camss_mclk0_clk>;
+               clock-names = "cam_src_clk", "cam_clk";
+               qcom,clock-rates = <24000000 0>;
+       };
+
+       eeprom2: qcom,eeprom@2 {
+               cell-index = <2>;
+               reg = <0x2>;
+               qcom,eeprom-name = "chiron_ov5675_primax";
+               compatible = "qcom,eeprom";
+               qcom,slave-addr = <0x6c>;
+               qcom,i2c-freq-mode = <1>;
+               qcom,num-blocks = <1>;
+               qcom,saddr0 = <0x6c>;
+               qcom,page0 = <0 0 0 0 0 0>;
+               qcom,pageen0 = <1 0x0100 2 0x01 1 2>;
+               qcom,poll0 = <0 0 0 0 0 0>;
+               qcom,mem0 = <144 0x7010 2 0 1 0>;
+
+               cam_vio-supply = <&pm8998_lvs1>;
+               cam_vana-supply = <&pm8998_l22>;
+               qcom,cam-vreg-name = "cam_vio", "cam_vana";
+               qcom,cam-vreg-min-voltage = <0 2864000>;
+               qcom,cam-vreg-max-voltage = <0 2864000>;
+               qcom,cam-vreg-op-mode = <0 80000>;
+               qcom,cam-power-seq-type = "sensor_gpio", "sensor_gpio", "sensor_vreg", "sensor_vreg", "sensor_clk", "sensor_gpio";
+               qcom,cam-power-seq-val = "sensor_gpio_reset", "sensor_gpio_vdig", "cam_vio", "cam_vana", "sensor_cam_mclk", "sensor_gpio_reset";
+               qcom,cam-power-seq-cfg-val = <0 1 1 2864000 24000000 1>;
+               qcom,cam-power-seq-delay = <1 1 1 1 1 1>;
+               qcom,gpio-no-mux = <0>;
+               pinctrl-names = "cam_default", "cam_suspend";
+               pinctrl-0 = <&cam_sensor_mclk1_active_chiron
+                               &cam_sensor_front_active>;
+               pinctrl-1 = <&cam_sensor_mclk1_suspend_chiron
+                               &cam_sensor_front_suspend>;
+               gpios = <&tlmm 14 0>,
+                       <&tlmm 28 0>,
+                       <&pm8998_gpios 9 0>;
+               qcom,gpio-reset = <1>;
+               qcom,gpio-vdig = <2>;
+               qcom,gpio-req-tbl-num = <0 1 2/* 3*/>;
+               qcom,gpio-req-tbl-flags = <1 0 0/* 0*/>;
+               qcom,gpio-req-tbl-label = "CAMIF_MCLK1",
+                                       /*"CAM_STANDBY1",*/
+                                       "CAM_RESET1",
+                                       "CAM_VDIG";
+               qcom,cci-master = <1>;
+               status = "ok";
+
+               clocks = <&clock_mmss clk_mclk1_clk_src>,
+                       <&clock_mmss clk_mmss_camss_mclk1_clk>;
+               clock-names = "cam_src_clk", "cam_clk";
+               qcom,clock-rates = <24000000 0>;
+       };
+
+       eeprom3: qcom,eeprom@3 {
+               cell-index = <3>;
+               reg = <0x3>;
+               qcom,eeprom-name = "chiron_ov5675_qtech";
+               compatible = "qcom,eeprom";
+               qcom,slave-addr = <0x6c>;
+               qcom,i2c-freq-mode = <1>;
+               qcom,num-blocks = <1>;
+               qcom,saddr0 = <0x6c>;
+               qcom,page0 = <0 0 0 0 0 0>;
+               qcom,pageen0 = <1 0x0100 2 0x01 1 2>;
+               qcom,poll0 = <0 0 0 0 0 0>;
+               qcom,mem0 = <144 0x7010 2 0 1 0>;
+
+               cam_vio-supply = <&pm8998_lvs1>;
+               cam_vana-supply = <&pm8998_l22>;
+               qcom,cam-vreg-name = "cam_vio", "cam_vana";
+               qcom,cam-vreg-min-voltage = <0 2864000>;
+               qcom,cam-vreg-max-voltage = <0 2864000>;
+               qcom,cam-vreg-op-mode = <0 80000>;
+               qcom,cam-power-seq-type = "sensor_gpio", "sensor_gpio", "sensor_vreg", "sensor_vreg", "sensor_clk", "sensor_gpio";
+               qcom,cam-power-seq-val = "sensor_gpio_reset", "sensor_gpio_vdig", "cam_vio", "cam_vana", "sensor_cam_mclk", "sensor_gpio_reset";
+               qcom,cam-power-seq-cfg-val = <0 1 1 2864000 24000000 1>;
+               qcom,cam-power-seq-delay = <1 1 1 1 1 1>;
+               qcom,gpio-no-mux = <0>;
+               pinctrl-names = "cam_default", "cam_suspend";
+               pinctrl-0 = <&cam_sensor_mclk1_active_chiron
+                               &cam_sensor_front_active>;
+               pinctrl-1 = <&cam_sensor_mclk1_suspend_chiron
+                               &cam_sensor_front_suspend>;
+               gpios = <&tlmm 14 0>,
+                       <&tlmm 28 0>,
+                       <&pm8998_gpios 9 0>;
+               qcom,gpio-reset = <1>;
+               qcom,gpio-vdig = <2>;
+               qcom,gpio-req-tbl-num = <0 1 2/* 3*/>;
+               qcom,gpio-req-tbl-flags = <1 0 0/* 0*/>;
+               qcom,gpio-req-tbl-label = "CAMIF_MCLK1",
+                                       "CAM_RESET1",
+                                       "CAM_VDIG";
+               qcom,cci-master = <1>;
+               status = "ok";
+
+               clocks = <&clock_mmss clk_mclk1_clk_src>,
+                       <&clock_mmss clk_mmss_camss_mclk1_clk>;
+               clock-names = "cam_src_clk", "cam_clk";
+               qcom,clock-rates = <24000000 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>;
+               qcom,ois-src = <&ois0>;
+               cam_vio-supply = <&pm8998_lvs1>;
+               cam_vdig-supply = <&vdig_gpio_supply>;
+               cam_vana-supply = <&vana_gpio_supply>;
+               qcom,cam-vreg-name = "cam_vio", "cam_vdig", "cam_vana";
+               qcom,cam-vreg-min-voltage = <0 1000000 2600000>;
+               qcom,cam-vreg-max-voltage = <0 1200000 2900000>;
+               qcom,cam-vreg-op-mode = <0 1100000 2800000>;
+               qcom,gpio-no-mux = <0>;
+               pinctrl-names = "cam_default", "cam_suspend";
+               pinctrl-0 = <&cam_sensor_mclk0_active_chiron
+                                &cam_sensor_rear_active>;
+               pinctrl-1 = <&cam_sensor_mclk0_suspend_chiron
+                               &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";
+               qcom,sensor-position = <0>;
+               qcom,sensor-mode = <0>;
+               qcom,cci-master = <0>;
+               status = "ok";
+               clocks = <&clock_mmss clk_mclk0_clk_src>,
+                               <&clock_mmss clk_mmss_camss_mclk0_clk>;
+               clock-names = "cam_src_clk", "cam_clk";
+               qcom,clock-rates = <24000000 0>;
+       };
+
+       qcom,camera@2 {
+               cell-index = <2>;
+               compatible = "qcom,camera";
+               reg = <0x02>;
+               qcom,csiphy-sd-index = <1>;
+               qcom,csid-sd-index = <1>;
+               qcom,mount-angle = <270>;
+               qcom,eeprom-src = <&eeprom2 &eeprom3>;
+               cam_vio-supply = <&pm8998_lvs1>;
+               cam_vana-supply = <&pm8998_l22>;
+               qcom,cam-vreg-name = "cam_vio", "cam_vana";
+               qcom,cam-vreg-min-voltage =
+                       <0 2864000>;
+               qcom,cam-vreg-max-voltage =
+                       <0 2864000>;
+               qcom,cam-vreg-op-mode = <0 80000>;
+               qcom,gpio-no-mux = <0>;
+               pinctrl-names = "cam_default", "cam_suspend";
+               pinctrl-0 = <&cam_sensor_mclk1_active_chiron
+                                &cam_sensor_front_active>;
+               pinctrl-1 = <&cam_sensor_mclk1_suspend_chiron
+                                &cam_sensor_front_suspend>;
+               gpios = <&tlmm 14 0>,
+                       <&tlmm 28 0>,
+                       <&pm8998_gpios 9 0>;
+               qcom,gpio-reset = <1>;
+               qcom,gpio-vdig = <2>;
+               qcom,gpio-req-tbl-num = <0 1 2 /*3*/>;
+               qcom,gpio-req-tbl-flags = <1 0 0 /*0*/>;
+               qcom,gpio-req-tbl-label = "CAMIF_MCLK1",
+                                       "CAM_RESET1",
+                                       "CAM_VDIG";
+               qcom,sensor-position = <1>;
+               qcom,sensor-mode = <0>;
+               qcom,cci-master = <1>;
+               status = "ok";
+               clocks = <&clock_mmss clk_mclk1_clk_src>,
+                       <&clock_mmss clk_mmss_camss_mclk1_clk>;
+               clock-names = "cam_src_clk", "cam_clk";
+               qcom,clock-rates = <24000000 0>;
+       };
+};
+&pm8998_gpios {
+       gpio@c800 { /* GPIO 9 - CAMERA SENSOR 2 VDIG */
+               qcom,mode = <1>;                /* Output */
+               qcom,pull = <5>;                /* No Pull */
+               qcom,vin-sel = <0>;             /* VIN1 GPIO_LV */
+               qcom,src-sel = <0>;             /* GPIO */
+               qcom,invert = <0>;              /* Invert */
+               qcom,master-en = <1>;           /* Enable GPIO */
+               status = "ok";
+       };
+
+       gpio@d300 { /* GPIO 20 - CAMERA SENSOR 0 VDIG */
+               qcom,mode = <1>;                /* Output */
+               qcom,pull = <5>;                /* No Pull */
+               qcom,vin-sel = <1>;             /* VIN1 GPIO_MV */
+               qcom,src-sel = <0>;             /* GPIO */
+               qcom,invert = <0>;              /* Invert */
+               qcom,master-en = <1>;           /* Enable GPIO */
+               status = "ok";
+       };
+};
diff --git a/arch/arm/boot/dts/qcom/xiaomi/chiron-msm8998-mtp.dtsi b/arch/arm/boot/dts/qcom/xiaomi/chiron-msm8998-mtp.dtsi
new file mode 100644 (file)
index 0000000..1bd6f08
--- /dev/null
@@ -0,0 +1,926 @@
+/* Copyright (c) 2016, The Linux Foundation. All rights reserved.
+ * Copyright (C) 2018 XiaoMi, Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 and
+ * only version 2 as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ */
+
+#include <dt-bindings/interrupt-controller/irq.h>
+#include "../msm8998-pinctrl.dtsi"
+#include "msm8998-pinctrl.dtsi"
+#include "msm-pm8998.dtsi"
+#include "msm-pmi8998.dtsi"
+#include "msm8998-regulator.dtsi"
+#include "msm8998-camera.dtsi"
+#include "../msm8998-mdss-panels.dtsi"
+#include "msm8998-mdss-panels.dtsi"
+#include "msm8998-blsp.dtsi"
+#include "msm8998-audio.dtsi"
+#include "msm8998-mdss.dtsi"
+
+#include "chiron-camera-sensor-mtp.dtsi"
+
+/ {
+       bluetooth: bt_wcn3990 {
+               compatible = "qca,wcn3990";
+
+               clock-names = "rf_clk2";
+               clocks = <&clock_gcc clk_rf_clk2_pin>;
+
+               qca,bt-vdd-io-supply = <&pm8998_s3>;
+               qca,bt-vdd-xtal-supply = <&pm8998_s5>;
+               qca,bt-vdd-core-supply = <&pm8998_l7>;
+               qca,bt-vdd-pa-supply = <&pm8998_l17>;
+               qca,bt-vdd-ldo-supply = <&pm8998_l25>;
+               qca,bt-chip-pwd-supply = <&pmi8998_bob_pin1>;
+
+               qca,bt-vdd-io-voltage-level = <1352000 1352000>;
+               qca,bt-vdd-xtal-voltage-level = <2040000 2040000>;
+               qca,bt-vdd-core-voltage-level = <1800000 1800000>;
+               qca,bt-vdd-pa-voltage-level = <1304000 1304000>;
+               qca,bt-vdd-ldo-voltage-level = <3312000 3312000>;
+               qca,bt-chip-pwd-voltage-level = <3600000 3600000>;
+
+               qca,bt-vdd-io-current-level = <1>; /* LPM/PFM */
+               qca,bt-vdd-xtal-current-level = <1>; /* LPM/PFM */
+               qca,bt-vdd-core-current-level = <1>; /* LPM/PFM */
+               qca,bt-vdd-pa-current-level = <1>; /* LPM/PFM */
+               qca,bt-vdd-ldo-current-level = <1>; /* LPM/PFM */
+       };
+};
+
+&blsp1_uart3_hs {
+       status = "ok";
+};
+
+&ufsphy1 {
+       vdda-phy-supply = <&pm8998_l1>;
+       vdda-pll-supply = <&pm8998_l2>;
+       vddp-ref-clk-supply = <&pm8998_l26>;
+       vdda-phy-max-microamp = <51400>;
+       vdda-pll-max-microamp = <14600>;
+       vddp-ref-clk-max-microamp = <100>;
+       vddp-ref-clk-always-on;
+
+       status = "ok";
+};
+
+&ufs1 {
+       vdd-hba-supply = <&gdsc_ufs>;
+       vdd-hba-fixed-regulator;
+       vcc-supply = <&pm8998_l20>;
+       vccq-supply = <&pm8998_l26>;
+       vccq2-supply = <&pm8998_s4>;
+       vcc-max-microamp = <750000>;
+       vccq-max-microamp = <560000>;
+       vccq2-max-microamp = <750000>;
+
+       status = "ok";
+};
+
+&ufs_ice {
+       status = "ok";
+};
+
+&sdhc_2 {
+       vdd-supply = <&pm8998_l21>;
+       qcom,vdd-voltage-level = <2950000 2960000>;
+       qcom,vdd-current-level = <200 800000>;
+
+       vdd-io-supply = <&pm8998_l13>;
+       qcom,vdd-io-voltage-level = <1808000 2960000>;
+       qcom,vdd-io-current-level = <200 22000>;
+
+       pinctrl-names = "active", "sleep";
+       pinctrl-0 = <&sdc2_clk_on  &sdc2_cmd_on &sdc2_data_on &sdc2_cd_on>;
+       pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off &sdc2_cd_off>;
+
+       qcom,clk-rates = <400000 20000000 25000000
+                               50000000 100000000 200000000>;
+       qcom,bus-speed-mode = "SDR12", "SDR25", "SDR50", "DDR50", "SDR104";
+
+       cd-gpios = <&tlmm 95 0x1>;
+
+       status = "ok";
+};
+
+&uartblsp2dm1 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&uart_console_active>;
+
+       status = "ok";
+};
+
+&pm8998_gpios {
+       /* GPIO 6 for Vol+ Key */
+       gpio@c500 {
+               status = "okay";
+               qcom,mode = <0>;
+               qcom,pull = <0>;
+               qcom,vin-sel = <0>;
+               qcom,src-sel = <0>;
+               qcom,out-strength = <1>;
+       };
+
+       /* GPIO 7 for Snapshot Key */
+       gpio@c600 {
+               status = "okay";
+               qcom,mode = <0>;
+               qcom,pull = <0>;
+               qcom,vin-sel = <0>;
+               qcom,src-sel = <0>;
+               qcom,out-strength = <1>;
+       };
+
+       /* GPIO 8 for Focus Key */
+       gpio@c700 {
+               status = "okay";
+               qcom,mode = <0>;
+               qcom,pull = <0>;
+               qcom,vin-sel = <0>;
+               qcom,src-sel = <0>;
+               qcom,out-strength = <1>;
+       };
+
+       /* GPIO 13 */
+       gpio@cc00 {
+               qcom,mode = <1>;
+               qcom,output-type = <0>;
+               qcom,pull = <5>;
+               qcom,vin-sel = <0>;
+               qcom,out-strength = <1>;
+               qcom,src-sel = <3>;
+               qcom,master-en = <1>;
+               status = "okay";
+       };
+
+       /* GPIO 21 (NFC_CLK_REQ) */
+       gpio@d400 {
+               qcom,mode = <0>;
+               qcom,vin-sel = <1>;
+               qcom,src-sel = <0>;
+               qcom,master-en = <1>;
+               status = "okay";
+       };
+
+       /* GPIO 18 SMB138X */
+       gpio@d100 {
+               qcom,mode = <0>;
+               qcom,pull = <0>;
+               qcom,vin-sel = <0>;
+               qcom,src-sel = <0>;
+               qcom,master-en = <1>;
+               status = "okay";
+       };
+};
+
+&pmi8998_gpios {
+       /* GPIO 5 for INFARED_DRV */
+       gpio@c400 {
+               status = "okay";
+               qcom,mode = <1>;         /* QPNP_PIN_MODE_DIG_OUT */
+               qcom,pull = <4>;         /* PULL DOWN 10uA */
+               qcom,src-sel = <2>;      /* SPECIAL FUNCTION 1 */
+               qcom,master-en = <1>;    /* ENABLE GPIO */
+               qcom,out-strength = <2>; /* Medium strength current */
+       };
+
+       /* GPIO 6 for the internal QNOVO discharge FET control signal */
+       gpio@c500 {
+               status = "okay";
+               qcom,mode = <1>;
+               qcom,pull = <5>;
+               qcom,vin-sel = <0>;
+               qcom,src-sel = <2>;
+               qcom,out-strength = <1>;
+               qcom,master-en = <1>;
+       };
+};
+
+&i2c_5 {
+       status = "okay";
+       synaptics_dsi_i2c@20 {
+               compatible = "synaptics,dsx-i2c-force";
+               reg = <0x20>;
+
+               interrupt-parent = <&tlmm>;
+               interrupts = <125 0x2008>;
+
+               vdd-supply = <&pm8998_l6>;
+               lab-supply = <&lab_regulator>;
+               ibb-supply = <&ibb_regulator>;
+               disp-supply = <&pm8998_l14>;
+               avdd-supply = <&disp_vddts_vreg>;
+
+               pinctrl-names = "pmx_ts_active", "pmx_ts_suspend";
+               pinctrl-0 = <&ts_active>;
+               pinctrl-1 = <&ts_int_suspend &ts_reset_suspend>;
+
+               clock-names = "iface_clk", "core_clk";
+               clocks = <&clock_gcc clk_gcc_blsp1_ahb_clk>,
+                        <&clock_gcc clk_gcc_blsp1_qup5_i2c_apps_clk>;
+
+               synaptics,pwr-reg-name = "vdd";
+               synaptics,lab-reg-name = "lab";
+               synaptics,ibb-reg-name = "ibb";
+               synaptics,disp-reg-name = "disp";
+               synaptics,bus-reg-name = "avdd";
+               synaptics,disp-power-hold;
+               synaptics,ub-i2c-addr = <0x2c>;
+               synaptics,mdss-dsi-reset = <&tlmm 8 0>;
+               synaptics,reset-gpio = <&tlmm 89 0x00>;
+               synaptics,irq-gpio = <&tlmm 125 0x2008>;
+               synaptics,reset-gpio-name = "dsx_reset";
+               synaptics,irq-gpio-name = "dsx_irq";
+               synaptics,irq-on-state = <0>;
+               synaptics,irq-flags = <0x2008>; /* IRQF_ONESHOT | IRQF_TRIGGER_LOW */
+               synaptics,power-delay-ms = <5>;
+               synaptics,reset-delay-ms = <200>;
+               synaptics,reset-active-ms = <5>;
+               synaptics,power-on-state = <1>;
+               synaptics,reset-on-state = <0>;
+               synaptics,mdss-reset-state = <1>;
+               synaptics,panel-is-incell;
+               synaptics,short-jdi-25 = "000: 0xff\n001: 0xff\n002: 0xff\n003: 0xf7\n004: 0x03\n005: 0x00\n006: 0x00";
+               synaptics,short-jdi-26 = "000: 0x03\n001: 0x00\n002: 0x00\n003: 0x00\n004: 0x03\n005: 0x00\n006: 0x00";
+               synaptics,guest-serialization-as-lockdown;
+               synaptics,tp-id-byte = /bits/ 8 <0>;
+
+               synaptics,config-array-size = <3>;
+               synaptics,cfg_1 {
+                       synaptics,chip-id = <0>;
+                       synaptics,chip-id-name = "S3330";
+                       synaptics,tp-id = /bits/ 8 <0x31>;
+                       synaptics,fw-name = "synaptics_jdi_3330_chiron.fw";
+               };
+       };
+
+       ft5x46_i2c@38 {
+               compatible = "ft,ft5x46_i2c";
+               reg = <0x38>;
+
+               interrupt-parent = <&tlmm>;
+               interrupts = <125 0x2008>;
+
+               vddio-supply = <&pm8998_l6>;
+               vdd-supply = <&pm8998_l14>;
+               lab-supply = <&lab_regulator>;
+               ibb-supply = <&ibb_regulator>;
+
+               pinctrl-names = "pmx_ts_active","pmx_ts_suspend";
+               pinctrl-0 = <&ts_active>;
+               pinctrl-1 = <&ts_int_suspend &ts_reset_suspend>;
+
+               ft5x46_i2c,i2c-pull-up;
+               ft5x46_i2c,irqflags = <0x2008>;
+               ft5x46_i2c,x-max = <1080>;
+               ft5x46_i2c,y-max = <2160>;
+               ft5x46_i2c,z-max = <255>;
+               ft5x46_i2c,w-max = <200>;
+               ft5x46_i2c,reset-gpio = <&tlmm 89 0x00>;
+               ft5x46_i2c,irq-gpio = <&tlmm 125 0x2008>;
+               ft5x46_i2c,skip-reset-in-resume;
+               ft5x46_i2c,landing-jiffies = <1000>;
+               ft5x46_i2c,landing-threshold = <16>;
+               ft5x46_i2c,staying-threshold = <8>;
+               ft5x46_i2c,raw-min = <7000>;
+               ft5x46_i2c,raw-max = <10000>;
+               ft5x46_i2c,open-min = <60>;
+               ft5x46_i2c,open-max = <200>;
+               ft5x46_i2c,short-min = <200>;
+               ft5x46_i2c,short-max = <100000000>;
+
+               ft5x46_i2c,fw-delay-55-ms = <2>;
+               ft5x46_i2c,fw-delay-aa-ms = <2>;
+               ft5x46_i2c,fw-upgrade-id1 = <0xE7>;
+               ft5x46_i2c,fw-upgrade-id2 = <0xA6>;
+               ft5x46_i2c,fw-delay-readid-ms = <20>;
+               ft5x46_i2c,firmware-array-size = <1>;
+               ft5x46_i2c,cfg_0 {
+                       ft5x46_i2c,chip = <0x87>;
+                       ft5x46_i2c,vendor = <0x32>;
+                       ft5x46_i2c,tp-vendor = <0x41>;
+                       ft5x46_i2c,lcd-vendor = <0x37>;
+                       ft5x46_i2c,fw-name = "ft8716_ebbg_incell_ebbg_chiron.fw";
+                       ft5x46_i2c,tx-num = <24>;
+                       ft5x46_i2c,rx-num = <13>;
+               };
+       };
+};
+
+&i2c_6 { /* BLSP1 QUP6 (NFC) */
+       status = "okay";
+
+       nq@28 {
+               compatible = "qcom,nq-nci";
+               reg = <0x28>;
+
+               interrupt-parent = <&tlmm>;
+               interrupts = <92 0>;
+               interrupt-names = "nfc_irq";
+
+               pinctrl-names = "nfc_active", "nfc_suspend";
+               pinctrl-0 = <&nfc_int_active &nfc_enable_active>;
+               pinctrl-1 = <&nfc_int_suspend &nfc_enable_suspend>;
+
+               clock-names = "ref_clk";
+               clocks = <&clock_gcc clk_ln_bb_clk3_pin>;
+
+               qcom,clk-src = "BBCLK3";
+
+               qcom,nq-irq = <&tlmm 92 0x00>;
+               qcom,nq-ven = <&tlmm 12 0x00>;
+               qcom,nq-firm = <&tlmm 93 0x00>;
+               qcom,nq-clkreq = <&pm8998_gpios 21 0x00>;
+               qcom,nq-esepwr = <&tlmm 116 0x00>;
+
+       };
+};
+
+&mdss_hdmi_tx {
+       status = "disabled";
+};
+
+&mdss_hdmi_pll {
+       status = "disabled";
+};
+
+&mdss_mdp {
+       qcom,mdss-pref-prim-intf = "dsi";
+};
+
+&mdss_dsi {
+       hw-config = "single_dsi";
+};
+
+&mdss_dsi0 {
+       pinctrl-names = "mdss_default", "mdss_sleep";
+       pinctrl-0 = <&mdss_dsi_active &mdss_te_active>;
+       pinctrl-1 = <&mdss_dsi_suspend &mdss_te_suspend>;
+
+       qcom,platform-reset-gpio = <&tlmm 94 0>;
+       qcom,platform-te-gpio = <&tlmm 10 0>;
+       qcom,dsi-pref-prim-pan = <&dsi_jdi_fhd_nt35596s_video>;
+};
+
+&mdss_dsi1 {
+       status = "disabled";
+};
+
+&mdss_dsi1_pll {
+       status = "disabled";
+};
+
+&labibb {
+       status = "ok";
+       qcom,qpnp-labibb-mode = "lcd";
+};
+
+&dsi_dual_nt35597_video {
+       qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled";
+       qcom,mdss-dsi-bl-min-level = <1>;
+       qcom,mdss-dsi-bl-max-level = <4095>;
+       qcom,mdss-dsi-mode-sel-gpio-state = "dual_port";
+       qcom,panel-supply-entries = <&dsi_panel_pwr_supply>;
+};
+
+&dsi_dual_nt35597_cmd {
+       qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled";
+       qcom,mdss-dsi-bl-min-level = <1>;
+       qcom,mdss-dsi-bl-max-level = <4095>;
+       qcom,mdss-dsi-mode-sel-gpio-state = "dual_port";
+       qcom,panel-supply-entries = <&dsi_panel_pwr_supply>;
+};
+
+&dsi_dual_nt35597_truly_video {
+       qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled";
+       qcom,mdss-dsi-bl-min-level = <1>;
+       qcom,mdss-dsi-bl-max-level = <4095>;
+       qcom,mdss-dsi-mode-sel-gpio-state = "dual_port";
+       qcom,panel-supply-entries = <&dsi_panel_pwr_supply>;
+};
+
+&dsi_dual_nt35597_truly_cmd {
+       qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled";
+       qcom,mdss-dsi-bl-min-level = <1>;
+       qcom,mdss-dsi-bl-max-level = <4095>;
+       qcom,mdss-dsi-mode-sel-gpio-state = "dual_port";
+       qcom,panel-supply-entries = <&dsi_panel_pwr_supply>;
+};
+
+&dsi_nt35597_dsc_video {
+       qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled";
+       qcom,mdss-dsi-bl-min-level = <1>;
+       qcom,mdss-dsi-bl-max-level = <4095>;
+       qcom,mdss-dsi-mode-sel-gpio-state = "single_port";
+       qcom,panel-supply-entries = <&dsi_panel_pwr_supply>;
+};
+
+&dsi_nt35597_dsc_cmd {
+       qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled";
+       qcom,mdss-dsi-bl-min-level = <1>;
+       qcom,mdss-dsi-bl-max-level = <4095>;
+       qcom,mdss-dsi-mode-sel-gpio-state = "single_port";
+       qcom,panel-supply-entries = <&dsi_panel_pwr_supply>;
+};
+
+&dsi_sharp_4k_dsc_video {
+       qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled";
+       qcom,mdss-dsi-bl-min-level = <1>;
+       qcom,mdss-dsi-bl-max-level = <4095>;
+       qcom,panel-supply-entries = <&dsi_panel_pwr_supply>;
+};
+
+&dsi_sharp_4k_dsc_cmd {
+       qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled";
+       qcom,mdss-dsi-bl-min-level = <1>;
+       qcom,mdss-dsi-bl-max-level = <4095>;
+       qcom,panel-supply-entries = <&dsi_panel_pwr_supply>;
+};
+
+&dsi_dual_jdi_video {
+       qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled";
+       qcom,mdss-dsi-bl-min-level = <1>;
+       qcom,mdss-dsi-bl-max-level = <4095>;
+       qcom,5v-boost-gpio = <&tlmm 51 0>;
+       qcom,panel-supply-entries = <&dsi_panel_pwr_supply>;
+};
+
+&dsi_dual_jdi_cmd {
+       qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled";
+       qcom,mdss-dsi-bl-min-level = <1>;
+       qcom,mdss-dsi-bl-max-level = <4095>;
+       qcom,5v-boost-gpio = <&tlmm 51 0>;
+       qcom,panel-supply-entries = <&dsi_panel_pwr_supply>;
+};
+
+&dsi_jdi_fhd_r63452_cmd {
+       qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled";
+       qcom,mdss-dsi-bl-min-level = <1>;
+       qcom,mdss-dsi-bl-max-level = <4095>;
+       qcom,panel-supply-entries = <&dsi_panel_pwr_supply>;
+};
+
+&dsi_lgd_fhd_td4322_cmd {
+       qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled";
+       qcom,mdss-dsi-bl-min-level = <1>;
+       qcom,mdss-dsi-bl-max-level = <4095>;
+       qcom,panel-supply-entries = <&dsi_panel_pwr_supply>;
+};
+
+&dsi_dual_sharp_1080_120hz_cmd {
+       qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled";
+       qcom,mdss-dsi-bl-min-level = <1>;
+       qcom,mdss-dsi-bl-max-level = <4095>;
+       qcom,panel-supply-entries = <&dsi_panel_pwr_supply>;
+};
+
+&dsi_jdi_fhd_nt35596s_video {
+       qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled";
+       qcom,mdss-dsi-bl-min-level = <1>;
+       qcom,mdss-dsi-bl-max-level = <4095>;
+       qcom,panel-supply-entries = <&dsi_panel_pwr_supply_jdi_nt35596s>;
+};
+
+&dsi_jdi_fhd_nt35596s_pro_video {
+       qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled";
+       qcom,mdss-dsi-bl-min-level = <1>;
+       qcom,mdss-dsi-bl-max-level = <4095>;
+       qcom,panel-supply-entries = <&dsi_panel_pwr_supply_jdi_nt35596s>;
+};
+
+&dsi_ebbg_fhd_ft8716_video {
+       qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled";
+       qcom,mdss-dsi-bl-min-level = <1>;
+       qcom,mdss-dsi-bl-max-level = <4095>;
+       qcom,panel-supply-entries = <&dsi_panel_pwr_supply_ebbg_ft8716>;
+};
+
+&mem_client_3_size {
+       qcom,peripheral-size = <0x500000>;
+};
+
+&pmi8998_haptics {
+       qcom,wave-play-rate-us = <4878>;
+       qcom,vmax-mv = <2552>;
+       qcom,wave-shape = "sine";
+       qcom,brake-pattern = [03 02 00 00];
+
+       status = "okay";
+};
+
+&pm8998_vadc {
+       chan@83 {
+               label = "vph_pwr";
+               reg = <0x83>;
+               qcom,decimation = <2>;
+               qcom,pre-div-channel-scaling = <1>;
+               qcom,calibration-type = "absolute";
+               qcom,scale-function = <0>;
+               qcom,hw-settle-time = <0>;
+               qcom,fast-avg-setup = <0>;
+       };
+
+       chan@85 {
+               label = "vcoin";
+               reg = <0x85>;
+               qcom,decimation = <2>;
+               qcom,pre-div-channel-scaling = <1>;
+               qcom,calibration-type = "absolute";
+               qcom,scale-function = <0>;
+               qcom,hw-settle-time = <0>;
+               qcom,fast-avg-setup = <0>;
+       };
+
+       chan@4c {
+               label = "xo_therm";
+               reg = <0x4c>;
+               qcom,decimation = <2>;
+               qcom,pre-div-channel-scaling = <0>;
+               qcom,calibration-type = "ratiometric";
+               qcom,scale-function = <4>;
+               qcom,hw-settle-time = <2>;
+               qcom,fast-avg-setup = <0>;
+       };
+
+       chan@4d {
+               label = "msm_therm";
+               reg = <0x4d>;
+               qcom,decimation = <2>;
+               qcom,pre-div-channel-scaling = <0>;
+               qcom,calibration-type = "ratiometric";
+               qcom,scale-function = <2>;
+               qcom,hw-settle-time = <2>;
+               qcom,fast-avg-setup = <0>;
+       };
+
+       chan@4e {
+               label = "emmc_therm";
+               reg = <0x4e>;
+               qcom,decimation = <2>;
+               qcom,pre-div-channel-scaling = <0>;
+               qcom,calibration-type = "ratiometric";
+               qcom,scale-function = <2>;
+               qcom,hw-settle-time = <2>;
+               qcom,fast-avg-setup = <0>;
+       };
+
+       chan@4f {
+               label = "pa_therm0";
+               reg = <0x4f>;
+               qcom,decimation = <2>;
+               qcom,pre-div-channel-scaling = <0>;
+               qcom,calibration-type = "ratiometric";
+               qcom,scale-function = <2>;
+               qcom,hw-settle-time = <2>;
+               qcom,fast-avg-setup = <0>;
+       };
+
+       chan@50 {
+               label = "pa_therm1";
+               reg = <0x50>;
+               qcom,decimation = <2>;
+               qcom,pre-div-channel-scaling = <0>;
+               qcom,calibration-type = "ratiometric";
+               qcom,scale-function = <2>;
+               qcom,hw-settle-time = <2>;
+               qcom,fast-avg-setup = <0>;
+       };
+
+       chan@51 {
+               label = "quiet_therm";
+               reg = <0x51>;
+               qcom,decimation = <2>;
+               qcom,pre-div-channel-scaling = <0>;
+               qcom,calibration-type = "ratiometric";
+               qcom,scale-function = <2>;
+               qcom,hw-settle-time = <2>;
+               qcom,fast-avg-setup = <0>;
+       };
+};
+
+&pm8998_adc_tm {
+       chan@83 {
+               label = "vph_pwr";
+               reg = <0x83>;
+               qcom,pre-div-channel-scaling = <1>;
+               qcom,calibration-type = "absolute";
+               qcom,scale-function = <0>;
+               qcom,hw-settle-time = <0>;
+               qcom,btm-channel-number = <0x60>;
+       };
+
+       chan@4d {
+               label = "msm_therm";
+               reg = <0x4d>;
+               qcom,pre-div-channel-scaling = <0>;
+               qcom,calibration-type = "ratiometric";
+               qcom,scale-function = <2>;
+               qcom,hw-settle-time = <2>;
+               qcom,btm-channel-number = <0x68>;
+               qcom,thermal-node;
+       };
+
+       chan@4e {
+               label = "emmc_therm";
+               reg = <0x4e>;
+               qcom,pre-div-channel-scaling = <0>;
+               qcom,calibration-type = "ratiometric";
+               qcom,scale-function = <2>;
+               qcom,hw-settle-time = <2>;
+               qcom,btm-channel-number = <0x80>;
+               qcom,thermal-node;
+       };
+
+       chan@4f {
+               label = "pa_therm0";
+               reg = <0x4f>;
+               qcom,pre-div-channel-scaling = <0>;
+               qcom,calibration-type = "ratiometric";
+               qcom,scale-function = <2>;
+               qcom,hw-settle-time = <2>;
+               qcom,btm-channel-number = <0x88>;
+               qcom,thermal-node;
+       };
+
+       chan@50 {
+               label = "pa_therm1";
+               reg = <0x50>;
+               qcom,pre-div-channel-scaling = <0>;
+               qcom,calibration-type = "ratiometric";
+               qcom,scale-function = <2>;
+               qcom,hw-settle-time = <2>;
+               qcom,btm-channel-number = <0x90>;
+               qcom,thermal-node;
+       };
+
+       chan@51 {
+               label = "quiet_therm";
+               reg = <0x51>;
+               qcom,pre-div-channel-scaling = <0>;
+               qcom,calibration-type = "ratiometric";
+               qcom,scale-function = <2>;
+               qcom,hw-settle-time = <2>;
+               qcom,btm-channel-number = <0x70>;
+               qcom,thermal-node;
+       };
+
+       chan@4c {
+               label = "xo_therm";
+               reg = <0x4c>;
+               qcom,pre-div-channel-scaling = <0>;
+               qcom,calibration-type = "ratiometric";
+               qcom,scale-function = <4>;
+               qcom,hw-settle-time = <2>;
+               qcom,btm-channel-number = <0x78>;
+               qcom,thermal-node;
+       };
+};
+
+&wil6210 {
+       status = "ok";
+};
+
+&slim_aud {
+       tasha_codec {
+               qcom,cdc-micbias1-mv = <2750>;
+               qcom,cdc-micbias2-mv = <1800>;
+               qcom,cdc-micbias3-mv = <1800>;
+               qcom,cdc-micbias4-mv = <2750>;
+       };
+};
+
+&i2c_10 { /* BLSP2 QUP4 (Speaker Smart PA)*/
+       status = "okay";
+
+       tas2559@4c{
+               compatible = "ti,tas2559";
+               reg = <0x4c>;
+
+               ti,tas2559-reset-gpio = <&tlmm 41 0>;
+               ti,tas2559-irq-gpio = <&tlmm 42 0>;
+               ti,tas2560-irq-gpio = <&tlmm 11 0>;
+               ti,tas2559-addr = <0x4c>;
+               ti,tas2560-addr = <0x4d>;
+               ti,tas2559-channel = <0>; /* 0, left; 1, right */
+               ti,tas2560-channel = <1>; /* 0, left; 1, right */
+               ti,ycrc-enable = <1>;     /* 0, disable; non-zero, enable */
+               ti,echo-ref = <0>;        /* 0, left channel; 1, right channel; 2, both */
+               ti,bit-rate = <16>;       /* 16, 20, 24, 32 */
+
+               status = "ok";
+       };
+};
+
+&soc {
+       sound-tavil {
+               status = "disabled";
+       };
+
+       sound-9335 {
+               qcom,audio-routing =
+                       "AIF4 VI", "MCLK",
+                       "RX_BIAS", "MCLK",
+                       "MADINPUT", "MCLK",
+                       "AMIC1", "MIC BIAS4",
+                       "MIC BIAS4", "Handset Mic",
+                       "AMIC2", "MIC BIAS2",
+                       "MIC BIAS2", "Headset Mic",
+                       "AMIC3", "MIC BIAS4",
+                       "MIC BIAS4", "ANCRight Headset Mic",
+                       "AMIC4", "MIC BIAS1",
+                       "MIC BIAS1", "ANCLeft Headset Mic",
+                       "AMIC5", "MIC BIAS1",
+                       "MIC BIAS1", "Handset Mic",
+                       "AMIC6", "MIC BIAS4",
+                       "MIC BIAS4", "Analog Mic6";
+
+               qcom,wsa-max-devs = <0>;
+               qcom,msm-mbhc-hphl-swh = <1>;
+
+               qcom,asel-gpio = <&tlmm 91 0x00>;
+               qcom,asel-p1-gpio = <&tlmm 34 0x00>;
+               qcom,us-euro-switch-en-gpio = <&wcd_us_euro_gpio>;
+       };
+
+       vreg_pa_p_5p0: vreg_pa_p_5p0 {
+               compatible = "regulator-fixed";
+               regulator-name = "vreg_pa_p_5p0";
+               startup-delay-us=<2000>;
+               gpio = <&tlmm 24 0>;
+               enable-active-high;
+       };
+
+       vreg_pa_n_5p0: vreg_pa_n_5p0 {
+               compatible = "regulator-fixed";
+               regulator-name = "vreg_pa_n_5p0";
+               startup-delay-us=<4000>;
+               gpio = <&tlmm 23 0>;
+               enable-active-high;
+       };
+
+       gpio_keys {
+               compatible = "gpio-keys";
+               input-name = "gpio-keys";
+
+               status = "okay";
+
+               vol_up {
+                       label = "volume_up";
+                       gpios = <&pm8998_gpios 6 0x1>;
+                       linux,input-type = <1>;
+                       linux,code = <115>;
+                       gpio-key,wakeup;
+                       debounce-interval = <15>;
+               };
+
+               hall_key0 {
+                       label = "hall_key0";
+                       gpios = <&tlmm 124 0x01>;
+                       linux,input-type = <5>;
+                       linux,code = <0>;
+                       gpio-key,wakeup;
+                       debounce-interval = <15>;
+               };
+       };
+
+       qcom,msm-dai-mi2s {
+               dai_mi2s3: qcom,msm-dai-q6-mi2s-quat {
+                       qcom,msm-mi2s-rx-lines = <1>;
+                       qcom,msm-mi2s-tx-lines = <2>;
+                       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>;
+               };
+       };
+
+       fingerprint_fpc {
+               compatible = "fpc,fpc1020";
+
+               interrupt-parent = <&tlmm>;
+               interrupts = <121 0x0>;
+
+               vdd_ana-supply  = <&fp_d5_vdd_vreg>;
+
+               pinctrl-names = "fpc1020_reset_reset",
+                       "fpc1020_reset_active",
+                       "fpc1020_irq_active";
+
+               pinctrl-0 = <&msm_gpio_78>;
+               pinctrl-1 = <&msm_gpio_78_output_high>;
+               pinctrl-2 = <&msm_gpio_121>;
+
+               fpc,gpio_rst    = <&tlmm 78 0x0>;
+               fpc,gpio_irq    = <&tlmm 121 0x0>;
+
+               status = "ok";
+       };
+
+       fingerprint_goodix {
+               compatible = "goodix,fingerprint";
+
+               pinctrl-names = "pmx_fp_active", "pmx_fp_suspend";
+               pinctrl-0 = <&fp_active>;
+               pinctrl-1 = <&fp_suspend>;
+
+               clock-names = "iface_clk", "core_clk";
+               clocks = <&clock_gcc clk_gcc_blsp2_ahb_clk>,
+                        <&clock_gcc clk_gcc_blsp2_qup6_spi_apps_clk>;
+
+               fp-gpio-reset = <&tlmm 78 0>;
+               fp-gpio-irq = <&tlmm 121 0>;
+
+               status = "ok";
+       };
+};
+
+&pcie0 {
+       status = "disabled";
+};
+
+&fp_d5_vdd_vreg {
+       regulator-always-on;
+};
+
+&pmi8998_wled {
+       qcom,led-strings-list = [00 01 02 03];
+       qcom,fs-curr-ua = <20000>;
+       qcom,en-cabc;
+       qcom,ovp-mv = <19600>;
+};
+
+&red_led { /* Notification LED */
+       qcom,use-blink;
+       linux,name = "white";
+};
+
+&blue_led { /* Left button backlight */
+       linux,name = "button-backlight";
+};
+
+&green_led { /* Right button backlight */
+       linux,name = "button-backlight1";
+};
+
+&pmi8998_charger {
+       qcom,usb-icl-ua = <3000000>;
+       qcom,fcc-max-ua = <3300000>;
+       qcom,fcc-low-temp-delta = <2975000>;
+       qcom,fcc-hot-temp-delta = <1650000>;
+       qcom,fcc-cool-temp-delta = <2325000>;
+       qcom,auto-recharge-soc;
+
+       qcom,thermal-mitigation
+                               = <1800000 1600000 1400000 1200000 1000000 1000000 1000000>;
+       qcom,thermal-mitigation-dcp
+                               = <1800000 1600000 1400000 1200000 1000000 1000000 1000000>;
+       qcom,thermal-mitigation-qc3
+                               = <3000000 2425000 2125000 1825000 1525000 1225000 750000>;
+       qcom,thermal-mitigation-qc2
+                               = <1600000 1400000 1200000 1000000 900000 900000 550000>;
+};
+
+&pmi8998_fg {
+       qcom,fg-force-load-profile;
+       qcom,fg-sys-term-current = <(-300)>;
+       qcom,fg-chg-term-current = <200>;
+       qcom,fg-auto-recharge-soc;
+       qcom,fg-recharge-soc-thr = <99>;
+       qcom,fg-cutoff-voltage = <3400>;
+       qcom,fg-empty-voltage = <3100>;
+       qcom,fg-jeita-hyst-temp = <0>;
+       qcom,fg-jeita-thresholds = <0 15 45 60>;
+       qcom,fg-esr-clamp-mohms = <60>;
+       qcom,fg-batt-temp-delta = <6>;
+};
+
+/{
+       mtp_batterydata: qcom,battery-data {
+               qcom,batt-id-range-pct = <15>;
+               #include "batterydata-chiron-atl-3400mAh.dtsi"
+               #include "batterydata-chiron-cos-3400mAh.dtsi"
+               #include "batterydata-itech-3020mAh.dtsi"
+       };
+};
+
+&qusb_phy0 {
+       qcom,qusb-phy-init-seq =
+                       /* <value reg_offset> */
+                       <0x80 0x0
+                       0x13 0x04
+                       0x7c 0x18c
+                       0x80 0x2c
+                       0x0a 0x184
+                       0xf0 0x23c
+                       0x0f 0x240>;
+};
diff --git a/arch/arm/boot/dts/qcom/xiaomi/dsi-panel-ebbg-fhd-ft8716-video.dtsi b/arch/arm/boot/dts/qcom/xiaomi/dsi-panel-ebbg-fhd-ft8716-video.dtsi
new file mode 100644 (file)
index 0000000..1a26226
--- /dev/null
@@ -0,0 +1,116 @@
+/* Copyright (c) 2015, The Linux Foundation. All rights reserved.
+ * Copyright (C) 2018 XiaoMi, Inc.
+ *
+ * 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.
+ */
+
+/*---------------------------------------------------------------------------
+ * This file is autogenerated file using gcdb parser. Please do not edit it.
+ * Update input XML file to add a new entry or update variable in this file
+ * VERSION = "1.0"
+ *---------------------------------------------------------------------------*/
+&soc {
+       dsi_ebbg_fhd_ft8716_video: qcom,mdss_dsi_ebbg_fhd_ft8716_video {
+               qcom,mdss-dsi-panel-name = "ebbg fhd video dsi panel";
+               qcom,mdss-dsi-panel-id = <0>;
+               qcom,mdss-dsi-panel-model = "EBBG FHD FT8716 VIDEO PANEL";
+               qcom,mdss-dsi-panel-sleepwrmod = <0>;
+               qcom,mdss-dsi-panel-type = "dsi_video_mode";
+               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 = <2160>;
+               qcom,mdss-dsi-h-front-porch = <32>;
+               qcom,mdss-dsi-h-back-porch = <32>;
+               qcom,mdss-dsi-h-pulse-width = <2>;
+               qcom,mdss-dsi-h-sync-skew = <0>;
+               qcom,mdss-dsi-v-back-porch = <26>;
+               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 = <0x0>;
+               qcom,mdss-dsi-border-color = <0>;
+               qcom,mdss-dsi-on-command = [
+                       15 00 00 00 00 00 02 00 00
+                       29 00 00 00 00 00 04 FF 87 16 01
+                       15 00 00 00 00 00 02 00 80
+                       29 01 00 00 00 00 03 FF 87 16
+                       15 00 00 00 00 00 02 00 B3
+                       15 00 00 00 00 00 02 CA 8C
+                       15 00 00 00 00 00 02 00 00
+                       29 00 00 00 00 00 04 FF 00 00 00
+                       15 00 00 00 00 00 02 00 80
+                       29 01 00 00 00 00 03 FF 00 00
+                       15 00 00 00 00 00 02 00 00
+                       29 00 00 00 00 00 05 2A 00 00 04 37
+                       15 00 00 00 00 00 02 00 00
+                       29 01 00 00 00 00 05 2B 00 00 08 6F
+                       15 00 00 00 00 00 02 51 FF
+                       15 00 00 00 00 00 02 53 24
+                       15 00 00 00 00 00 02 55 00
+                       05 01 00 00 96 00 02 11 00
+                       05 01 00 00 00 00 02 29 00
+                       05 01 00 00 00 00 02 35 00
+                       ];
+               qcom,mdss-dsi-off-command = [
+                               05 01 00 00 0A 00 02 28 00
+                               05 01 00 00 96 00 02 10 00];
+               qcom,mdss-dsi-on-command-state = "dsi_lp_mode";
+               qcom,mdss-dsi-off-command-state = "dsi_hs_mode";
+               qcom,mdss-dsi-h-sync-pulse = <1>;
+               qcom,mdss-dsi-traffic-mode = "burst_mode";
+               qcom,mdss-dsi-bllp-eof-power-mode;
+               qcom,mdss-dsi-bllp-power-mode;
+               qcom,mdss-dsi-lp11-init;
+               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 = [00 1b 06 06 0b 10 06 07 05 03 04 00];
+               qcom,mdss-dsi-t-clk-post = <0x07>;
+               qcom,mdss-dsi-t-clk-pre = <0x2A>;
+               qcom,mdss-dsi-bl-min-level = <1>;
+               qcom,mdss-dsi-bl-max-level = <4095>;
+               qcom,mdss-brightness-max-level = <4095>;
+               qcom,mdss-dsi-dma-trigger = "trigger_sw";
+               qcom,mdss-dsi-mdp-trigger = "none";
+               qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled";
+               qcom,mdss-dsi-reset-sequence =<0 10>, <1 10>;
+               qcom,mdss-pan-physical-width-dimension = <64>;
+               qcom,mdss-pan-physical-height-dimension = <114>;
+               qcom,cont-splash-enabled;
+               qcom,mdss-dsi-tx-eot-append;
+               qcom,mdss-panel-on-dimming-delay = <120>;
+               qcom,dispparam-enabled;
+               qcom,mdss-night-brightness = <7 25 43 61>;
+               qcom,mdss-dsi-dispparam-cabcon-command = [15 01 00 00 00 00 02 55 02];
+               qcom,mdss-dsi-dispparam-cabcguion-command = [15 01 00 00 01 00 02 55 01];
+               qcom,mdss-dsi-dispparam-cabcstillon-command = [15 01 00 00 01 00 02 55 02];
+               qcom,mdss-dsi-dispparam-cabcmovieon-command = [15 01 00 00 01 00 02 55 03];
+               qcom,mdss-dsi-dispparam-cabcoff-command = [
+                               39 01 00 00 01 00 02 55 00
+               ];
+               qcom,mdss-dsi-dispparam-dimmingon-command = [
+                               39 01 00 00 01 00 02 53 2C
+               ];
+               qcom,mdss-dsi-dispparam-idleon-command = [
+                               39 01 00 00 01 00 02 39 00
+               ];
+               qcom,mdss-dsi-dispparam-idleoff-command = [
+                               39 01 00 00 01 00 02 38 00
+               ];
+       };
+};
diff --git a/arch/arm/boot/dts/qcom/xiaomi/dsi-panel-jdi-fhd-nt35596s-pro-video.dtsi b/arch/arm/boot/dts/qcom/xiaomi/dsi-panel-jdi-fhd-nt35596s-pro-video.dtsi
new file mode 100644 (file)
index 0000000..ad21e07
--- /dev/null
@@ -0,0 +1,686 @@
+/* Copyright (c) 2015, The Linux Foundation. All rights reserved.
+ * Copyright (C) 2017 XiaoMi, Inc.
+ *
+ * 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.
+ */
+
+/*---------------------------------------------------------------------------
+ * This file is autogenerated file using gcdb parser. Please do not edit it.
+ * Update input XML file to add a new entry or update variable in this file
+ * VERSION = "1.0"
+ *---------------------------------------------------------------------------*/
+&soc {
+       dsi_jdi_fhd_nt35596s_pro_video: qcom,mdss_dsi_jdi_fhd_nt35596s_pro_video {
+               qcom,mdss-dsi-panel-name = "jdi fhd video dsi panel";
+               qcom,mdss-dsi-panel-id = <0>;
+               qcom,mdss-dsi-panel-model = "JDI FHD NT35596S VIDEO PANEL";
+               qcom,mdss-dsi-panel-sleepwrmod = <0>;
+               qcom,mdss-dsi-panel-type = "dsi_video_mode";
+               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 = <2160>;
+               qcom,mdss-dsi-h-front-porch = <12>;
+               qcom,mdss-dsi-h-back-porch = <40>;
+               qcom,mdss-dsi-h-pulse-width = <24>;
+               qcom,mdss-dsi-h-sync-skew = <0>;
+               qcom,mdss-dsi-v-back-porch = <24>;
+               qcom,mdss-dsi-v-front-porch = <6>;
+               qcom,mdss-dsi-v-pulse-width = <4>;
+               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 = <0x0>;
+               qcom,mdss-dsi-border-color = <0>;
+               qcom,mdss-dsi-on-command = [
+                               15 01 00 00 00 00 02 FF 24
+                               15 00 00 00 00 00 02 9D 34
+                               15 00 00 00 00 00 02 FB 01
+                               15 00 00 00 00 00 02 C4 25
+                               15 00 00 00 00 00 02 D1 08
+                               15 00 00 00 00 00 02 D2 84
+                               15 01 00 00 00 00 02 FF 26
+                               15 00 00 00 00 00 02 FB 01
+                               15 00 00 00 00 00 02 03 1C
+                               15 00 00 00 00 00 02 3B 08
+                               15 00 00 00 00 00 02 6B 08
+                               15 00 00 00 00 00 02 97 08
+                               15 00 00 00 00 00 02 C5 08
+                               15 00 00 00 00 00 02 FB 01
+                               15 01 00 00 00 00 02 FF 23
+                               15 00 00 00 00 00 02 FB 01
+                               15 00 00 00 00 00 02 01 84
+                               15 00 00 00 00 00 02 05 2D
+                               15 00 00 00 00 00 02 06 00
+                               15 00 00 00 00 00 02 33 07
+                               15 00 00 00 00 00 02 21 EE
+                               15 00 00 00 00 00 02 22 ED
+                               15 00 00 00 00 00 02 23 EA
+                               15 00 00 00 00 00 02 24 E8
+                               15 00 00 00 00 00 02 25 E5
+                               15 00 00 00 00 00 02 26 E2
+                               15 00 00 00 00 00 02 27 DE
+                               15 00 00 00 00 00 02 28 BB
+                               15 00 00 00 00 00 02 29 87
+                               15 00 00 00 00 00 02 2A 77
+                               15 01 00 00 00 00 02 32 0C
+                               15 00 00 00 00 00 02 13 3F
+                               15 00 00 00 00 00 02 14 34
+                               15 00 00 00 00 00 02 15 2A
+                               15 00 00 00 00 00 02 16 25
+                               15 00 00 00 00 00 02 17 9D
+                               15 00 00 00 00 00 02 18 9A
+                               15 00 00 00 00 00 02 19 97
+                               15 00 00 00 00 00 02 1A 94
+                               15 00 00 00 00 00 02 1B 91
+                               15 00 00 00 00 00 02 1C 8E
+                               15 00 00 00 00 00 02 1D 8B
+                               15 00 00 00 00 00 02 1E 89
+                               15 00 00 00 00 00 02 1F 86
+                               15 00 00 00 00 00 02 20 83
+                               15 01 00 00 00 00 02 FF 22
+                               15 00 00 00 00 00 02 00 0A
+                               15 00 00 00 00 00 02 01 43
+                               15 00 00 00 00 00 02 02 5B
+                               15 00 00 00 00 00 02 03 6A
+                               15 00 00 00 00 00 02 04 7A
+                               15 00 00 00 00 00 02 05 82
+                               15 00 00 00 00 00 02 06 85
+                               15 00 00 00 00 00 02 07 80
+                               15 00 00 00 00 00 02 08 7C
+                               15 00 00 00 00 00 02 09 7C
+                               15 00 00 00 00 00 02 0A 74
+                               15 00 00 00 00 00 02 0B 71
+                               15 00 00 00 00 00 02 0C 6E
+                               15 00 00 00 00 00 02 0D 68
+                               15 00 00 00 00 00 02 0E 65
+                               15 01 00 00 00 00 02 0F 5C
+                               15 00 00 00 00 00 02 10 32
+                               15 00 00 00 00 00 02 11 18
+                               15 00 00 00 00 00 02 12 00
+                               15 00 00 00 00 00 02 13 00
+                               15 00 00 00 00 00 02 1A 00
+                               15 00 00 00 00 00 02 1B 00
+                               15 00 00 00 00 00 02 1C 00
+                               15 00 00 00 00 00 02 1D 00
+                               15 00 00 00 00 00 02 1E 00
+                               15 00 00 00 00 00 02 1F 00
+                               15 00 00 00 00 00 02 20 00
+                               15 00 00 00 00 00 02 21 00
+                               15 00 00 00 00 00 02 22 00
+                               15 00 00 00 00 00 02 23 00
+                               15 00 00 00 00 00 02 24 00
+                               15 01 00 00 00 00 02 25 00
+                               15 00 00 00 00 00 02 26 00
+                               15 00 00 00 00 00 02 27 00
+                               15 00 00 00 00 00 02 28 00
+                               15 00 00 00 00 00 02 29 00
+                               15 00 00 00 00 00 02 2A 00
+                               15 00 00 00 00 00 02 2B 00
+                               15 00 00 00 00 00 02 2F 00
+                               15 00 00 00 00 00 02 30 00
+                               15 00 00 00 00 00 02 31 00
+                               15 00 00 00 00 00 02 32 0C
+                               15 00 00 00 00 00 02 33 0C
+                               15 00 00 00 00 00 02 34 0C
+                               15 00 00 00 00 00 02 35 0B
+                               15 00 00 00 00 00 02 36 09
+                               15 00 00 00 00 00 02 37 09
+                               15 01 00 00 00 00 02 38 08
+                               15 00 00 00 00 00 02 39 05
+                               15 00 00 00 00 00 02 3A 03
+                               15 00 00 00 00 00 02 3B 00
+                               15 00 00 00 00 00 02 3F 00
+                               15 00 00 00 00 00 02 40 00
+                               15 00 00 00 00 00 02 41 00
+                               15 00 00 00 00 00 02 42 00
+                               15 00 00 00 00 00 02 43 00
+                               15 00 00 00 00 00 02 44 00
+                               15 00 00 00 00 00 02 45 00
+                               15 00 00 00 00 00 02 46 00
+                               15 00 00 00 00 00 02 47 00
+                               15 00 00 00 00 00 02 48 00
+                               15 00 00 00 00 00 02 49 03
+                               15 00 00 00 00 00 02 4A 06
+                               15 01 00 00 00 00 02 4B 07
+                               15 00 00 00 00 00 02 4C 07
+                               15 00 00 00 00 00 02 4D 00
+                               15 00 00 00 00 00 02 4E 00
+                               15 00 00 00 00 00 02 4F 00
+                               15 00 00 00 00 00 02 50 00
+                               15 00 00 00 00 00 02 51 00
+                               15 00 00 00 00 00 02 52 00
+                               15 00 00 00 00 00 02 53 01
+                               15 00 00 00 00 00 02 54 01
+                               15 00 00 00 00 00 02 55 89
+                               15 00 00 00 00 00 02 56 00
+                               15 00 00 00 00 00 02 58 00
+                               15 00 00 00 00 00 02 68 00
+                               15 00 00 00 00 00 02 84 FF
+                               15 00 00 00 00 00 02 85 FF
+                               15 01 00 00 00 00 02 86 03
+                               15 00 00 00 00 00 02 87 00
+                               15 00 00 00 00 00 02 88 00
+                               15 00 00 00 00 00 02 A2 20
+                               15 00 00 00 00 00 02 A9 01
+                               15 00 00 00 00 00 02 AA 12
+                               15 00 00 00 00 00 02 AB 13
+                               15 00 00 00 00 00 02 AC 0A
+                               15 00 00 00 00 00 02 AD 74
+                               15 00 00 00 00 00 02 AF 33
+                               15 00 00 00 00 00 02 B0 03
+                               15 00 00 00 00 00 02 B1 14
+                               15 00 00 00 00 00 02 B2 42
+                               15 00 00 00 00 00 02 B3 40
+                               15 00 00 00 00 00 02 B4 A5
+                               15 01 00 00 00 00 02 B6 44
+                               15 00 00 00 00 00 02 B7 04
+                               15 00 00 00 00 00 02 B8 14
+                               15 00 00 00 00 00 02 B9 42
+                               15 00 00 00 00 00 02 BA 40
+                               15 00 00 00 00 00 02 BB A5
+                               15 00 00 00 00 00 02 BD 44
+                               15 00 00 00 00 00 02 BE 04
+                               15 00 00 00 00 00 02 BF 00
+                               15 00 00 00 00 00 02 C0 75
+                               15 00 00 00 00 00 02 C1 6A
+                               15 00 00 00 00 00 02 C2 A5
+                               15 00 00 00 00 00 02 C4 22
+                               15 00 00 00 00 00 02 C5 02
+                               15 00 00 00 00 00 02 C6 00
+                               15 01 00 00 00 00 02 C7 95
+                               15 00 00 00 00 00 02 C8 8A
+                               15 00 00 00 00 00 02 C9 A5
+                               15 00 00 00 00 00 02 CB 22
+                               15 00 00 00 00 00 02 CC 02
+                               15 00 00 00 00 00 02 CD 00
+                               15 00 00 00 00 00 02 CE B5
+                               15 00 00 00 00 00 02 CF AA
+                               15 00 00 00 00 00 02 D0 A5
+                               15 00 00 00 00 00 02 D2 22
+                               15 00 00 00 00 00 02 D3 02
+                               15 01 00 00 00 00 02 FB 01
+                               15 01 00 00 00 00 02 FF 10
+                               15 01 00 00 00 00 02 26 02
+                               15 00 00 00 00 00 02 35 00
+                               15 00 00 00 00 00 02 51 FF
+                               15 00 00 00 00 00 02 53 24
+                               15 00 00 00 00 00 02 55 00
+                               15 01 00 00 00 00 02 B0 00
+                               05 01 00 00 50 00 02 11 00
+                               05 01 00 00 14 00 02 29 00
+               ];
+               qcom,mdss-dsi-off-command = [
+                               05 01 00 00 00 00 02 28 00
+                               05 01 00 00 46 00 02 10 00];
+               qcom,mdss-dsi-displayoff-command = [05 01 00 00 14 00 02 28 00];
+               qcom,mdss-dsi-displayon-command = [05 01 00 00 14 00 02 29 00];
+               qcom,mdss-dsi-on-command-state = "dsi_lp_mode";
+               qcom,mdss-dsi-off-command-state = "dsi_hs_mode";
+               qcom,mdss-dsi-displayoff-command-state = "dsi_hs_mode";
+               qcom,mdss-dsi-displayon-command-state = "dsi_hs_mode";
+               qcom,mdss-dsi-h-sync-pulse = <1>;
+               qcom,mdss-dsi-traffic-mode = "burst_mode";
+               qcom,mdss-dsi-bllp-eof-power-mode;
+               qcom,mdss-dsi-bllp-power-mode;
+               qcom,mdss-dsi-lp11-init;
+               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 = [e3 50 36 00 a9 a3 3a 50 3d 03 04 00];
+               qcom,mdss-dsi-t-clk-post = <0x20>;
+               qcom,mdss-dsi-t-clk-pre = <0x36>;
+               qcom,mdss-dsi-bl-min-level = <1>;
+               qcom,mdss-dsi-bl-max-level = <4095>;
+               qcom,mdss-brightness-max-level = <4095>;
+               qcom,mdss-dsi-dma-trigger = "trigger_sw";
+               qcom,mdss-dsi-mdp-trigger = "none";
+               qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled";
+               qcom,mdss-dsi-reset-sequence =<0 10>, <1 10>;
+               qcom,mdss-pan-physical-width-dimension = <68>;
+               qcom,mdss-pan-physical-height-dimension = <136>;
+               qcom,cont-splash-enabled;
+               qcom,mdss-dsi-tx-eot-append;
+               qcom,mdss-panel-on-dimming-delay = <120>;
+               qcom,esd-err-irq-gpio = <&tlmm 52 0x2001>;
+               qcom,esd-panel-onoff-tpg;
+               qcom,mdss-dsi-min-refresh-rate = <55>;
+               qcom,mdss-dsi-max-refresh-rate = <60>;
+               qcom,mdss-dsi-pan-enable-dynamic-fps;
+               qcom,mdss-dsi-pan-fps-update = "dfps_immediate_porch_mode_vfp";
+               qcom,dispccbb-enabled;
+               qcom,dispblnotify-enabled;
+               qcom,dispparam-enabled;
+               qcom,disp-paneloff-disablecabc-enabled;
+               qcom,mdss-night-brightness = <7 25 43 61>;
+               qcom,mdss-dsi-panel-xy-coordinate = <0xA1 0x0F 0x18>;
+               qcom,mdss-dsi-dispparam-skin-ce-command = [
+                               15 01 00 00 00 00 02 55 83
+               ];
+               qcom,mdss-dsi-dispparam-skin-ce-command-state = "dsi_hs_mode";
+               qcom,mdss-dsi-dispparam-cabcon-command = [
+                               15 01 00 00 00 00 02 55 03
+               ];
+               qcom,mdss-dsi-dispparam-cabcon-command-state = "dsi_hs_mode";
+               qcom,mdss-dsi-dispparam-cabcguion-command = [
+                               15 01 00 00 00 00 02 55 03
+               ];
+               qcom,mdss-dsi-dispparam-cabcguion-command-state = "dsi_hs_mode";
+               qcom,mdss-dsi-dispparam-cabcstillon-command = [
+                               15 00 00 00 00 00 02 55 01
+                               15 01 00 00 00 00 03 68 01 01
+               ];
+               qcom,mdss-dsi-dispparam-cabcstillon-command-state = "dsi_hs_mode";
+               qcom,mdss-dsi-dispparam-cabcmovieon-command = [
+                               15 01 00 00 00 00 02 55 02
+               ];
+               qcom,mdss-dsi-dispparam-cabcmovieon-command-state = "dsi_hs_mode";
+               qcom,mdss-dsi-dispparam-cabcoff-command = [
+                               39 01 00 00 01 00 02 55 00
+               ];
+               qcom,mdss-dsi-dispparam-dimmingon-command = [
+                               39 01 00 00 01 00 02 53 2C
+               ];
+               qcom,mdss-dsi-dispparam-idleon-command = [
+                               39 01 00 00 01 00 02 39 00
+               ];
+               qcom,mdss-dsi-dispparam-idleoff-command = [
+                               39 01 00 00 01 00 02 38 00
+               ];
+               qcom,mdss-dsi-dispparam-papermode2-command = [
+                               15 01 00 00 00 00 02 FF 10
+                               15 01 00 00 10 00 02 26 01
+                               15 01 00 00 00 00 02 FF 20
+                               15 00 00 00 00 00 02 75 00
+                               15 00 00 00 00 00 02 76 00
+                               15 00 00 00 00 00 02 77 00
+                               15 00 00 00 00 00 02 78 27
+                               15 00 00 00 00 00 02 79 00
+                               15 00 00 00 00 00 02 7A 67
+                               15 00 00 00 00 00 02 7B 00
+                               15 00 00 00 00 00 02 7C 94
+                               15 00 00 00 00 00 02 7D 00
+                               15 00 00 00 00 00 02 7E B8
+                               15 00 00 00 00 00 02 7F 00
+                               15 00 00 00 00 00 02 80 D4
+                               15 00 00 00 00 00 02 81 00
+                               15 00 00 00 00 00 02 82 EA
+                               15 00 00 00 00 00 02 83 00
+                               15 00 00 00 00 00 02 84 FC
+                               15 00 00 00 00 00 02 85 01
+                               15 00 00 00 00 00 02 86 0F
+                               15 00 00 00 00 00 02 87 01
+                               15 00 00 00 00 00 02 88 46
+                               15 00 00 00 00 00 02 89 01
+                               15 00 00 00 00 00 02 8A 70
+                               15 00 00 00 00 00 02 8B 01
+                               15 00 00 00 00 00 02 8C AD
+                               15 00 00 00 00 00 02 8D 01
+                               15 00 00 00 00 00 02 8E DA
+                               15 00 00 00 00 00 02 8F 02
+                               15 00 00 00 00 00 02 90 1D
+                               15 00 00 00 00 00 02 91 02
+                               15 00 00 00 00 00 02 92 50
+                               15 00 00 00 00 00 02 93 02
+                               15 00 00 00 00 00 02 94 52
+                               15 00 00 00 00 00 02 95 02
+                               15 00 00 00 00 00 02 96 83
+                               15 00 00 00 00 00 02 97 02
+                               15 00 00 00 00 00 02 98 BA
+                               15 00 00 00 00 00 02 99 02
+                               15 00 00 00 00 00 02 9A DE
+                               15 00 00 00 00 00 02 9B 03
+                               15 00 00 00 00 00 02 9C 12
+                               15 00 00 00 00 00 02 9D 03
+                               15 00 00 00 00 00 02 9E 2E
+                               15 00 00 00 00 00 02 9F 03
+                               15 00 00 00 00 00 02 A0 54
+                               15 00 00 00 00 00 02 A2 03
+                               15 00 00 00 00 00 02 A3 61
+                               15 00 00 00 00 00 02 A4 03
+                               15 00 00 00 00 00 02 A5 6F
+                               15 00 00 00 00 00 02 A6 03
+                               15 00 00 00 00 00 02 A7 7E
+                               15 00 00 00 00 00 02 A9 03
+                               15 00 00 00 00 00 02 AA 90
+                               15 00 00 00 00 00 02 AB 03
+                               15 00 00 00 00 00 02 AC A7
+                               15 00 00 00 00 00 02 AD 03
+                               15 00 00 00 00 00 02 AE C2
+                               15 00 00 00 00 00 02 AF 03
+                               15 00 00 00 00 00 02 B0 D5
+                               15 00 00 00 00 00 02 B1 03
+                               15 01 00 00 00 00 02 B2 D8
+                               15 00 00 00 00 00 02 B3 00
+                               15 00 00 00 00 00 02 B4 00
+                               15 00 00 00 00 00 02 B5 00
+                               15 00 00 00 00 00 02 B6 27
+                               15 00 00 00 00 00 02 B7 00
+                               15 00 00 00 00 00 02 B8 67
+                               15 00 00 00 00 00 02 B9 00
+                               15 00 00 00 00 00 02 BA 94
+                               15 00 00 00 00 00 02 BB 00
+                               15 00 00 00 00 00 02 BC B8
+                               15 00 00 00 00 00 02 BD 00
+                               15 00 00 00 00 00 02 BE D4
+                               15 00 00 00 00 00 02 BF 00
+                               15 00 00 00 00 00 02 C0 EA
+                               15 00 00 00 00 00 02 C1 00
+                               15 00 00 00 00 00 02 C2 FC
+                               15 00 00 00 00 00 02 C3 01
+                               15 00 00 00 00 00 02 C4 0F
+                               15 00 00 00 00 00 02 C5 01
+                               15 00 00 00 00 00 02 C6 46
+                               15 00 00 00 00 00 02 C7 01
+                               15 00 00 00 00 00 02 C8 70
+                               15 00 00 00 00 00 02 C9 01
+                               15 00 00 00 00 00 02 CA AD
+                               15 00 00 00 00 00 02 CB 01
+                               15 00 00 00 00 00 02 CC DA
+                               15 00 00 00 00 00 02 CD 02
+                               15 00 00 00 00 00 02 CE 1D
+                               15 00 00 00 00 00 02 CF 02
+                               15 00 00 00 00 00 02 D0 50
+                               15 00 00 00 00 00 02 D1 02
+                               15 00 00 00 00 00 02 D2 52
+                               15 00 00 00 00 00 02 D3 02
+                               15 00 00 00 00 00 02 D4 83
+                               15 00 00 00 00 00 02 D5 02
+                               15 00 00 00 00 00 02 D6 BA
+                               15 00 00 00 00 00 02 D7 02
+                               15 00 00 00 00 00 02 D8 DE
+                               15 00 00 00 00 00 02 D9 03
+                               15 00 00 00 00 00 02 DA 12
+                               15 00 00 00 00 00 02 DB 03
+                               15 00 00 00 00 00 02 DC 2E
+                               15 00 00 00 00 00 02 DD 03
+                               15 00 00 00 00 00 02 DE 54
+                               15 00 00 00 00 00 02 DF 03
+                               15 00 00 00 00 00 02 E0 61
+                               15 00 00 00 00 00 02 E1 03
+                               15 00 00 00 00 00 02 E2 6F
+                               15 00 00 00 00 00 02 E3 03
+                               15 00 00 00 00 00 02 E4 7E
+                               15 00 00 00 00 00 02 E5 03
+                               15 00 00 00 00 00 02 E6 90
+                               15 00 00 00 00 00 02 E7 03
+                               15 00 00 00 00 00 02 E8 A7
+                               15 00 00 00 00 00 02 E9 03
+                               15 00 00 00 00 00 02 EA C2
+                               15 00 00 00 00 00 02 EB 03
+                               15 00 00 00 00 00 02 EC D5
+                               15 00 00 00 00 00 02 ED 03
+                               15 00 00 00 00 00 02 EE D8
+                               15 00 00 00 00 00 02 EF 00
+                               15 00 00 00 00 00 02 F0 BC
+                               15 00 00 00 00 00 02 F1 00
+                               15 00 00 00 00 00 02 F2 CB
+                               15 00 00 00 00 00 02 F3 00
+                               15 00 00 00 00 00 02 F4 E4
+                               15 00 00 00 00 00 02 F5 00
+                               15 00 00 00 00 00 02 F6 F9
+                               15 00 00 00 00 00 02 F7 01
+                               15 00 00 00 00 00 02 F8 0B
+                               15 00 00 00 00 00 02 F9 01
+                               15 00 00 00 00 00 02 FA 1B
+                               15 01 00 00 00 00 02 FF 21
+                               15 00 00 00 00 00 02 00 01
+                               15 00 00 00 00 00 02 01 2A
+                               15 00 00 00 00 00 02 02 01
+                               15 00 00 00 00 00 02 03 38
+                               15 00 00 00 00 00 02 04 01
+                               15 00 00 00 00 00 02 05 44
+                               15 00 00 00 00 00 02 06 01
+                               15 00 00 00 00 00 02 07 6E
+                               15 00 00 00 00 00 02 08 01
+                               15 00 00 00 00 00 02 09 8F
+                               15 00 00 00 00 00 02 0A 01
+                               15 00 00 00 00 00 02 0B C2
+                               15 00 00 00 00 00 02 0C 01
+                               15 00 00 00 00 00 02 0D E9
+                               15 00 00 00 00 00 02 0E 02
+                               15 00 00 00 00 00 02 0F 27
+                               15 00 00 00 00 00 02 10 02
+                               15 00 00 00 00 00 02 11 56
+                               15 00 00 00 00 00 02 12 02
+                               15 00 00 00 00 00 02 13 58
+                               15 00 00 00 00 00 02 14 02
+                               15 00 00 00 00 00 02 15 87
+                               15 00 00 00 00 00 02 16 02
+                               15 00 00 00 00 00 02 17 BD
+                               15 00 00 00 00 00 02 18 02
+                               15 00 00 00 00 00 02 19 E2
+                               15 00 00 00 00 00 02 1A 03
+                               15 00 00 00 00 00 02 1B 14
+                               15 00 00 00 00 00 02 1C 03
+                               15 00 00 00 00 00 02 1D 30
+                               15 00 00 00 00 00 02 1E 03
+                               15 00 00 00 00 00 02 1F 58
+                               15 00 00 00 00 00 02 20 03
+                               15 00 00 00 00 00 02 21 64
+                               15 00 00 00 00 00 02 22 03
+                               15 00 00 00 00 00 02 23 72
+                               15 00 00 00 00 00 02 24 03
+                               15 00 00 00 00 00 02 25 81
+                               15 00 00 00 00 00 02 26 03
+                               15 00 00 00 00 00 02 27 95
+                               15 00 00 00 00 00 02 28 03
+                               15 00 00 00 00 00 02 29 AD
+                               15 00 00 00 00 00 02 2A 03
+                               15 00 00 00 00 00 02 2B C6
+                               15 00 00 00 00 00 02 2D 03
+                               15 00 00 00 00 00 02 2F D6
+                               15 00 00 00 00 00 02 30 03
+                               15 01 00 00 00 00 02 31 D8
+                               15 00 00 00 00 00 02 32 00
+                               15 00 00 00 00 00 02 33 BC
+                               15 00 00 00 00 00 02 34 00
+                               15 00 00 00 00 00 02 35 CB
+                               15 00 00 00 00 00 02 36 00
+                               15 00 00 00 00 00 02 37 E4
+                               15 00 00 00 00 00 02 38 00
+                               15 00 00 00 00 00 02 39 F9
+                               15 00 00 00 00 00 02 3A 01
+                               15 00 00 00 00 00 02 3B 0B
+                               15 00 00 00 00 00 02 3D 01
+                               15 00 00 00 00 00 02 3F 1B
+                               15 00 00 00 00 00 02 40 01
+                               15 00 00 00 00 00 02 41 2A
+                               15 00 00 00 00 00 02 42 01
+                               15 00 00 00 00 00 02 43 38
+                               15 00 00 00 00 00 02 44 01
+                               15 00 00 00 00 00 02 45 44
+                               15 00 00 00 00 00 02 46 01
+                               15 00 00 00 00 00 02 47 6E
+                               15 00 00 00 00 00 02 48 01
+                               15 00 00 00 00 00 02 49 8F
+                               15 00 00 00 00 00 02 4A 01
+                               15 00 00 00 00 00 02 4B C2
+                               15 00 00 00 00 00 02 4C 01
+                               15 00 00 00 00 00 02 4D E9
+                               15 00 00 00 00 00 02 4E 02
+                               15 00 00 00 00 00 02 4F 27
+                               15 00 00 00 00 00 02 50 02
+                               15 00 00 00 00 00 02 51 56
+                               15 00 00 00 00 00 02 52 02
+                               15 00 00 00 00 00 02 53 58
+                               15 00 00 00 00 00 02 54 02
+                               15 00 00 00 00 00 02 55 87
+                               15 00 00 00 00 00 02 56 02
+                               15 00 00 00 00 00 02 58 BD
+                               15 00 00 00 00 00 02 59 02
+                               15 00 00 00 00 00 02 5A E2
+                               15 00 00 00 00 00 02 5B 03
+                               15 00 00 00 00 00 02 5C 14
+                               15 00 00 00 00 00 02 5D 03
+                               15 00 00 00 00 00 02 5E 30
+                               15 00 00 00 00 00 02 5F 03
+                               15 00 00 00 00 00 02 60 58
+                               15 00 00 00 00 00 02 61 03
+                               15 00 00 00 00 00 02 62 64
+                               15 00 00 00 00 00 02 63 03
+                               15 00 00 00 00 00 02 64 72
+                               15 00 00 00 00 00 02 65 03
+                               15 00 00 00 00 00 02 66 81
+                               15 00 00 00 00 00 02 67 03
+                               15 00 00 00 00 00 02 68 95
+                               15 00 00 00 00 00 02 69 03
+                               15 01 00 00 00 00 02 6A AD
+                               15 00 00 00 00 00 02 6B 03
+                               15 00 00 00 00 00 02 6C C6
+                               15 00 00 00 00 00 02 6D 03
+                               15 00 00 00 00 00 02 6E D6
+                               15 00 00 00 00 00 02 6F 03
+                               15 00 00 00 00 00 02 70 D8
+                               15 00 00 00 00 00 02 71 01
+                               15 00 00 00 00 00 02 72 7D
+                               15 00 00 00 00 00 02 73 01
+                               15 00 00 00 00 00 02 74 81
+                               15 00 00 00 00 00 02 75 01
+                               15 00 00 00 00 00 02 76 88
+                               15 00 00 00 00 00 02 77 01
+                               15 00 00 00 00 00 02 78 8F
+                               15 00 00 00 00 00 02 79 01
+                               15 00 00 00 00 00 02 7A 96
+                               15 00 00 00 00 00 02 7B 01
+                               15 00 00 00 00 00 02 7C 9D
+                               15 00 00 00 00 00 02 7D 01
+                               15 00 00 00 00 00 02 7E A3
+                               15 00 00 00 00 00 02 7F 01
+                               15 00 00 00 00 00 02 80 A8
+                               15 00 00 00 00 00 02 81 01
+                               15 00 00 00 00 00 02 82 AE
+                               15 00 00 00 00 00 02 83 01
+                               15 00 00 00 00 00 02 84 C3
+                               15 00 00 00 00 00 02 85 01
+                               15 00 00 00 00 00 02 86 D6
+                               15 00 00 00 00 00 02 87 01
+                               15 00 00 00 00 00 02 88 F5
+                               15 00 00 00 00 00 02 89 02
+                               15 00 00 00 00 00 02 8A 12
+                               15 00 00 00 00 00 02 8B 02
+                               15 00 00 00 00 00 02 8C 42
+                               15 00 00 00 00 00 02 8D 02
+                               15 00 00 00 00 00 02 8E 6B
+                               15 00 00 00 00 00 02 8F 02
+                               15 00 00 00 00 00 02 90 6C
+                               15 00 00 00 00 00 02 91 02
+                               15 00 00 00 00 00 02 92 98
+                               15 00 00 00 00 00 02 93 02
+                               15 00 00 00 00 00 02 94 CD
+                               15 00 00 00 00 00 02 95 02
+                               15 00 00 00 00 00 02 96 F2
+                               15 00 00 00 00 00 02 97 03
+                               15 00 00 00 00 00 02 98 20
+                               15 00 00 00 00 00 02 99 03
+                               15 00 00 00 00 00 02 9A 3C
+                               15 00 00 00 00 00 02 9B 03
+                               15 00 00 00 00 00 02 9C 61
+                               15 00 00 00 00 00 02 9D 03
+                               15 00 00 00 00 00 02 9E 6B
+                               15 00 00 00 00 00 02 9F 03
+                               15 00 00 00 00 00 02 A0 77
+                               15 00 00 00 00 00 02 A2 03
+                               15 00 00 00 00 00 02 A3 85
+                               15 00 00 00 00 00 02 A4 03
+                               15 00 00 00 00 00 02 A5 95
+                               15 00 00 00 00 00 02 A6 03
+                               15 00 00 00 00 00 02 A7 9F
+                               15 00 00 00 00 00 02 A9 03
+                               15 00 00 00 00 00 02 AA BF
+                               15 00 00 00 00 00 02 AB 03
+                               15 00 00 00 00 00 02 AC D6
+                               15 00 00 00 00 00 02 AD 03
+                               15 01 00 00 00 00 02 AE D8
+                               15 00 00 00 00 00 02 AF 01
+                               15 00 00 00 00 00 02 B0 7D
+                               15 00 00 00 00 00 02 B1 01
+                               15 00 00 00 00 00 02 B2 81
+                               15 00 00 00 00 00 02 B3 01
+                               15 00 00 00 00 00 02 B4 88
+                               15 00 00 00 00 00 02 B5 01
+                               15 00 00 00 00 00 02 B6 8F
+                               15 00 00 00 00 00 02 B7 01
+                               15 00 00 00 00 00 02 B8 96
+                               15 00 00 00 00 00 02 B9 01
+                               15 00 00 00 00 00 02 BA 9D
+                               15 00 00 00 00 00 02 BB 01
+                               15 00 00 00 00 00 02 BC A3
+                               15 00 00 00 00 00 02 BD 01
+                               15 00 00 00 00 00 02 BE A8
+                               15 00 00 00 00 00 02 BF 01
+                               15 00 00 00 00 00 02 C0 AE
+                               15 00 00 00 00 00 02 C1 01
+                               15 00 00 00 00 00 02 C2 C3
+                               15 00 00 00 00 00 02 C3 01
+                               15 00 00 00 00 00 02 C4 D6
+                               15 00 00 00 00 00 02 C5 01
+                               15 00 00 00 00 00 02 C6 F5
+                               15 00 00 00 00 00 02 C7 02
+                               15 00 00 00 00 00 02 C8 12
+                               15 00 00 00 00 00 02 C9 02
+                               15 00 00 00 00 00 02 CA 42
+                               15 00 00 00 00 00 02 CB 02
+                               15 00 00 00 00 00 02 CC 6B
+                               15 00 00 00 00 00 02 CD 02
+                               15 00 00 00 00 00 02 CE 6C
+                               15 00 00 00 00 00 02 CF 02
+                               15 00 00 00 00 00 02 D0 98
+                               15 00 00 00 00 00 02 D1 02
+                               15 00 00 00 00 00 02 D2 CD
+                               15 00 00 00 00 00 02 D3 02
+                               15 00 00 00 00 00 02 D4 F2
+                               15 00 00 00 00 00 02 D5 03
+                               15 00 00 00 00 00 02 D6 20
+                               15 00 00 00 00 00 02 D7 03
+                               15 00 00 00 00 00 02 D8 3C
+                               15 00 00 00 00 00 02 D9 03
+                               15 00 00 00 00 00 02 DA 61
+                               15 00 00 00 00 00 02 DB 03
+                               15 00 00 00 00 00 02 DC 6B
+                               15 00 00 00 00 00 02 DD 03
+                               15 00 00 00 00 00 02 DE 77
+                               15 00 00 00 00 00 02 DF 03
+                               15 00 00 00 00 00 02 E0 85
+                               15 00 00 00 00 00 02 E1 03
+                               15 00 00 00 00 00 02 E2 95
+                               15 00 00 00 00 00 02 E3 03
+                               15 00 00 00 00 00 02 E4 9F
+                               15 00 00 00 00 00 02 E5 03
+                               15 00 00 00 00 00 02 E6 BF
+                               15 00 00 00 00 00 02 E7 03
+                               15 00 00 00 00 00 02 E8 D6
+                               15 00 00 00 00 00 02 E9 03
+                               15 00 00 00 00 00 02 EA D8
+                               15 01 00 00 00 00 02 FF 10
+               ];
+               qcom,mdss-dsi-dispparam-papermode2-command-state = "dsi_hs_mode";
+               qcom,mdss-dsi-dispparam-default-command = [
+                               15 01 00 00 00 00 02 FF 10
+                               15 01 00 00 10 00 02 26 02
+               ];
+               qcom,mdss-dsi-dispparam-default-command-state = "dsi_hs_mode";
+               qcom,mdss-dsi-dispparam-normal1-command = [
+                               15 01 00 00 00 00 02 FF 10
+                               15 01 00 00 10 00 02 26 01
+               ];
+               qcom,mdss-dsi-dispparam-normal1-command-state = "dsi_hs_mode";
+               qcom,mdss-dsi-dispparam-normal2-command = [
+                               15 01 00 00 00 00 02 FF 10
+                               15 01 00 00 10 00 02 26 02
+               ];
+               qcom,mdss-dsi-dispparam-normal2-command-state = "dsi_hs_mode";
+       };
+};
diff --git a/arch/arm/boot/dts/qcom/xiaomi/dsi-panel-jdi-fhd-nt35596s-video.dtsi b/arch/arm/boot/dts/qcom/xiaomi/dsi-panel-jdi-fhd-nt35596s-video.dtsi
new file mode 100644 (file)
index 0000000..997e1e8
--- /dev/null
@@ -0,0 +1,681 @@
+/* Copyright (c) 2015, The Linux Foundation. All rights reserved.
+ * Copyright (C) 2017 XiaoMi, Inc.
+ *
+ * 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.
+ */
+
+/*---------------------------------------------------------------------------
+ * This file is autogenerated file using gcdb parser. Please do not edit it.
+ * Update input XML file to add a new entry or update variable in this file
+ * VERSION = "1.0"
+ *---------------------------------------------------------------------------*/
+&soc {
+       dsi_jdi_fhd_nt35596s_video: qcom,mdss_dsi_jdi_fhd_nt35596s_video {
+               qcom,mdss-dsi-panel-name = "jdi fhd video dsi panel";
+               qcom,mdss-dsi-panel-id = <0>;
+               qcom,mdss-dsi-panel-model = "JDI FHD NT35596S VIDEO PANEL";
+               qcom,mdss-dsi-panel-sleepwrmod = <0>;
+               qcom,mdss-dsi-panel-type = "dsi_video_mode";
+               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 = <2160>;
+               qcom,mdss-dsi-h-front-porch = <16>;
+               qcom,mdss-dsi-h-back-porch = <40>;
+               qcom,mdss-dsi-h-pulse-width = <28>;
+               qcom,mdss-dsi-h-sync-skew = <0>;
+               qcom,mdss-dsi-v-back-porch = <24>;
+               qcom,mdss-dsi-v-front-porch = <7>;
+               qcom,mdss-dsi-v-pulse-width = <4>;
+               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 = <0x0>;
+               qcom,mdss-dsi-border-color = <0>;
+               qcom,mdss-dsi-on-command = [
+                               15 01 00 00 00 00 02 FF 24
+                               15 00 00 00 00 00 02 9D 34
+                               15 00 00 00 00 00 02 FB 01
+                               15 00 00 00 00 00 02 C4 25
+                               15 00 00 00 00 00 02 D1 08
+                               15 00 00 00 00 00 02 D2 84
+                               15 01 00 00 00 00 02 FF 26
+                               15 00 00 00 00 00 02 FB 01
+                               15 00 00 00 00 00 02 03 1C
+                               15 00 00 00 00 00 02 3B 08
+                               15 00 00 00 00 00 02 6B 08
+                               15 00 00 00 00 00 02 97 08
+                               15 00 00 00 00 00 02 C5 08
+                               15 00 00 00 00 00 02 FB 01
+                               15 01 00 00 00 00 02 FF 23
+                               15 00 00 00 00 00 02 FB 01
+                               15 00 00 00 00 00 02 01 84
+                               15 00 00 00 00 00 02 05 2D
+                               15 00 00 00 00 00 02 06 00
+                               15 00 00 00 00 00 02 33 07
+                               15 00 00 00 00 00 02 21 EE
+                               15 00 00 00 00 00 02 22 ED
+                               15 00 00 00 00 00 02 23 EA
+                               15 00 00 00 00 00 02 24 E8
+                               15 00 00 00 00 00 02 25 E5
+                               15 00 00 00 00 00 02 26 E2
+                               15 00 00 00 00 00 02 27 DE
+                               15 00 00 00 00 00 02 28 BB
+                               15 00 00 00 00 00 02 29 87
+                               15 00 00 00 00 00 02 2A 77
+                               15 01 00 00 00 00 02 32 0C
+                               15 00 00 00 00 00 02 13 3F
+                               15 00 00 00 00 00 02 14 34
+                               15 00 00 00 00 00 02 15 2A
+                               15 00 00 00 00 00 02 16 25
+                               15 00 00 00 00 00 02 17 9D
+                               15 00 00 00 00 00 02 18 9A
+                               15 00 00 00 00 00 02 19 97
+                               15 00 00 00 00 00 02 1A 94
+                               15 00 00 00 00 00 02 1B 91
+                               15 00 00 00 00 00 02 1C 8E
+                               15 00 00 00 00 00 02 1D 8B
+                               15 00 00 00 00 00 02 1E 89
+                               15 00 00 00 00 00 02 1F 86
+                               15 00 00 00 00 00 02 20 83
+                               15 01 00 00 00 00 02 FF 22
+                               15 00 00 00 00 00 02 00 0A
+                               15 00 00 00 00 00 02 01 43
+                               15 00 00 00 00 00 02 02 5B
+                               15 00 00 00 00 00 02 03 6A
+                               15 00 00 00 00 00 02 04 7A
+                               15 00 00 00 00 00 02 05 82
+                               15 00 00 00 00 00 02 06 85
+                               15 00 00 00 00 00 02 07 80
+                               15 00 00 00 00 00 02 08 7C
+                               15 00 00 00 00 00 02 09 7C
+                               15 00 00 00 00 00 02 0A 74
+                               15 00 00 00 00 00 02 0B 71
+                               15 00 00 00 00 00 02 0C 6E
+                               15 00 00 00 00 00 02 0D 68
+                               15 00 00 00 00 00 02 0E 65
+                               15 01 00 00 00 00 02 0F 5C
+                               15 00 00 00 00 00 02 10 32
+                               15 00 00 00 00 00 02 11 18
+                               15 00 00 00 00 00 02 12 00
+                               15 00 00 00 00 00 02 13 00
+                               15 00 00 00 00 00 02 1A 00
+                               15 00 00 00 00 00 02 1B 00
+                               15 00 00 00 00 00 02 1C 00
+                               15 00 00 00 00 00 02 1D 00
+                               15 00 00 00 00 00 02 1E 00
+                               15 00 00 00 00 00 02 1F 00
+                               15 00 00 00 00 00 02 20 00
+                               15 00 00 00 00 00 02 21 00
+                               15 00 00 00 00 00 02 22 00
+                               15 00 00 00 00 00 02 23 00
+                               15 00 00 00 00 00 02 24 00
+                               15 01 00 00 00 00 02 25 00
+                               15 00 00 00 00 00 02 26 00
+                               15 00 00 00 00 00 02 27 00
+                               15 00 00 00 00 00 02 28 00
+                               15 00 00 00 00 00 02 29 00
+                               15 00 00 00 00 00 02 2A 00
+                               15 00 00 00 00 00 02 2B 00
+                               15 00 00 00 00 00 02 2F 00
+                               15 00 00 00 00 00 02 30 00
+                               15 00 00 00 00 00 02 31 00
+                               15 00 00 00 00 00 02 32 0C
+                               15 00 00 00 00 00 02 33 0C
+                               15 00 00 00 00 00 02 34 0C
+                               15 00 00 00 00 00 02 35 0B
+                               15 00 00 00 00 00 02 36 09
+                               15 00 00 00 00 00 02 37 09
+                               15 01 00 00 00 00 02 38 08
+                               15 00 00 00 00 00 02 39 05
+                               15 00 00 00 00 00 02 3A 03
+                               15 00 00 00 00 00 02 3B 00
+                               15 00 00 00 00 00 02 3F 00
+                               15 00 00 00 00 00 02 40 00
+                               15 00 00 00 00 00 02 41 00
+                               15 00 00 00 00 00 02 42 00
+                               15 00 00 00 00 00 02 43 00
+                               15 00 00 00 00 00 02 44 00
+                               15 00 00 00 00 00 02 45 00
+                               15 00 00 00 00 00 02 46 00
+                               15 00 00 00 00 00 02 47 00
+                               15 00 00 00 00 00 02 48 00
+                               15 00 00 00 00 00 02 49 03
+                               15 00 00 00 00 00 02 4A 06
+                               15 01 00 00 00 00 02 4B 07
+                               15 00 00 00 00 00 02 4C 07
+                               15 00 00 00 00 00 02 4D 00
+                               15 00 00 00 00 00 02 4E 00
+                               15 00 00 00 00 00 02 4F 00
+                               15 00 00 00 00 00 02 50 00
+                               15 00 00 00 00 00 02 51 00
+                               15 00 00 00 00 00 02 52 00
+                               15 00 00 00 00 00 02 53 01
+                               15 00 00 00 00 00 02 54 01
+                               15 00 00 00 00 00 02 55 89
+                               15 00 00 00 00 00 02 56 00
+                               15 00 00 00 00 00 02 58 00
+                               15 00 00 00 00 00 02 68 00
+                               15 00 00 00 00 00 02 84 FF
+                               15 00 00 00 00 00 02 85 FF
+                               15 01 00 00 00 00 02 86 03
+                               15 00 00 00 00 00 02 87 00
+                               15 00 00 00 00 00 02 88 00
+                               15 00 00 00 00 00 02 A2 20
+                               15 00 00 00 00 00 02 A9 01
+                               15 00 00 00 00 00 02 AA 12
+                               15 00 00 00 00 00 02 AB 13
+                               15 00 00 00 00 00 02 AC 0A
+                               15 00 00 00 00 00 02 AD 74
+                               15 00 00 00 00 00 02 AF 33
+                               15 00 00 00 00 00 02 B0 03
+                               15 00 00 00 00 00 02 B1 14
+                               15 00 00 00 00 00 02 B2 42
+                               15 00 00 00 00 00 02 B3 40
+                               15 00 00 00 00 00 02 B4 A5
+                               15 01 00 00 00 00 02 B6 44
+                               15 00 00 00 00 00 02 B7 04
+                               15 00 00 00 00 00 02 B8 14
+                               15 00 00 00 00 00 02 B9 42
+                               15 00 00 00 00 00 02 BA 40
+                               15 00 00 00 00 00 02 BB A5
+                               15 00 00 00 00 00 02 BD 44
+                               15 00 00 00 00 00 02 BE 04
+                               15 00 00 00 00 00 02 BF 00
+                               15 00 00 00 00 00 02 C0 75
+                               15 00 00 00 00 00 02 C1 6A
+                               15 00 00 00 00 00 02 C2 A5
+                               15 00 00 00 00 00 02 C4 22
+                               15 00 00 00 00 00 02 C5 02
+                               15 00 00 00 00 00 02 C6 00
+                               15 01 00 00 00 00 02 C7 95
+                               15 00 00 00 00 00 02 C8 8A
+                               15 00 00 00 00 00 02 C9 A5
+                               15 00 00 00 00 00 02 CB 22
+                               15 00 00 00 00 00 02 CC 02
+                               15 00 00 00 00 00 02 CD 00
+                               15 00 00 00 00 00 02 CE B5
+                               15 00 00 00 00 00 02 CF AA
+                               15 00 00 00 00 00 02 D0 A5
+                               15 00 00 00 00 00 02 D2 22
+                               15 00 00 00 00 00 02 D3 02
+                               15 01 00 00 00 00 02 FB 01
+                               15 01 00 00 00 00 02 FF 10
+                               15 01 00 00 00 00 02 26 02
+                               15 00 00 00 00 00 02 35 00
+                               15 00 00 00 00 00 02 51 FF
+                               15 00 00 00 00 00 02 53 24
+                               15 00 00 00 00 00 02 55 00
+                               15 01 00 00 00 00 02 B0 00
+                               05 01 00 00 50 00 02 11 00
+                               05 01 00 00 14 00 02 29 00
+               ];
+               qcom,mdss-dsi-off-command = [
+                               05 01 00 00 00 00 02 28 00
+                               05 01 00 00 46 00 02 10 00];
+               qcom,mdss-dsi-on-command-state = "dsi_lp_mode";
+               qcom,mdss-dsi-off-command-state = "dsi_hs_mode";
+               qcom,mdss-dsi-h-sync-pulse = <1>;
+               qcom,mdss-dsi-traffic-mode = "burst_mode";
+               qcom,mdss-dsi-bllp-eof-power-mode;
+               qcom,mdss-dsi-bllp-power-mode;
+               qcom,mdss-dsi-lp11-init;
+               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 = [e3 50 36 00 a9 a3 3a 50 3d 03 04 00];
+               qcom,mdss-dsi-t-clk-post = <0x20>;
+               qcom,mdss-dsi-t-clk-pre = <0x36>;
+               qcom,mdss-dsi-bl-min-level = <1>;
+               qcom,mdss-dsi-bl-max-level = <4095>;
+               qcom,mdss-brightness-max-level = <4095>;
+               qcom,mdss-dsi-dma-trigger = "trigger_sw";
+               qcom,mdss-dsi-mdp-trigger = "none";
+               qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled";
+               qcom,mdss-dsi-reset-sequence =<0 10>, <1 10>;
+               qcom,mdss-pan-physical-width-dimension = <68>;
+               qcom,mdss-pan-physical-height-dimension = <136>;
+               qcom,cont-splash-enabled;
+               qcom,mdss-dsi-tx-eot-append;
+               qcom,mdss-panel-on-dimming-delay = <120>;
+               qcom,esd-err-irq-gpio = <&tlmm 52 0x2001>;
+               qcom,esd-panel-onoff-tpg;
+               qcom,mdss-dsi-min-refresh-rate = <55>;
+               qcom,mdss-dsi-max-refresh-rate = <60>;
+               qcom,mdss-dsi-pan-enable-dynamic-fps;
+               qcom,mdss-dsi-pan-fps-update = "dfps_immediate_porch_mode_vfp";
+               qcom,dispccbb-enabled;
+               qcom,dispblnotify-enabled;
+               qcom,dispparam-enabled;
+               qcom,mdss-night-brightness = <7 25 43 61>;
+               qcom,mdss-dsi-panel-xy-coordinate = <0xA1 0x0F 0x18>;
+               qcom,mdss-dsi-dispparam-skin-ce-command = [
+                               15 01 00 00 00 00 02 55 83
+               ];
+               qcom,mdss-dsi-dispparam-skin-ce-command-state = "dsi_hs_mode";
+               qcom,mdss-dsi-dispparam-cabcon-command = [
+                               15 01 00 00 00 00 02 55 03
+               ];
+               qcom,mdss-dsi-dispparam-cabcon-command-state = "dsi_hs_mode";
+               qcom,mdss-dsi-dispparam-cabcguion-command = [
+                               15 01 00 00 00 00 02 55 03
+               ];
+               qcom,mdss-dsi-dispparam-cabcguion-command-state = "dsi_hs_mode";
+               qcom,mdss-dsi-dispparam-cabcstillon-command = [
+                               15 00 00 00 00 00 02 55 01
+                               15 01 00 00 00 00 03 68 01 01
+               ];
+               qcom,mdss-dsi-dispparam-cabcstillon-command-state = "dsi_hs_mode";
+               qcom,mdss-dsi-dispparam-cabcmovieon-command = [
+                               15 01 00 00 00 00 02 55 02
+               ];
+               qcom,mdss-dsi-dispparam-cabcmovieon-command-state = "dsi_hs_mode";
+               qcom,mdss-dsi-dispparam-cabcoff-command = [
+                               39 01 00 00 01 00 02 55 00
+               ];
+               qcom,mdss-dsi-dispparam-dimmingon-command = [
+                               39 01 00 00 01 00 02 53 2C
+               ];
+               qcom,mdss-dsi-dispparam-idleon-command = [
+                               39 01 00 00 01 00 02 39 00
+               ];
+               qcom,mdss-dsi-dispparam-idleoff-command = [
+                               39 01 00 00 01 00 02 38 00
+               ];
+               qcom,mdss-dsi-dispparam-papermode2-command = [
+                               15 01 00 00 00 00 02 FF 10
+                               15 01 00 00 10 00 02 26 01
+                               15 01 00 00 00 00 02 FF 20
+                               15 00 00 00 00 00 02 75 00
+                               15 00 00 00 00 00 02 76 00
+                               15 00 00 00 00 00 02 77 00
+                               15 00 00 00 00 00 02 78 27
+                               15 00 00 00 00 00 02 79 00
+                               15 00 00 00 00 00 02 7A 67
+                               15 00 00 00 00 00 02 7B 00
+                               15 00 00 00 00 00 02 7C 94
+                               15 00 00 00 00 00 02 7D 00
+                               15 00 00 00 00 00 02 7E B8
+                               15 00 00 00 00 00 02 7F 00
+                               15 00 00 00 00 00 02 80 D4
+                               15 00 00 00 00 00 02 81 00
+                               15 00 00 00 00 00 02 82 EA
+                               15 00 00 00 00 00 02 83 00
+                               15 00 00 00 00 00 02 84 FC
+                               15 00 00 00 00 00 02 85 01
+                               15 00 00 00 00 00 02 86 0F
+                               15 00 00 00 00 00 02 87 01
+                               15 00 00 00 00 00 02 88 46
+                               15 00 00 00 00 00 02 89 01
+                               15 00 00 00 00 00 02 8A 70
+                               15 00 00 00 00 00 02 8B 01
+                               15 00 00 00 00 00 02 8C AD
+                               15 00 00 00 00 00 02 8D 01
+                               15 00 00 00 00 00 02 8E DA
+                               15 00 00 00 00 00 02 8F 02
+                               15 00 00 00 00 00 02 90 1D
+                               15 00 00 00 00 00 02 91 02
+                               15 00 00 00 00 00 02 92 50
+                               15 00 00 00 00 00 02 93 02
+                               15 00 00 00 00 00 02 94 52
+                               15 00 00 00 00 00 02 95 02
+                               15 00 00 00 00 00 02 96 83
+                               15 00 00 00 00 00 02 97 02
+                               15 00 00 00 00 00 02 98 BA
+                               15 00 00 00 00 00 02 99 02
+                               15 00 00 00 00 00 02 9A DE
+                               15 00 00 00 00 00 02 9B 03
+                               15 00 00 00 00 00 02 9C 12
+                               15 00 00 00 00 00 02 9D 03
+                               15 00 00 00 00 00 02 9E 2E
+                               15 00 00 00 00 00 02 9F 03
+                               15 00 00 00 00 00 02 A0 54
+                               15 00 00 00 00 00 02 A2 03
+                               15 00 00 00 00 00 02 A3 61
+                               15 00 00 00 00 00 02 A4 03
+                               15 00 00 00 00 00 02 A5 6F
+                               15 00 00 00 00 00 02 A6 03
+                               15 00 00 00 00 00 02 A7 7E
+                               15 00 00 00 00 00 02 A9 03
+                               15 00 00 00 00 00 02 AA 90
+                               15 00 00 00 00 00 02 AB 03
+                               15 00 00 00 00 00 02 AC A7
+                               15 00 00 00 00 00 02 AD 03
+                               15 00 00 00 00 00 02 AE C2
+                               15 00 00 00 00 00 02 AF 03
+                               15 00 00 00 00 00 02 B0 D5
+                               15 00 00 00 00 00 02 B1 03
+                               15 01 00 00 00 00 02 B2 D8
+                               15 00 00 00 00 00 02 B3 00
+                               15 00 00 00 00 00 02 B4 00
+                               15 00 00 00 00 00 02 B5 00
+                               15 00 00 00 00 00 02 B6 27
+                               15 00 00 00 00 00 02 B7 00
+                               15 00 00 00 00 00 02 B8 67
+                               15 00 00 00 00 00 02 B9 00
+                               15 00 00 00 00 00 02 BA 94
+                               15 00 00 00 00 00 02 BB 00
+                               15 00 00 00 00 00 02 BC B8
+                               15 00 00 00 00 00 02 BD 00
+                               15 00 00 00 00 00 02 BE D4
+                               15 00 00 00 00 00 02 BF 00
+                               15 00 00 00 00 00 02 C0 EA
+                               15 00 00 00 00 00 02 C1 00
+                               15 00 00 00 00 00 02 C2 FC
+                               15 00 00 00 00 00 02 C3 01
+                               15 00 00 00 00 00 02 C4 0F
+                               15 00 00 00 00 00 02 C5 01
+                               15 00 00 00 00 00 02 C6 46
+                               15 00 00 00 00 00 02 C7 01
+                               15 00 00 00 00 00 02 C8 70
+                               15 00 00 00 00 00 02 C9 01
+                               15 00 00 00 00 00 02 CA AD
+                               15 00 00 00 00 00 02 CB 01
+                               15 00 00 00 00 00 02 CC DA
+                               15 00 00 00 00 00 02 CD 02
+                               15 00 00 00 00 00 02 CE 1D
+                               15 00 00 00 00 00 02 CF 02
+                               15 00 00 00 00 00 02 D0 50
+                               15 00 00 00 00 00 02 D1 02
+                               15 00 00 00 00 00 02 D2 52
+                               15 00 00 00 00 00 02 D3 02
+                               15 00 00 00 00 00 02 D4 83
+                               15 00 00 00 00 00 02 D5 02
+                               15 00 00 00 00 00 02 D6 BA
+                               15 00 00 00 00 00 02 D7 02
+                               15 00 00 00 00 00 02 D8 DE
+                               15 00 00 00 00 00 02 D9 03
+                               15 00 00 00 00 00 02 DA 12
+                               15 00 00 00 00 00 02 DB 03
+                               15 00 00 00 00 00 02 DC 2E
+                               15 00 00 00 00 00 02 DD 03
+                               15 00 00 00 00 00 02 DE 54
+                               15 00 00 00 00 00 02 DF 03
+                               15 00 00 00 00 00 02 E0 61
+                               15 00 00 00 00 00 02 E1 03
+                               15 00 00 00 00 00 02 E2 6F
+                               15 00 00 00 00 00 02 E3 03
+                               15 00 00 00 00 00 02 E4 7E
+                               15 00 00 00 00 00 02 E5 03
+                               15 00 00 00 00 00 02 E6 90
+                               15 00 00 00 00 00 02 E7 03
+                               15 00 00 00 00 00 02 E8 A7
+                               15 00 00 00 00 00 02 E9 03
+                               15 00 00 00 00 00 02 EA C2
+                               15 00 00 00 00 00 02 EB 03
+                               15 00 00 00 00 00 02 EC D5
+                               15 00 00 00 00 00 02 ED 03
+                               15 00 00 00 00 00 02 EE D8
+                               15 00 00 00 00 00 02 EF 00
+                               15 00 00 00 00 00 02 F0 BC
+                               15 00 00 00 00 00 02 F1 00
+                               15 00 00 00 00 00 02 F2 CB
+                               15 00 00 00 00 00 02 F3 00
+                               15 00 00 00 00 00 02 F4 E4
+                               15 00 00 00 00 00 02 F5 00
+                               15 00 00 00 00 00 02 F6 F9
+                               15 00 00 00 00 00 02 F7 01
+                               15 00 00 00 00 00 02 F8 0B
+                               15 00 00 00 00 00 02 F9 01
+                               15 00 00 00 00 00 02 FA 1B
+                               15 01 00 00 00 00 02 FF 21
+                               15 00 00 00 00 00 02 00 01
+                               15 00 00 00 00 00 02 01 2A
+                               15 00 00 00 00 00 02 02 01
+                               15 00 00 00 00 00 02 03 38
+                               15 00 00 00 00 00 02 04 01
+                               15 00 00 00 00 00 02 05 44
+                               15 00 00 00 00 00 02 06 01
+                               15 00 00 00 00 00 02 07 6E
+                               15 00 00 00 00 00 02 08 01
+                               15 00 00 00 00 00 02 09 8F
+                               15 00 00 00 00 00 02 0A 01
+                               15 00 00 00 00 00 02 0B C2
+                               15 00 00 00 00 00 02 0C 01
+                               15 00 00 00 00 00 02 0D E9
+                               15 00 00 00 00 00 02 0E 02
+                               15 00 00 00 00 00 02 0F 27
+                               15 00 00 00 00 00 02 10 02
+                               15 00 00 00 00 00 02 11 56
+                               15 00 00 00 00 00 02 12 02
+                               15 00 00 00 00 00 02 13 58
+                               15 00 00 00 00 00 02 14 02
+                               15 00 00 00 00 00 02 15 87
+                               15 00 00 00 00 00 02 16 02
+                               15 00 00 00 00 00 02 17 BD
+                               15 00 00 00 00 00 02 18 02
+                               15 00 00 00 00 00 02 19 E2
+                               15 00 00 00 00 00 02 1A 03
+                               15 00 00 00 00 00 02 1B 14
+                               15 00 00 00 00 00 02 1C 03
+                               15 00 00 00 00 00 02 1D 30
+                               15 00 00 00 00 00 02 1E 03
+                               15 00 00 00 00 00 02 1F 58
+                               15 00 00 00 00 00 02 20 03
+                               15 00 00 00 00 00 02 21 64
+                               15 00 00 00 00 00 02 22 03
+                               15 00 00 00 00 00 02 23 72
+                               15 00 00 00 00 00 02 24 03
+                               15 00 00 00 00 00 02 25 81
+                               15 00 00 00 00 00 02 26 03
+                               15 00 00 00 00 00 02 27 95
+                               15 00 00 00 00 00 02 28 03
+                               15 00 00 00 00 00 02 29 AD
+                               15 00 00 00 00 00 02 2A 03
+                               15 00 00 00 00 00 02 2B C6
+                               15 00 00 00 00 00 02 2D 03
+                               15 00 00 00 00 00 02 2F D6
+                               15 00 00 00 00 00 02 30 03
+                               15 01 00 00 00 00 02 31 D8
+                               15 00 00 00 00 00 02 32 00
+                               15 00 00 00 00 00 02 33 BC
+                               15 00 00 00 00 00 02 34 00
+                               15 00 00 00 00 00 02 35 CB
+                               15 00 00 00 00 00 02 36 00
+                               15 00 00 00 00 00 02 37 E4
+                               15 00 00 00 00 00 02 38 00
+                               15 00 00 00 00 00 02 39 F9
+                               15 00 00 00 00 00 02 3A 01
+                               15 00 00 00 00 00 02 3B 0B
+                               15 00 00 00 00 00 02 3D 01
+                               15 00 00 00 00 00 02 3F 1B
+                               15 00 00 00 00 00 02 40 01
+                               15 00 00 00 00 00 02 41 2A
+                               15 00 00 00 00 00 02 42 01
+                               15 00 00 00 00 00 02 43 38
+                               15 00 00 00 00 00 02 44 01
+                               15 00 00 00 00 00 02 45 44
+                               15 00 00 00 00 00 02 46 01
+                               15 00 00 00 00 00 02 47 6E
+                               15 00 00 00 00 00 02 48 01
+                               15 00 00 00 00 00 02 49 8F
+                               15 00 00 00 00 00 02 4A 01
+                               15 00 00 00 00 00 02 4B C2
+                               15 00 00 00 00 00 02 4C 01
+                               15 00 00 00 00 00 02 4D E9
+                               15 00 00 00 00 00 02 4E 02
+                               15 00 00 00 00 00 02 4F 27
+                               15 00 00 00 00 00 02 50 02
+                               15 00 00 00 00 00 02 51 56
+                               15 00 00 00 00 00 02 52 02
+                               15 00 00 00 00 00 02 53 58
+                               15 00 00 00 00 00 02 54 02
+                               15 00 00 00 00 00 02 55 87
+                               15 00 00 00 00 00 02 56 02
+                               15 00 00 00 00 00 02 58 BD
+                               15 00 00 00 00 00 02 59 02
+                               15 00 00 00 00 00 02 5A E2
+                               15 00 00 00 00 00 02 5B 03
+                               15 00 00 00 00 00 02 5C 14
+                               15 00 00 00 00 00 02 5D 03
+                               15 00 00 00 00 00 02 5E 30
+                               15 00 00 00 00 00 02 5F 03
+                               15 00 00 00 00 00 02 60 58
+                               15 00 00 00 00 00 02 61 03
+                               15 00 00 00 00 00 02 62 64
+                               15 00 00 00 00 00 02 63 03
+                               15 00 00 00 00 00 02 64 72
+                               15 00 00 00 00 00 02 65 03
+                               15 00 00 00 00 00 02 66 81
+                               15 00 00 00 00 00 02 67 03
+                               15 00 00 00 00 00 02 68 95
+                               15 00 00 00 00 00 02 69 03
+                               15 01 00 00 00 00 02 6A AD
+                               15 00 00 00 00 00 02 6B 03
+                               15 00 00 00 00 00 02 6C C6
+                               15 00 00 00 00 00 02 6D 03
+                               15 00 00 00 00 00 02 6E D6
+                               15 00 00 00 00 00 02 6F 03
+                               15 00 00 00 00 00 02 70 D8
+                               15 00 00 00 00 00 02 71 01
+                               15 00 00 00 00 00 02 72 7D
+                               15 00 00 00 00 00 02 73 01
+                               15 00 00 00 00 00 02 74 81
+                               15 00 00 00 00 00 02 75 01
+                               15 00 00 00 00 00 02 76 88
+                               15 00 00 00 00 00 02 77 01
+                               15 00 00 00 00 00 02 78 8F
+                               15 00 00 00 00 00 02 79 01
+                               15 00 00 00 00 00 02 7A 96
+                               15 00 00 00 00 00 02 7B 01
+                               15 00 00 00 00 00 02 7C 9D
+                               15 00 00 00 00 00 02 7D 01
+                               15 00 00 00 00 00 02 7E A3
+                               15 00 00 00 00 00 02 7F 01
+                               15 00 00 00 00 00 02 80 A8
+                               15 00 00 00 00 00 02 81 01
+                               15 00 00 00 00 00 02 82 AE
+                               15 00 00 00 00 00 02 83 01
+                               15 00 00 00 00 00 02 84 C3
+                               15 00 00 00 00 00 02 85 01
+                               15 00 00 00 00 00 02 86 D6
+                               15 00 00 00 00 00 02 87 01
+                               15 00 00 00 00 00 02 88 F5
+                               15 00 00 00 00 00 02 89 02
+                               15 00 00 00 00 00 02 8A 12
+                               15 00 00 00 00 00 02 8B 02
+                               15 00 00 00 00 00 02 8C 42
+                               15 00 00 00 00 00 02 8D 02
+                               15 00 00 00 00 00 02 8E 6B
+                               15 00 00 00 00 00 02 8F 02
+                               15 00 00 00 00 00 02 90 6C
+                               15 00 00 00 00 00 02 91 02
+                               15 00 00 00 00 00 02 92 98
+                               15 00 00 00 00 00 02 93 02
+                               15 00 00 00 00 00 02 94 CD
+                               15 00 00 00 00 00 02 95 02
+                               15 00 00 00 00 00 02 96 F2
+                               15 00 00 00 00 00 02 97 03
+                               15 00 00 00 00 00 02 98 20
+                               15 00 00 00 00 00 02 99 03
+                               15 00 00 00 00 00 02 9A 3C
+                               15 00 00 00 00 00 02 9B 03
+                               15 00 00 00 00 00 02 9C 61
+                               15 00 00 00 00 00 02 9D 03
+                               15 00 00 00 00 00 02 9E 6B
+                               15 00 00 00 00 00 02 9F 03
+                               15 00 00 00 00 00 02 A0 77
+                               15 00 00 00 00 00 02 A2 03
+                               15 00 00 00 00 00 02 A3 85
+                               15 00 00 00 00 00 02 A4 03
+                               15 00 00 00 00 00 02 A5 95
+                               15 00 00 00 00 00 02 A6 03
+                               15 00 00 00 00 00 02 A7 9F
+                               15 00 00 00 00 00 02 A9 03
+                               15 00 00 00 00 00 02 AA BF
+                               15 00 00 00 00 00 02 AB 03
+                               15 00 00 00 00 00 02 AC D6
+                               15 00 00 00 00 00 02 AD 03
+                               15 01 00 00 00 00 02 AE D8
+                               15 00 00 00 00 00 02 AF 01
+                               15 00 00 00 00 00 02 B0 7D
+                               15 00 00 00 00 00 02 B1 01
+                               15 00 00 00 00 00 02 B2 81
+                               15 00 00 00 00 00 02 B3 01
+                               15 00 00 00 00 00 02 B4 88
+                               15 00 00 00 00 00 02 B5 01
+                               15 00 00 00 00 00 02 B6 8F
+                               15 00 00 00 00 00 02 B7 01
+                               15 00 00 00 00 00 02 B8 96
+                               15 00 00 00 00 00 02 B9 01
+                               15 00 00 00 00 00 02 BA 9D
+                               15 00 00 00 00 00 02 BB 01
+                               15 00 00 00 00 00 02 BC A3
+                               15 00 00 00 00 00 02 BD 01
+                               15 00 00 00 00 00 02 BE A8
+                               15 00 00 00 00 00 02 BF 01
+                               15 00 00 00 00 00 02 C0 AE
+                               15 00 00 00 00 00 02 C1 01
+                               15 00 00 00 00 00 02 C2 C3
+                               15 00 00 00 00 00 02 C3 01
+                               15 00 00 00 00 00 02 C4 D6
+                               15 00 00 00 00 00 02 C5 01
+                               15 00 00 00 00 00 02 C6 F5
+                               15 00 00 00 00 00 02 C7 02
+                               15 00 00 00 00 00 02 C8 12
+                               15 00 00 00 00 00 02 C9 02
+                               15 00 00 00 00 00 02 CA 42
+                               15 00 00 00 00 00 02 CB 02
+                               15 00 00 00 00 00 02 CC 6B
+                               15 00 00 00 00 00 02 CD 02
+                               15 00 00 00 00 00 02 CE 6C
+                               15 00 00 00 00 00 02 CF 02
+                               15 00 00 00 00 00 02 D0 98
+                               15 00 00 00 00 00 02 D1 02
+                               15 00 00 00 00 00 02 D2 CD
+                               15 00 00 00 00 00 02 D3 02
+                               15 00 00 00 00 00 02 D4 F2
+                               15 00 00 00 00 00 02 D5 03
+                               15 00 00 00 00 00 02 D6 20
+                               15 00 00 00 00 00 02 D7 03
+                               15 00 00 00 00 00 02 D8 3C
+                               15 00 00 00 00 00 02 D9 03
+                               15 00 00 00 00 00 02 DA 61
+                               15 00 00 00 00 00 02 DB 03
+                               15 00 00 00 00 00 02 DC 6B
+                               15 00 00 00 00 00 02 DD 03
+                               15 00 00 00 00 00 02 DE 77
+                               15 00 00 00 00 00 02 DF 03
+                               15 00 00 00 00 00 02 E0 85
+                               15 00 00 00 00 00 02 E1 03
+                               15 00 00 00 00 00 02 E2 95
+                               15 00 00 00 00 00 02 E3 03
+                               15 00 00 00 00 00 02 E4 9F
+                               15 00 00 00 00 00 02 E5 03
+                               15 00 00 00 00 00 02 E6 BF
+                               15 00 00 00 00 00 02 E7 03
+                               15 00 00 00 00 00 02 E8 D6
+                               15 00 00 00 00 00 02 E9 03
+                               15 00 00 00 00 00 02 EA D8
+                               15 01 00 00 00 00 02 FF 10
+               ];
+               qcom,mdss-dsi-dispparam-papermode2-command-state = "dsi_hs_mode";
+               qcom,mdss-dsi-dispparam-default-command = [
+                               15 01 00 00 00 00 02 FF 10
+                               15 01 00 00 10 00 02 26 02
+               ];
+               qcom,mdss-dsi-dispparam-default-command-state = "dsi_hs_mode";
+               qcom,mdss-dsi-dispparam-normal1-command = [
+                               15 01 00 00 00 00 02 FF 10
+                               15 01 00 00 10 00 02 26 01
+               ];
+               qcom,mdss-dsi-dispparam-normal1-command-state = "dsi_hs_mode";
+               qcom,mdss-dsi-dispparam-normal2-command = [
+                               15 01 00 00 00 00 02 FF 10
+                               15 01 00 00 10 00 02 26 02
+               ];
+               qcom,mdss-dsi-dispparam-normal2-command-state = "dsi_hs_mode";
+       };
+};
diff --git a/arch/arm/boot/dts/qcom/xiaomi/dsi-panel-jdi-fhd-r63452-cmd.dtsi b/arch/arm/boot/dts/qcom/xiaomi/dsi-panel-jdi-fhd-r63452-cmd.dtsi
new file mode 100644 (file)
index 0000000..67acd4c
--- /dev/null
@@ -0,0 +1,273 @@
+/* Copyright (c) 2015, The Linux Foundation. All rights reserved.
+ * Copyright (C) 2017 XiaoMi, Inc.
+ *
+ * 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.
+ */
+
+/*---------------------------------------------------------------------------
+ * This file is autogenerated file using gcdb parser. Please do not edit it.
+ * Update input XML file to add a new entry or update variable in this file
+ * VERSION = "1.0"
+ *---------------------------------------------------------------------------*/
+&soc {
+       dsi_jdi_fhd_r63452_cmd: qcom,mdss_dsi_jdi_fhd_r63452_cmd {
+               qcom,mdss-dsi-panel-name = "jdi fhd cmd incell dsi panel";
+               qcom,mdss-dsi-panel-id = <0>;
+               qcom,mdss-dsi-panel-sleepwrmod = <0>;
+               qcom,mdss-dsi-panel-type = "dsi_cmd_mode";
+               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 = <120>;
+               qcom,mdss-dsi-h-back-porch = <40>;
+               qcom,mdss-dsi-h-pulse-width = <16>;
+               qcom,mdss-dsi-h-sync-skew = <0>;
+               qcom,mdss-dsi-v-back-porch = <4>;
+               qcom,mdss-dsi-v-front-porch = <4>;
+               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 = <0xff>;
+               qcom,mdss-dsi-border-color = <0>;
+               qcom,mdss-dsi-on-command = [
+                               29 00 00 00 00 00 02 b0 00
+                               29 00 00 00 00 00 02 d6 01
+                               29 00 00 00 00 00 0E EC 64 DC EC 3B 52 00 0B 0B 13 15 68 0B B5
+                               29 00 00 00 00 00 02 b0 03
+                               39 00 00 00 00 00 02 35 00
+                               39 00 00 00 00 00 02 36 00
+                               39 00 00 00 00 00 02 3A 77
+                               39 00 00 00 00 00 05 2A 00 00 04 37
+                               39 00 00 00 00 00 05 2B 00 00 07 7F
+                               39 00 00 00 00 00 03 44 00 00
+                               39 00 00 00 00 00 02 51 FF
+                               39 00 00 00 00 00 02 53 24
+                               39 00 00 00 00 00 02 55 00
+                               39 00 00 00 00 00 02 5E 00
+                               39 00 00 00 00 00 02 84 00
+                               05 01 00 00 14 00 02 29 00
+                               05 01 00 00 50 00 02 11 00
+                               29 00 00 00 00 00 02 B0 04
+                               39 00 00 00 00 00 02 84 00
+                               29 00 00 00 00 00 02 C8 11
+                               29 01 00 00 00 00 02 B0 03
+];
+               qcom,mdss-dsi-off-command = [
+                               29 00 00 00 00 00 02 b0 00
+                               29 00 00 00 00 00 02 d6 01
+                               29 00 00 00 00 00 0E EC 64 DC EC 3B 52 00 0B 0B 13 15 68 0B 95
+                               29 00 00 00 00 00 02 b0 03
+                               05 01 00 00 02 00 02 28 00
+                               05 01 00 00 78 00 02 10 00];
+               qcom,mdss-dsi-on-command-state = "dsi_lp_mode";
+               qcom,mdss-dsi-off-command-state = "dsi_hs_mode";
+               qcom,mdss-dsi-h-sync-pulse = <0>;
+               qcom,mdss-dsi-traffic-mode = "burst_mode";
+               qcom,mdss-dsi-bllp-eof-power-mode;
+               qcom,mdss-dsi-bllp-power-mode;
+               qcom,mdss-dsi-lp11-init;
+               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 = [e3 50 36 00 a9 a3 3a 50 3d 03 04 00];
+               qcom,mdss-dsi-t-clk-post = <0x20>;
+               qcom,mdss-dsi-t-clk-pre = <0x36>;
+               qcom,mdss-dsi-bl-min-level = <1>;
+               qcom,mdss-dsi-bl-max-level = <4095>;
+               qcom,mdss-brightness-max-level = <4095>;
+               qcom,mdss-dsi-dma-trigger = "trigger_sw";
+               qcom,mdss-dsi-mdp-trigger = "none";
+               qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled";
+               qcom,mdss-dsi-reset-sequence = <1 10>, <0 1>, <1 10>;
+               qcom,mdss-pan-physical-width-dimension = <64>;
+               qcom,mdss-pan-physical-height-dimension = <114>;
+               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-tx-eot-append;
+               qcom,mdss-panel-on-dimming-delay = <120>;
+               qcom,dispblnotify-enabled;
+               qcom,dispccbb-enabled;
+               qcom,dispparam-enabled;
+               qcom,mdss-night-brightness = <7 25 43 61>;
+               qcom,mdss-dsi-dispparam-cabcon-command = [
+                               29 01 00 00 00 00 02 B0 04
+                               15 01 00 00 00 00 02 55 81
+                               29 01 00 00 00 00 08 B8 89 51 0D 00 02 00 00
+                               29 01 00 00 00 00 1A CE 55 40 4C 5A 69 77 84 93 A2 B1 C1 D1 E0 F0 F1 F2 FF 04 00 04 04 42 00 69 5A
+                               29 01 00 00 00 00 0A F9 66 3F E0 BE 00 8D BF 80 00
+                               29 01 00 00 00 00 02 B0 03
+               ];
+               qcom,mdss-dsi-dispparam-cabcguion-command = [
+                               29 01 00 00 00 00 02 B0 04
+                               15 01 00 00 00 00 02 55 81
+                               29 01 00 00 00 00 08 B8 89 51 0D 00 02 00 00
+                               29 01 00 00 00 00 1A CE 55 40 4C 5A 69 77 84 93 A2 B1 C1 D1 E0 F0 F1 F2 FF 04 00 04 04 42 00 69 5A
+                               29 01 00 00 00 00 0A F9 66 3F E0 BE 00 8D BF 80 00
+                               29 01 00 00 00 00 02 B0 03
+               ];
+               qcom,mdss-dsi-dispparam-cabcstillon-command = [
+                               29 01 00 00 00 00 02 B0 04
+                               15 01 00 00 00 00 02 55 82
+                               29 01 00 00 00 00 08 B9 FF 27 37 00 04 00 00
+                               29 01 00 00 00 00 1A CE 55 40 4C 5A 69 77 84 93 A2 B1 C1 D1 E0 F0 F1 F2 FF 04 00 04 04 42 00 69 5A
+                               29 01 00 00 00 00 0A F9 66 3F E0 BE 00 8D BF 80 00
+                               29 01 00 00 00 00 02 B0 03
+               ];
+               qcom,mdss-dsi-dispparam-cabcmovieon-command = [
+                               29 01 00 00 00 00 02 B0 04
+                               15 01 00 00 00 00 02 55 83
+                               29 01 00 00 00 00 08 BA BB 3D 22 00 03 00 00
+                               29 01 00 00 00 00 1A CE 55 40 4C 5A 69 77 84 93 A2 B1 C1 D1 E0 F0 F1 F2 FF 04 00 04 04 42 00 69 5A
+                               29 01 00 00 00 00 0A F9 66 3F E0 BE 00 8D BF 80 00
+                               29 01 00 00 00 00 02 B0 03
+               ];
+               qcom,mdss-dsi-dispparam-cabcoff-command = [
+                               39 01 00 00 01 00 02 55 00
+               ];
+               qcom,mdss-dsi-dispparam-dimmingon-command = [
+                               39 01 00 00 01 00 02 53 2C
+               ];
+               qcom,mdss-dsi-dispparam-idleon-command = [
+                               39 01 00 00 01 00 02 39 00
+               ];
+               qcom,mdss-dsi-dispparam-idleoff-command = [
+                               39 01 00 00 01 00 02 38 00
+               ];
+               qcom,mdss-dsi-dispparam-warm-command = [
+                               29 01 00 00 00 00 02 B0 04
+                               39 01 00 00 00 00 02 84 80
+                               29 01 00 00 00 00 32 C8 01 00 FB 05 FD FC E0 00 FA 02 F6 FC F0 00 F8 FF ED FC 01 00 FA 05 F9 BC 00 FA 02 F4 EB 00 FB FE EC FC 00 FA 05 FC FC 00 F9 03 F6 DB 00 FA 00 F6 AB
+                               29 01 00 00 00 00 02 CA 1C
+                               29 01 00 00 00 00 02 B0 03
+               ];
+               qcom,mdss-dsi-dispparam-warm-command-state = "dsi_hs_mode";
+               qcom,mdss-dsi-dispparam-cold-command = [
+                               29 01 00 00 00 00 02 B0 04
+                               39 01 00 00 00 00 02 84 7F
+                               29 01 00 00 00 00 32 C8 01 00 FB 05 FD FC E0 00 FA 02 F6 FC F0 00 F8 FF ED FC 01 00 FA 05 F9 BC 00 FA 02 F4 EB 00 FB FE EC FC 00 FA 05 FC FC 00 F9 03 F6 DB 00 FA 00 F6 AB
+                               29 01 00 00 00 00 02 CA 1C
+                               29 01 00 00 00 00 02 B0 03
+               ];
+               qcom,mdss-dsi-dispparam-cold-command-state = "dsi_hs_mode";
+               qcom,mdss-dsi-dispparam-default-command = [
+                               29 01 00 00 00 00 02 B0 04
+                               39 01 00 00 00 00 02 84 00
+                               29 01 00 00 00 00 02 C8 11
+                               29 01 00 00 00 00 02 CA 1C
+                               29 01 00 00 00 00 02 B0 03
+               ];
+               qcom,mdss-dsi-dispparam-default-command-state = "dsi_hs_mode";
+               qcom,mdss-dsi-dispparam-papermode-command = [
+                               29 01 00 00 00 00 02 55 80
+                               29 01 00 00 00 00 02 B0 04
+                               39 01 00 00 00 00 02 84 00
+                               29 01 00 00 00 00 14 c8 01 00 f4 07 fc e3 f3 00 f6 04 f7 fc f2 00 fd ff 02 00 12
+                               29 01 00 00 00 00 2C CA 1D FC FC 48 00 00 D3 00 00 D3 00 00 D3 00 00 D3 00 00 D3 00 00 D3 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+                               29 01 00 00 00 00 02 B0 03
+               ];
+               qcom,mdss-dsi-dispparam-papermode-command-state = "dsi_hs_mode";
+               qcom,mdss-dsi-dispparam-papermode1-command = [
+                               29 01 00 00 00 00 02 B0 04
+                               39 01 00 00 00 00 02 84 00
+                               29 01 00 00 00 00 32 C8 01 00 F8 07 FB D7 F1 00 F8 01 F7 FC F1 00 F6 01 F2 C0 02 00 F9 05 01 59 00 F8 01 F9 B1 00 F7 FE ED FC 00 F9 06 FC ED 00 F8 01 F7 FC 00 F7 01 F6 82
+                               29 01 00 00 00 00 02 CA 1C
+                               29 01 00 00 00 00 02 B0 03
+               ];
+               qcom,mdss-dsi-dispparam-papermode1-command-state = "dsi_hs_mode";
+               qcom,mdss-dsi-dispparam-papermode2-command = [
+                               29 01 00 00 00 00 02 B0 04
+                               39 01 00 00 00 00 02 84 00
+                               29 01 00 00 00 00 32 C8 01 00 FC 03 F8 FC 00 00 FC FF F5 BB 00 00 02 FF F9 76 00 00 FC 03 F8 FC 00 FC FF F5 BB 00 02 FF F9 76 00 FC 03 F8 FC 00 FC FF F5 BB 00 02 FF F9 76
+                               29 01 00 00 00 00 02 CA 1C
+                               29 01 00 00 00 00 02 B0 03
+               ];
+               qcom,mdss-dsi-dispparam-papermode2-command-state = "dsi_hs_mode";
+               qcom,mdss-dsi-dispparam-papermode3-command = [
+                               29 01 00 00 00 00 02 B0 04
+                               39 01 00 00 00 00 02 84 00
+                               29 01 00 00 00 00 32 c8 01 00 FC 03 F8 FC 00 00 FB FF F6 AA 00 00 FE 01 FA 4B 00 00 FC 03 F8 FC 00 FB FF F6 AA 00 FE 01 FA 4B 00 FC 03 F8 FC 00 FB FF F6 AA 00 FE 01 FA 4B
+                               29 01 00 00 00 00 02 CA 1C
+                               29 01 00 00 00 00 02 B0 03
+               ];
+               qcom,mdss-dsi-dispparam-papermode3-command-state = "dsi_hs_mode";
+               qcom,mdss-dsi-dispparam-papermode4-command = [
+                               29 01 00 00 00 00 02 B0 04
+                               39 01 00 00 00 00 02 84 00
+                               29 01 00 00 00 00 32 c8 01 00 FC 03 F8 FC 00 00 FD FF F7 9A 00 00 03 01 FC 27 00 00 FC 03 F8 FC 00 FD FF F7 9A 00 03 01 FC 27 00 FC 03 F8 FC 00 FD FF F7 9A 00 03 01 FC 27
+                               29 01 00 00 00 00 02 CA 1C
+                               29 01 00 00 00 00 02 B0 03
+               ];
+               qcom,mdss-dsi-dispparam-papermode4-command-state = "dsi_hs_mode";
+               qcom,mdss-dsi-dispparam-papermode5-command = [
+                               29 01 00 00 00 00 02 55 80
+                               29 01 00 00 00 00 02 B0 04
+                               39 01 00 00 00 00 02 84 00
+                               29 01 00 00 00 00 14 c8 01 00 f4 08 fb d5 f3 00 f5 04 f7 fc f1 00 fd ff 02 00 22
+                               29 01 00 00 00 00 2C CA 1D FC FC E4 00 00 FA 00 00 FA 00 00 FA 00 00 FA 00 00 FA 00 00 FA 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+                               29 01 00 00 00 00 02 B0 03
+               ];
+               qcom,mdss-dsi-dispparam-papermode5-command-state = "dsi_hs_mode";
+               qcom,mdss-dsi-dispparam-papermode6-command = [
+                               29 01 00 00 00 00 02 55 80
+                               29 01 00 00 00 00 02 B0 04
+                               39 01 00 00 00 00 02 84 00
+                               29 01 00 00 00 00 14 c8 01 00 f4 08 fb db f2 00 f6 04 f7 fc f3 00 fd ff 02 00 22
+                               29 01 00 00 00 00 2C CA 1D FC FC B0 00 00 ED 00 00 ED 00 00 ED 00 00 ED 00 00 ED 00 00 ED 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+                               29 01 00 00 00 00 02 B0 03
+               ];
+               qcom,mdss-dsi-dispparam-papermode6-command-state = "dsi_hs_mode";
+               qcom,mdss-dsi-dispparam-papermode7-command = [
+                               29 01 00 00 00 00 02 55 80
+                               29 01 00 00 00 00 02 B0 04
+                               39 01 00 00 00 00 02 84 00
+                               29 01 00 00 00 00 14 c8 01 00 f4 08 fc df f2 00 f6 04 f7 fc f1 00 fd ff 02 00 12
+                               29 01 00 00 00 00 2C CA 1D FC FC 7C 00 00 E0 00 00 E0 00 00 E0 00 00 E0 00 00 E0 00 00 E0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+                               29 01 00 00 00 00 02 B0 03
+               ];
+               qcom,mdss-dsi-dispparam-papermode7-command-state = "dsi_hs_mode";
+               qcom,mdss-dsi-dispparam-normal1-command = [
+                               29 01 00 00 00 00 02 B0 04
+                               39 01 00 00 00 00 02 84 00
+                               29 01 00 00 00 00 32 C8 01 00 FD FE FC D8 00 00 FC FE FB DC 00 00 01 F3 F0 FC 00 00 FE FD F9 99 00 FE FC FB C8 00 FF F4 EB FC 00 FE FA FD FC 00 FE FB FA E5 00 FF F6 F2 D3
+                               29 01 00 00 00 00 02 CA 1C
+                               29 01 00 00 00 00 02 B0 03
+               ];
+               qcom,mdss-dsi-dispparam-normal1-command-state = "dsi_hs_mode";
+               qcom,mdss-dsi-dispparam-normal2-command = [
+                               29 01 00 00 00 00 02 B0 04
+                               39 01 00 00 00 00 02 84 00
+                               29 01 00 00 00 00 02 C8 11
+                               29 01 00 00 00 00 02 CA 1C
+                               29 01 00 00 00 00 02 B0 03
+               ];
+               qcom,mdss-dsi-dispparam-normal2-command-state = "dsi_hs_mode";
+               qcom,mdss-dsi-dispparam-srgb-command = [
+                               05 01 00 00 10 00 02 11 00
+                               29 01 00 00 00 00 02 B0 00
+                               29 01 00 00 00 00 02 D6 01
+                               29 01 00 00 00 00 13 C8 01 00 FD FE FC FC 00 00 FC FE FB FC 00 00 01 F3 F0 FC
+                               29 01 00 00 00 00 02 CA 1D
+                               29 01 00 00 00 00 02 84 00
+                               29 01 00 00 00 00 02 B0 03
+               ];
+               qcom,mdss-dsi-dispparam-srgb-command-state = "dsi_hs_mode";
+       };
+};
diff --git a/arch/arm/boot/dts/qcom/xiaomi/dsi-panel-lgd-fhd-td4322-cmd.dtsi b/arch/arm/boot/dts/qcom/xiaomi/dsi-panel-lgd-fhd-td4322-cmd.dtsi
new file mode 100644 (file)
index 0000000..0dd9d13
--- /dev/null
@@ -0,0 +1,271 @@
+/* Copyright (c) 2015, The Linux Foundation. All rights reserved.
+ * Copyright (C) 2017 XiaoMi, Inc.
+ *
+ * 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.
+ */
+
+/*---------------------------------------------------------------------------
+ * This file is autogenerated file using gcdb parser. Please do not edit it.
+ * Update input XML file to add a new entry or update variable in this file
+ * VERSION = "1.0"
+ *---------------------------------------------------------------------------*/
+&soc {
+       dsi_lgd_fhd_td4322_cmd: qcom,mdss_dsi_lgd_fhd_td4322_cmd {
+               qcom,mdss-dsi-panel-name = "lgd fhd cmd incell dsi panel";
+               qcom,mdss-dsi-panel-id = <1>;
+               qcom,mdss-dsi-panel-sleepwrmod = <0>;
+               qcom,mdss-dsi-panel-type = "dsi_cmd_mode";
+               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 = <120>;
+               qcom,mdss-dsi-h-back-porch = <40>;
+               qcom,mdss-dsi-h-pulse-width = <16>;
+               qcom,mdss-dsi-h-sync-skew = <0>;
+               qcom,mdss-dsi-v-back-porch = <4>;
+               qcom,mdss-dsi-v-front-porch = <4>;
+               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 = <0xff>;
+               qcom,mdss-dsi-border-color = <0>;
+               qcom,mdss-dsi-on-command = [
+                               15 00 00 00 00 00 02 51 ff
+                               15 00 00 00 00 00 02 53 24
+                               15 00 00 00 00 00 02 55 00
+                               15 00 00 00 00 00 02 35 00
+                               39 01 00 00 00 00 05 30 00 00 02 A7
+                               05 01 00 00 46 00 02 11 00
+                               05 01 00 00 14 00 02 29 00
+                               29 00 00 00 00 00 02 B0 04
+                               39 00 00 00 00 00 02 84 00
+                               29 00 00 00 00 00 02 C8 11
+                               29 00 00 00 00 00 02 CA 1C
+                               29 00 00 00 00 00 02 EA 0F
+                               29 01 00 00 00 00 02 B0 03];
+               qcom,mdss-dsi-off-command = [
+                               05 01 00 00 14 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,esd-check-enabled;
+               qcom,mdss-dsi-panel-status-check-mode = "reg_multi_read";
+               /* mdss-dsi-panel-status-command store all ESD releated commands and expected
+               status values, and every command can have more than one returned values */
+               qcom,mdss-dsi-panel-status-command = [
+                               06 01 00 00 00 00 02 0A 1c
+                               06 01 00 00 00 00 02 EB 00];
+               qcom,mdss-dsi-panel-status-command-state = "dsi_lp_mode";
+               qcom,mdss-dsi-panel-mcap-off-cmds = [29 01 00 00 00 00 02 B0 00];
+               qcom,mdss-dsi-panel-mcap-on-cmds = [29 01 00 00 00 00 02 B0 03];
+               qcom,mdss-dsi-panel-mcap-off-cmds-state = "dsi_lp_mode";
+               qcom,mdss-dsi-panel-mcap-on-cmds-state = "dsi_lp_mode";
+               qcom,mdss-dsi-tx-eot-append;
+               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-lp11-init;
+               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 = [e3 50 36 00 a9 a3 3a 50 3d 03 04 00];
+               qcom,mdss-dsi-t-clk-post = <0x20>;
+               qcom,mdss-dsi-t-clk-pre = <0x36>;
+               qcom,mdss-dsi-bl-min-level = <1>;
+               qcom,mdss-dsi-bl-max-level = <4095>;
+               qcom,mdss-brightness-max-level = <4095>;
+               qcom,mdss-dsi-dma-trigger = "trigger_sw";
+               qcom,mdss-dsi-mdp-trigger = "none";
+               qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled";
+               qcom,mdss-dsi-reset-sequence = <0 1>, <1 20>;
+               qcom,mdss-pan-physical-width-dimension = <64>;
+               qcom,mdss-pan-physical-height-dimension = <114>;
+               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-panel-on-dimming-delay = <120>;
+               qcom,dispblnotify-enabled;
+               qcom,dispccbb-enabled;
+               qcom,dispparam-enabled;
+               qcom,mdss-night-brightness = <7 25 43 61>;
+               qcom,mdss-dsi-dispparam-cabcon-command = [
+                               29 01 00 00 00 00 02 B0 04
+                               15 01 00 00 00 00 02 55 81
+                               29 01 00 00 00 00 08 B8 89 51 0D 00 02 00 00
+                               29 01 00 00 00 00 1A CE 55 40 4C 5A 69 77 84 93 A2 B1 C1 D1 E0 F0 F1 F2 FF 04 00 04 04 42 00 69 5A
+                               29 01 00 00 00 00 0A F9 66 3F E0 BE 00 8D BF 80 00
+                               29 01 00 00 00 00 02 B0 03
+               ];
+               qcom,mdss-dsi-dispparam-cabcguion-command = [
+                               29 01 00 00 00 00 02 B0 04
+                               15 01 00 00 00 00 02 55 81
+                               29 01 00 00 00 00 08 B8 89 51 0D 00 02 00 00
+                               29 01 00 00 00 00 1A CE 55 40 4C 5A 69 77 84 93 A2 B1 C1 D1 E0 F0 F1 F2 FF 04 00 04 04 42 00 69 5A
+                               29 01 00 00 00 00 0A F9 66 3F E0 BE 00 8D BF 80 00
+                               29 01 00 00 00 00 02 B0 03
+               ];
+               qcom,mdss-dsi-dispparam-cabcstillon-command = [
+                               29 01 00 00 00 00 02 B0 04
+                       15 01 00 00 00 00 02 55 82
+                               29 01 00 00 00 00 08 B9 FF 27 37 00 04 00 00
+                               29 01 00 00 00 00 1A CE 55 40 4C 5A 69 77 84 93 A2 B1 C1 D1 E0 F0 F1 F2 FF 04 00 04 04 42 00 69 5A
+                               29 01 00 00 00 00 0A F9 66 3F E0 BE 00 8D BF 80 00
+                               29 01 00 00 00 00 02 B0 03
+               ];
+               qcom,mdss-dsi-dispparam-cabcmovieon-command = [
+                               29 01 00 00 00 00 02 B0 04
+                               15 01 00 00 00 00 02 55 83
+                               29 01 00 00 00 00 08 BA BB 3D 22 00 03 00 00
+                               29 01 00 00 00 00 1A CE 55 40 4C 5A 69 77 84 93 A2 B1 C1 D1 E0 F0 F1 F2 FF 04 00 04 04 42 00 69 5A
+                               29 01 00 00 00 00 0A F9 66 3F E0 BE 00 8D BF 80 00
+                               29 01 00 00 00 00 02 B0 03
+               ];
+               qcom,mdss-dsi-dispparam-cabcoff-command = [
+                               39 01 00 00 01 00 02 55 00
+               ];
+               qcom,mdss-dsi-dispparam-dimmingon-command = [
+                               39 01 00 00 01 00 02 53 2C
+               ];
+               qcom,mdss-dsi-dispparam-idleon-command = [
+                               39 01 00 00 01 00 02 39 00
+               ];
+               qcom,mdss-dsi-dispparam-idleoff-command = [
+                               39 01 00 00 01 00 02 38 00
+               ];
+               qcom,mdss-dsi-dispparam-warm-command = [
+                               29 01 00 00 00 00 02 B0 04
+                               39 01 00 00 00 00 02 84 80
+                               29 01 00 00 00 00 38 C8 01 00 11 04 0A FC F0 00 0E 01 07 FC F0 00 10 01 01 FC 00 00 0E 04 02 BE F0 00 0D 01 05 DB F0 00 10 01 01 FC 00 00 11 04 0A FC F0 00 0E 00 06 E0 F0 00 10 01 01 B9 00
+                               29 01 00 00 00 00 02 CA 1C
+                               29 01 00 00 00 00 02 B0 03
+               ];
+               qcom,mdss-dsi-dispparam-warm-command-state = "dsi_hs_mode";
+               qcom,mdss-dsi-dispparam-cold-command = [
+                               29 01 00 00 00 00 02 B0 04
+                               39 01 00 00 00 00 02 84 7F
+                               29 01 00 00 00 00 38 C8 01 00 11 04 0A FC F0 00 0E 01 07 FC F0 00 10 01 01 FC 00 00 0E 04 02 BE F0 00 0D 01 05 DB F0 00 10 01 01 FC 00 00 11 04 0A FC F0 00 0E 00 06 E0 F0 00 10 01 01 B9 00
+                               29 01 00 00 00 00 02 CA 1C
+                               29 01 00 00 00 00 02 B0 03
+               ];
+               qcom,mdss-dsi-dispparam-cold-command-state = "dsi_hs_mode";
+               qcom,mdss-dsi-dispparam-default-command = [
+                               29 01 00 00 00 00 02 B0 04
+                               39 01 00 00 00 00 02 84 00
+                               29 01 00 00 00 00 02 C8 11
+                               29 01 00 00 00 00 02 CA 1C
+                               29 01 00 00 00 00 02 B0 03
+               ];
+               qcom,mdss-dsi-dispparam-default-command-state = "dsi_hs_mode";
+               qcom,mdss-dsi-dispparam-papermode-command = [
+                               29 01 00 00 00 00 02 55 80
+                               29 01 00 00 00 00 02 B0 04
+                               39 01 00 00 00 00 02 84 00
+                               29 01 00 00 00 00 14 C8 01 00 FF 01 FF FC 00 00 FD FF FF F9 00 00 FE 01 FB 00 00
+                               29 01 00 00 00 00 2C CA 1D FC FC 50 00 00 D5 00 00 D5 00 00 D5 00 00 D5 00 00 D5 00 00 D5 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+                               29 01 00 00 00 00 02 B0 03
+               ];
+               qcom,mdss-dsi-dispparam-papermode-command-state = "dsi_hs_mode";
+               qcom,mdss-dsi-dispparam-papermode1-command = [
+                               29 01 00 00 00 00 02 B0 04
+                               39 01 00 00 00 00 02 84 00
+                               29 01 00 00 00 00 14 C8 01 00 FF 01 02 FC 00 00 FA 01 FF F7 00 00 FE 01 FA C2 00
+                               29 01 00 00 00 00 02 CA 1C
+                               29 01 00 00 00 00 02 B0 03
+               ];
+               qcom,mdss-dsi-dispparam-papermode1-command-state = "dsi_hs_mode";
+               qcom,mdss-dsi-dispparam-papermode2-command = [
+                               29 01 00 00 00 00 02 B0 04
+                               39 01 00 00 00 00 02 84 00
+                               29 01 00 00 00 00 32 C8 01 00 FC 03 F8 FC 00 00 FC FF F5 BB 00 00 02 FF F9 76 00 00 FC 03 F8 FC 00 FC FF F5 BB 00 02 FF F9 76 00 FC 03 F8 FC 00 FC FF F5 BB 00 02 FF F9 76
+                               29 01 00 00 00 00 02 CA 1C
+                               29 01 00 00 00 00 02 B0 03
+               ];
+               qcom,mdss-dsi-dispparam-papermode2-command-state = "dsi_hs_mode";
+               qcom,mdss-dsi-dispparam-papermode3-command = [
+                               29 01 00 00 00 00 02 B0 04
+                               39 01 00 00 00 00 02 84 00
+                               29 01 00 00 00 00 32 C8 01 00 FC 03 F8 FC 00 00 FB FF F6 AA 00 00 FE 01 FA 4B 00 00 FC 03 F8 FC 00 FB FF F6 AA 00 FE 01 FA 4B 00 FC 03 F8 FC 00 FB FF F6 AA 00 FE 01 FA 4B
+                               29 01 00 00 00 00 02 CA 1C
+                               29 01 00 00 00 00 02 B0 03
+               ];
+               qcom,mdss-dsi-dispparam-papermode3-command-state = "dsi_hs_mode";
+               qcom,mdss-dsi-dispparam-papermode4-command = [
+                               29 01 00 00 00 00 02 B0 04
+                               39 01 00 00 00 00 02 84 00
+                               29 01 00 00 00 00 32 C8 01 00 FC 03 F8 FC 00 00 FD FF F7 9A 00 00 03 01 FC 27 00 00 FC 03 F8 FC 00 FD FF F7 9A 00 03 01 FC 27 00 FC 03 F8 FC 00 FD FF F7 9A 00 03 01 FC 27
+                               29 01 00 00 00 00 02 CA 1C
+                               29 01 00 00 00 00 02 B0 03
+               ];
+               qcom,mdss-dsi-dispparam-papermode4-command-state = "dsi_hs_mode";
+               qcom,mdss-dsi-dispparam-papermode5-command = [
+                               29 01 00 00 00 00 02 55 80
+                               29 01 00 00 00 00 02 B0 04
+                               39 01 00 00 00 00 02 84 00
+                               29 01 00 00 00 00 14 C8 01 00 FF 01 FF FC 00 00 F9 01 FE F8 00 00 FE 01 FC 00 00
+                               29 01 00 00 00 00 2C CA 1D FC FC E4 00 00 FA 00 00 FA 00 00 FA 00 00 FA 00 00 FA 00 00 FA 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+                               29 01 00 00 00 00 02 B0 03
+               ];
+               qcom,mdss-dsi-dispparam-papermode5-command-state = "dsi_hs_mode";
+               qcom,mdss-dsi-dispparam-papermode6-command = [
+                               29 01 00 00 00 00 02 55 80
+                               29 01 00 00 00 00 02 B0 04
+                               39 01 00 00 00 00 02 84 00
+                               29 01 00 00 00 00 14 C8 01 00 FF 01 FF FC 00 00 F9 01 FE F8 00 00 FE 01 FC 00 00
+                               29 01 00 00 00 00 2C CA 1D FC FC C4 00 00 F2 00 00 F2 00 00 F2 00 00 F2 00 00 F2 00 00 F2 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+                               29 01 00 00 00 00 02 B0 03
+               ];
+               qcom,mdss-dsi-dispparam-papermode6-command-state = "dsi_hs_mode";
+               qcom,mdss-dsi-dispparam-papermode7-command = [
+                               29 01 00 00 00 00 02 55 80
+                               29 01 00 00 00 00 02 B0 04
+                               39 01 00 00 00 00 02 84 00
+                               29 01 00 00 00 00 14 C8 01 00 FF 01 FF FC 00 00 FD FF FF F9 00 00 FE 01 FB 00 00
+                               29 01 00 00 00 00 2C CA 1D FC FC 84 00 00 E2 00 00 E2 00 00 E2 00 00 E2 00 00 E2 00 00 E2 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+                               29 01 00 00 00 00 02 B0 03
+               ];
+               qcom,mdss-dsi-dispparam-papermode7-command-state = "dsi_hs_mode";
+               qcom,mdss-dsi-dispparam-normal1-command = [
+                               29 01 00 00 00 00 02 B0 04
+                               39 01 00 00 00 00 02 84 00
+                               29 01 00 00 00 00 38 C8 01 00 11 04 0A FC F0 00 0E 01 07 FC F0 00 10 01 01 FC 00 00 0E 04 02 BE F0 00 0D 01 05 DB F0 00 10 01 01 FC 00 00 11 04 0A FC F0 00 0E 00 06 E0 F0 00 10 01 01 B9 00
+                               29 01 00 00 00 00 02 CA 1C
+                               29 01 00 00 00 00 02 B0 03
+               ];
+               qcom,mdss-dsi-dispparam-normal1-command-state = "dsi_hs_mode";
+               qcom,mdss-dsi-dispparam-normal2-command = [
+                               29 01 00 00 00 00 02 B0 04
+                               39 01 00 00 00 00 02 84 00
+                               29 01 00 00 00 00 02 C8 11
+                               29 01 00 00 00 00 02 CA 1C
+                               29 01 00 00 00 00 02 B0 03
+               ];
+               qcom,mdss-dsi-dispparam-normal2-command-state = "dsi_hs_mode";
+               qcom,mdss-dsi-dispparam-srgb-command = [
+                               05 01 00 00 10 00 02 11 00
+                               29 01 00 00 00 00 02 B0 00
+                               29 01 00 00 00 00 02 84 00
+                               29 01 00 00 00 00 02 C8 00
+                               29 01 00 00 00 00 02 CA 1D
+                               29 01 00 00 00 00 02 B0 03
+               ];
+               qcom,mdss-dsi-dispparam-srgb-command-state = "dsi_hs_mode";
+       };
+};
diff --git a/arch/arm/boot/dts/qcom/xiaomi/msm-pm8998.dtsi b/arch/arm/boot/dts/qcom/xiaomi/msm-pm8998.dtsi
new file mode 100644 (file)
index 0000000..db3ba4e
--- /dev/null
@@ -0,0 +1,30 @@
+/* Copyright (c) 2016-2017, The Linux Foundation. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 and
+ * only version 2 as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ */
+
+&spmi_bus {
+       qcom,pm8998@0 {
+               qcom,power-on@800 {
+                       qcom,kpdpwr-sw-debounce;
+                       qcom,pon_1 {
+                               qcom,support-reset = <1>;
+                               qcom,s1-timer = <4480>;
+                               qcom,s2-timer = <2000>;
+                               qcom,s2-type = <7>;
+                       };
+
+                       qcom,pon_3 {
+                               qcom,s1-timer = <3072>;
+                               qcom,s2-type = <PON_POWER_OFF_WARM_RESET>;
+                       };
+               };
+       };
+};
diff --git a/arch/arm/boot/dts/qcom/xiaomi/msm-pmi8998.dtsi b/arch/arm/boot/dts/qcom/xiaomi/msm-pmi8998.dtsi
new file mode 100644 (file)
index 0000000..fd5abc3
--- /dev/null
@@ -0,0 +1,66 @@
+/* Copyright (c) 2016, The Linux Foundation. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 and
+ * only version 2 as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ */
+
+&pmi8998_gpios {
+       gpio@c400 {
+               status = "okay";
+       };
+};
+
+&pmi8998_fg {
+       qcom,fg-memif@4400 {
+               interrupts = <0x2 0x44 0x1 IRQ_TYPE_EDGE_BOTH>,
+                           <0x2 0x44 0x2 IRQ_TYPE_EDGE_BOTH>;
+               interrupt-names = "mem-xcp",
+                               "dma-grant";
+       };
+};
+
+&pmi8998_pwm_2 {
+       status = "okay";
+};
+
+&red_led {
+       /delete-property/ linux,default-trigger;
+};
+
+&green_led {
+       /delete-property/ linux,default-trigger;
+};
+
+&blue_led {
+       /delete-property/ linux,default-trigger;
+};
+
+&pmi8998_wled {
+       qcom,switch-freq-khz = <600>;
+};
+
+&pmi8998_flash0 {
+       qcom,ires-ua = <13000>;
+};
+
+&pmi8998_flash1 {
+       qcom,ires-ua = <13000>;
+};
+
+&pmi8998_torch0 {
+       qcom,max-current = <200>;
+       qcom,current-ma = <75>;
+       qcom,ires-ua = <13000>;
+};
+
+&pmi8998_torch1 {
+       qcom,max-current = <200>;
+       qcom,current-ma = <75>;
+       qcom,ires-ua = <13000>;
+};
diff --git a/arch/arm/boot/dts/qcom/xiaomi/msm8998-audio.dtsi b/arch/arm/boot/dts/qcom/xiaomi/msm8998-audio.dtsi
new file mode 100644 (file)
index 0000000..783211b
--- /dev/null
@@ -0,0 +1,71 @@
+/* Copyright (c) 2016, The Linux Foundation. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 and
+ * only version 2 as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ */
+
+/delete-node/ &wcd_usbc_analog_en1_gpio;
+/delete-node/ &wcd_usbc_analog_en2n_gpio;
+
+&snd_9335 {
+       /delete-property/ qcom,us-euro-gpios;
+
+       asoc-cpu = <&dai_hdmi>, <&dai_dp>,
+                       <&dai_mi2s0>, <&dai_mi2s1>,
+                       <&dai_mi2s2>, <&dai_mi2s3>,
+                       <&dai_pri_auxpcm>, <&dai_sec_auxpcm>,
+                       <&dai_tert_auxpcm>, <&dai_quat_auxpcm>,
+                       <&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_music_2_rx>, <&sb_5_rx>, <&sb_6_rx>,
+                       <&sb_7_rx>, <&sb_7_tx>, <&sb_8_tx>,
+                       <&usb_audio_rx>, <&usb_audio_tx>,
+                       <&dai_mi2s0>, <&dai_mi2s1>,
+                       <&dai_mi2s2>, <&dai_mi2s3>,
+                       <&dai_pri_tdm_rx_0>, <&dai_pri_tdm_tx_0>,
+                       <&dai_sec_tdm_rx_0>, <&dai_sec_tdm_tx_0>,
+                       <&dai_tert_tdm_rx_0>, <&dai_tert_tdm_tx_0>,
+                       <&dai_quat_tdm_rx_0>, <&dai_quat_tdm_tx_0>;
+
+       asoc-cpu-names = "msm-dai-q6-hdmi.8", "msm-dai-q6-dp.24608",
+                       "msm-dai-q6-mi2s.0", "msm-dai-q6-mi2s.1",
+                       "msm-dai-q6-mi2s.2", "msm-dai-q6-mi2s.3",
+                       "msm-dai-q6-auxpcm.1", "msm-dai-q6-auxpcm.2",
+                       "msm-dai-q6-auxpcm.3", "msm-dai-q6-auxpcm.4",
+                       "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.16398",
+                       "msm-dai-q6-dev.16399", "msm-dai-q6-dev.16401",
+                       "msm-dai-q6-dev.28672", "msm-dai-q6-dev.28673",
+                       "msm-dai-q6-tdm.36864", "msm-dai-q6-tdm.36865",
+                       "msm-dai-q6-tdm.36880", "msm-dai-q6-tdm.36881",
+                       "msm-dai-q6-tdm.36896", "msm-dai-q6-tdm.36897",
+                       "msm-dai-q6-tdm.36912", "msm-dai-q6-tdm.36913",
+                       "msm-dai-q6-mi2s.0", "msm-dai-q6-mi2s.1",
+                       "msm-dai-q6-mi2s.2", "msm-dai-q6-mi2s.3";
+};
+
+&soc {
+       sound-tavil {
+               /delete-property/ qcom,usbc-analog-en1_gpio;
+               /delete-property/ qcom,usbc-analog-en2_n_gpio;
+       };
+};
diff --git a/arch/arm/boot/dts/qcom/xiaomi/msm8998-blsp.dtsi b/arch/arm/boot/dts/qcom/xiaomi/msm8998-blsp.dtsi
new file mode 100644 (file)
index 0000000..03aa8b4
--- /dev/null
@@ -0,0 +1,15 @@
+/* Copyright (c) 2016, The Linux Foundation. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 and
+ * only version 2 as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ */
+
+&spi_12 {
+       /delete-property/ qcom,use-bam;
+};
diff --git a/arch/arm/boot/dts/qcom/xiaomi/msm8998-camera.dtsi b/arch/arm/boot/dts/qcom/xiaomi/msm8998-camera.dtsi
new file mode 100644 (file)
index 0000000..143333a
--- /dev/null
@@ -0,0 +1,39 @@
+/* Copyright (c) 2016, The Linux Foundation. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 and
+ * only version 2 as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ */
+
+&soc {
+       qcom,ispif@ca31000 {
+               qcom,clock-control = "INIT_RATE", "NO_SET_RATE",
+                       "NO_SET_RATE", "NO_SET_RATE",
+                       "NO_SET_RATE",
+                       "INIT_RATE", "INIT_RATE",
+                       "INIT_RATE", "INIT_RATE",
+                       "NO_SET_RATE", "NO_SET_RATE",
+                       "NO_SET_RATE", "NO_SET_RATE",
+                       "NO_SET_RATE", "NO_SET_RATE",
+                       "NO_SET_RATE", "NO_SET_RATE",
+                       "NO_SET_RATE", "NO_SET_RATE",
+                       "NO_SET_RATE", "NO_SET_RATE",
+                       "INIT_RATE",
+                       "INIT_RATE", "NO_SET_RATE",
+                       "INIT_RATE",
+                       "INIT_RATE", "NO_SET_RATE";
+       };
+};
+
+&i2c_freq_100Khz {
+       qcom,hw-scl-stretch-en = <1>;
+};
+
+&i2c_freq_400Khz {
+       qcom,hw-scl-stretch-en = <1>;
+};
diff --git a/arch/arm/boot/dts/qcom/xiaomi/msm8998-mdss-panels.dtsi b/arch/arm/boot/dts/qcom/xiaomi/msm8998-mdss-panels.dtsi
new file mode 100644 (file)
index 0000000..1e37742
--- /dev/null
@@ -0,0 +1,198 @@
+/* Copyright (c) 2016-2017, The Linux Foundation. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 and
+ * only version 2 as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ */
+
+#include "dsi-panel-jdi-fhd-r63452-cmd.dtsi"
+#include "dsi-panel-lgd-fhd-td4322-cmd.dtsi"
+#include "dsi-panel-jdi-fhd-nt35596s-video.dtsi"
+#include "dsi-panel-jdi-fhd-nt35596s-pro-video.dtsi"
+#include "dsi-panel-ebbg-fhd-ft8716-video.dtsi"
+
+&soc {
+       dsi_panel_pwr_supply: dsi_panel_pwr_supply {
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               qcom,panel-supply-entry@0 {
+                       reg = <0>;
+                       qcom,supply-name = "wqhd-vddio";
+                       qcom,supply-min-voltage = <1800000>;
+                       qcom,supply-max-voltage = <1800000>;
+                       qcom,supply-enable-load = <32000>;
+                       qcom,supply-disable-load = <80>;
+                       qcom,supply-post-on-sleep = <1>;
+                       qcom,supply-pre-off-sleep = <10>;
+               };
+
+               qcom,panel-supply-entry@1 {
+                       reg = <1>;
+                       qcom,supply-name = "lab";
+                       qcom,supply-min-voltage = <4600000>;
+                       qcom,supply-max-voltage = <6000000>;
+                       qcom,supply-enable-load = <100000>;
+                       qcom,supply-disable-load = <100>;
+               };
+
+               qcom,panel-supply-entry@2 {
+                       reg = <2>;
+                       qcom,supply-name = "ibb";
+                       qcom,supply-min-voltage = <4600000>;
+                       qcom,supply-max-voltage = <6000000>;
+                       qcom,supply-enable-load = <100000>;
+                       qcom,supply-disable-load = <100>;
+                       qcom,supply-post-on-sleep = <10>;
+                       qcom,supply-pre-off-sleep = <5>;
+               };
+       };
+};
+
+&soc {
+       dsi_panel_pwr_supply_jdi_nt35596s: dsi_panel_pwr_supply_jdi_nt35596s {
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               qcom,panel-supply-entry@0 {
+                       reg = <0>;
+                       qcom,supply-name = "wqhd-vddio";
+                       qcom,supply-min-voltage = <1800000>;
+                       qcom,supply-max-voltage = <1800000>;
+                       qcom,supply-enable-load = <32000>;
+                       qcom,supply-disable-load = <80>;
+                       qcom,supply-post-on-sleep = <1>;
+                       qcom,supply-pre-off-sleep = <15>;
+               };
+
+               qcom,panel-supply-entry@1 {
+                       reg = <1>;
+                       qcom,supply-name = "lab";
+                       qcom,supply-min-voltage = <4600000>;
+                       qcom,supply-max-voltage = <6000000>;
+                       qcom,supply-enable-load = <100000>;
+                       qcom,supply-disable-load = <100>;
+               };
+
+               qcom,panel-supply-entry@2 {
+                       reg = <2>;
+                       qcom,supply-name = "ibb";
+                       qcom,supply-min-voltage = <4600000>;
+                       qcom,supply-max-voltage = <6000000>;
+                       qcom,supply-enable-load = <100000>;
+                       qcom,supply-disable-load = <100>;
+                       qcom,supply-pre-off-sleep = <5>;
+               };
+       };
+};
+
+&soc {
+       dsi_panel_pwr_supply_ebbg_ft8716: dsi_panel_pwr_supply_ebbg_ft8716 {
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               qcom,panel-supply-entry@0 {
+                       reg = <0>;
+                       qcom,supply-name = "wqhd-vddio";
+                       qcom,supply-min-voltage = <1800000>;
+                       qcom,supply-max-voltage = <1800000>;
+                       qcom,supply-enable-load = <32000>;
+                       qcom,supply-disable-load = <80>;
+                       qcom,supply-post-on-sleep = <10>;
+                       qcom,supply-pre-off-sleep = <5>;
+               };
+
+               qcom,panel-supply-entry@1 {
+                       reg = <1>;
+                       qcom,supply-name = "lab";
+                       qcom,supply-min-voltage = <4600000>;
+                       qcom,supply-max-voltage = <6000000>;
+                       qcom,supply-enable-load = <100000>;
+                       qcom,supply-disable-load = <100>;
+                       qcom,supply-post-on-sleep = <2>;
+               };
+
+               qcom,panel-supply-entry@2 {
+                       reg = <2>;
+                       qcom,supply-name = "ibb";
+                       qcom,supply-min-voltage = <4600000>;
+                       qcom,supply-max-voltage = <6000000>;
+                       qcom,supply-enable-load = <100000>;
+                       qcom,supply-disable-load = <100>;
+                       qcom,supply-pre-off-sleep = <1>;
+               };
+       };
+};
+
+&soc {
+       dsi_panel_pwr_supply_lgd_td4322: dsi_panel_pwr_supply_lgd_td4322 {
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               qcom,panel-supply-entry@0 {
+                       reg = <0>;
+                       qcom,supply-name = "wqhd-vddio";
+                       qcom,supply-min-voltage = <1800000>;
+                       qcom,supply-max-voltage = <1800000>;
+                       qcom,supply-enable-load = <32000>;
+                       qcom,supply-disable-load = <80>;
+                       qcom,supply-post-on-sleep = <10>;
+                       qcom,supply-pre-off-sleep = <10>;
+               };
+
+               qcom,panel-supply-entry@1 {
+                       reg = <1>;
+                       qcom,supply-name = "lab";
+                       qcom,supply-min-voltage = <4600000>;
+                       qcom,supply-max-voltage = <6000000>;
+                       qcom,supply-enable-load = <100000>;
+                       qcom,supply-disable-load = <100>;
+               };
+
+               qcom,panel-supply-entry@2 {
+                       reg = <2>;
+                       qcom,supply-name = "ibb";
+                       qcom,supply-min-voltage = <4600000>;
+                       qcom,supply-max-voltage = <6000000>;
+                       qcom,supply-enable-load = <100000>;
+                       qcom,supply-disable-load = <100>;
+                       qcom,supply-post-on-sleep = <10>;
+                       qcom,supply-pre-off-sleep = <5>;
+               };
+       };
+};
+
+&dsi_jdi_fhd_r63452_cmd {
+       qcom,mdss-dsi-panel-timings = [00 1a 07 06 0a 11 07 07 05 03 04 00];
+       qcom,mdss-dsi-t-clk-post = <0x07>;
+       qcom,mdss-dsi-t-clk-pre = <0x28>;
+};
+
+&dsi_lgd_fhd_td4322_cmd {
+       qcom,mdss-dsi-panel-timings = [00 1a 07 06 0a 11 07 07 05 03 04 00];
+       qcom,mdss-dsi-t-clk-post = <0x07>;
+       qcom,mdss-dsi-t-clk-pre = <0x28>;
+};
+
+&dsi_jdi_fhd_nt35596s_video {
+       qcom,mdss-dsi-panel-timings = [00 22 08 08 24 24 08 08 05 03 04 00];
+       qcom,mdss-dsi-t-clk-post = <0x0E>;
+       qcom,mdss-dsi-t-clk-pre = <0x34>;
+};
+
+&dsi_jdi_fhd_nt35596s_pro_video {
+       qcom,mdss-dsi-panel-timings = [00 1F 08 08 24 22 08 08 05 03 04 00];
+       qcom,mdss-dsi-t-clk-post = <0x0D>;
+       qcom,mdss-dsi-t-clk-pre = <0x30>;
+};
+
+&dsi_ebbg_fhd_ft8716_video {
+       qcom,mdss-dsi-panel-timings = [00 1c 06 06 0b 10 06 07 05 03 04 00];
+       qcom,mdss-dsi-t-clk-post = <0x07>;
+       qcom,mdss-dsi-t-clk-pre = <0x2A>;
+};
diff --git a/arch/arm/boot/dts/qcom/xiaomi/msm8998-mdss.dtsi b/arch/arm/boot/dts/qcom/xiaomi/msm8998-mdss.dtsi
new file mode 100644 (file)
index 0000000..61d81bd
--- /dev/null
@@ -0,0 +1,19 @@
+/* Copyright (c) 2018, 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 {
+       qcom,mdss-pp-offsets {
+               qcom,mdss-sspp-vig-pcc-off = <0x1780>;
+       };
+};
+
+
diff --git a/arch/arm/boot/dts/qcom/xiaomi/msm8998-pinctrl.dtsi b/arch/arm/boot/dts/qcom/xiaomi/msm8998-pinctrl.dtsi
new file mode 100644 (file)
index 0000000..487c8cd
--- /dev/null
@@ -0,0 +1,420 @@
+/* Copyright (c) 2016, The Linux Foundation. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 and
+ * only version 2 as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ */
+
+&tlmm {
+       cam_sensor_mclk0_active_chiron: cam_sensor_mclk0_active_chiron {
+               mux {
+                       pins = "gpio13";
+                       function = "cam_mclk";
+               };
+
+               config {
+                       pins = "gpio13";
+                       bias-disable;
+                       drive-strength = <0x6>;
+               };
+       };
+
+       cam_sensor_mclk0_suspend_chiron: cam_sensor_mclk0_suspend_chiron {
+               mux {
+                       pins = "gpio13";
+                       function = "cam_mclk";
+               };
+
+               config {
+                       pins = "gpio13";
+                       bias-pull-down;
+                       drive-strength = <0x6>;
+               };
+       };
+
+       cam_sensor_mclk1_active_chiron: cam_sensor_mclk1_active_chiron {
+               mux {
+                       pins = "gpio14";
+                       function = "cam_mclk";
+               };
+
+               config {
+                       pins = "gpio14";
+                       bias-disable;
+                       drive-strength = <0x6>;
+               };
+       };
+
+       cam_sensor_mclk1_suspend_chiron: cam_sensor_mclk1_suspend_chiron {
+               mux {
+                       pins = "gpio14";
+                       function = "cam_mclk";
+               };
+
+               config {
+                       pins = "gpio14";
+                       bias-pull-down;
+                       drive-strength = <0x4>;
+               };
+       };
+
+       fp_mux {
+               fp_active: fp_active {
+                       mux {
+                               pins = "gpio121";
+                               function = "gpio";
+                       };
+
+                       config {
+                               pins = "gpio121";
+                               drive-strength = <8>;
+                               bias-disable;
+                       };
+               };
+
+               fp_suspend: fp_suspend {
+                       mux {
+                               pins = "gpio121";
+                               function = "gpio";
+                       };
+
+                       config {
+                               pins = "gpio121";
+                               drive-strength = <2>;
+                               bias-disable;
+                       };
+               };
+       };
+
+       msm_gpio_37: msm_gpio_37 {
+               mux {
+                       pins = "gpio37";
+                       function = "gpio";
+               };
+
+               config {
+                       pins = "gpio37";
+                       drive-strength = <2>;
+                       bias-disable;
+                       output-low;
+               };
+       };
+
+       msm_gpio_37_output_high: msm_gpio_37_output_high {
+               mux {
+                       pins = "gpio37";
+                       function = "gpio";
+               };
+
+               config {
+                       pins = "gpio37";
+                       drive-strength = <2>;
+                       bias-disable;
+                       output-high;
+               };
+       };
+
+       msm_gpio_121: msm_gpio_121 {
+               mux {
+                       pins = "gpio121";
+                       function = "gpio";
+               };
+
+               config {
+                       pins = "gpio121";
+                       drive-strength = <2>;
+                       bias-pull-down;
+               };
+       };
+
+       msm_gpio_78: msm_gpio_78 {
+               mux {
+                        pins = "gpio78";
+                        function = "gpio";
+               };
+
+               config {
+                       pins = "gpio78";
+                       drive-strength = <2>;
+                       bias-disable;
+                       output-low;
+               };
+       };
+
+       msm_gpio_78_output_high: msm_gpio_78_output_high {
+               mux {
+                       pins = "gpio78";
+                       function = "gpio";
+               };
+
+               config {
+                       pins = "gpio78";
+                       drive-strength = <2>;
+                       bias-disable;
+                       output-high;
+               };
+       };
+
+       gpio_rf {
+               gpio_rf_active: gpio_rf_active {
+                       mux {
+                               pins = "gpio119";
+                               function = "gpio";
+                       };
+
+                       config {
+                               pins = "gpio119";
+                               drive-strength = <2>;
+                               bias-disable;
+                       };
+               };
+
+               gpio_rf_suspend: gpio_rf_suspend {
+                       mux {
+                               pins = "gpio119";
+                               function = "gpio";
+                       };
+
+                       config {
+                               pins = "gpio119";
+                               drive-strength = <2>;
+                               bias-disable;
+                       };
+               };
+       };
+
+       rcv_id {
+               rcv_id_no_pull: rcv_id_no_pull {
+                       mux {
+                               pins = "gpio11";
+                               function = "gpio";
+                       };
+
+                       config {
+                               pins = "gpio11";
+                               drive-strength = <8>;
+                               bias-disable;
+                               input-enable;
+                       };
+               };
+
+               rcv_id_pull_up: rcv_id_pull_up {
+                       mux {
+                               pins = "gpio11";
+                               function = "gpio";
+                       };
+
+                       config {
+                               pins = "gpio11";
+                               drive-strength = <8>;
+                               bias-pull-up;
+                               input-enable;
+                       };
+               };
+
+               rcv_id_pull_down: rcv_id_pull_down {
+                       mux {
+                               pins = "gpio11";
+                               function = "gpio";
+                       };
+
+                       config {
+                               pins = "gpio11";
+                               drive-strength = <8>;
+                               bias-pull-down;
+                               input-enable;
+                       };
+               };
+       };
+
+       spk_id {
+               spk_id_no_pull: spk_id_no_pull {
+                       mux {
+                               pins = "gpio100";
+                               function = "gpio";
+                       };
+
+                       config {
+                               pins = "gpio100";
+                               drive-strength = <8>;
+                               bias-disable;
+                               input-enable;
+                       };
+               };
+
+               spk_id_pull_up: spk_id_pull_up {
+                       mux {
+                               pins = "gpio100";
+                               function = "gpio";
+                       };
+
+                       config {
+                               pins = "gpio100";
+                               drive-strength = <8>;
+                               bias-pull-up;
+                               input-enable;
+                       };
+               };
+
+               spk_id_pull_down: spk_id_pull_down {
+                       mux {
+                               pins = "gpio100";
+                               function = "gpio";
+                       };
+
+                       config {
+                               pins = "gpio100";
+                               drive-strength = <8>;
+                               bias-pull-down;
+                               input-enable;
+                       };
+               };
+       };
+};
+
+&cam_actuator_vaf_active {
+       mux {
+               pins = "gpio29";
+       };
+
+       config {
+               pins = "gpio29";
+       };
+};
+
+&cam_actuator_vaf_suspend {
+       mux {
+               pins = "gpio29";
+       };
+
+       config {
+               pins = "gpio29";
+       };
+};
+
+&cam_sensor_mclk0_active {
+       config {
+               drive-strength = <4>; /* 4 MA */
+       };
+};
+
+&cam_sensor_mclk0_suspend {
+       config {
+               drive-strength = <4>; /* 4 MA */
+       };
+};
+
+&cam_sensor_rear_active {
+       mux {
+               pins = "gpio30", "gpio80";
+       };
+
+       config {
+               pins = "gpio30", "gpio80";
+       };
+};
+
+&cam_sensor_rear_suspend {
+       mux {
+               pins = "gpio30", "gpio80";
+       };
+
+       config {
+               pins = "gpio30", "gpio80";
+       };
+};
+
+&cam_sensor_mclk1_active {
+       config {
+               drive-strength = <4>; /* 4 MA */
+       };
+};
+
+&cam_sensor_mclk1_suspend {
+       config {
+               drive-strength = <4>; /* 4 MA */
+       };
+};
+
+&cam_sensor_rear2_active {
+       mux {
+               pins = "gpio9";
+       };
+
+       config {
+               pins = "gpio9";
+       };
+};
+
+&cam_sensor_rear2_suspend {
+       mux {
+               pins = "gpio9";
+       };
+       config {
+               pins = "gpio9";
+       };
+};
+
+&cam_sensor_mclk2_active {
+       config {
+               drive-strength = <4>; /* 4 MA */
+       };
+};
+
+&cam_sensor_mclk2_suspend {
+       config {
+               drive-strength = <4>; /* 4 MA */
+       };
+};
+
+&cam_sensor_front_active {
+       mux {
+               pins = "gpio28", "gpio27", "gpio9";
+       };
+
+       config {
+               pins = "gpio28", "gpio27", "gpio9";
+       };
+};
+
+&cam_sensor_front_suspend {
+       mux {
+               pins = "gpio28", "gpio27", "gpio9";
+       };
+
+       config {
+               pins = "gpio28", "gpio27", "gpio9";
+       };
+};
+
+&mdss_dsi_active {
+       mux {
+               pins = "gpio94";
+       };
+
+       config {
+               pins = "gpio94";
+       };
+};
+
+&mdss_dsi_suspend {
+       mux {
+               pins = "gpio94";
+       };
+
+       config {
+               pins = "gpio94";
+       };
+};
+
+&ts_reset_suspend {
+       config {
+               /delete-property/ bias-pull-down;
+               bias-disable;
+       };
+};
diff --git a/arch/arm/boot/dts/qcom/xiaomi/msm8998-regulator.dtsi b/arch/arm/boot/dts/qcom/xiaomi/msm8998-regulator.dtsi
new file mode 100644 (file)
index 0000000..d2b0450
--- /dev/null
@@ -0,0 +1,49 @@
+/* Copyright (c) 2016, The Linux Foundation. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 and
+ * only version 2 as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ */
+
+&pm8998_l6 {
+       regulator-min-microvolt = <1800000>;
+       regulator-max-microvolt = <1800000>;
+       qcom,init-ldo-mode = <1>;
+};
+
+&pm8998_l14 {
+       regulator-min-microvolt = <1800000>;
+       regulator-max-microvolt = <1800000>;
+};
+
+&soc {
+       disp_vddts_vreg: disp_vddts_vreg {
+               compatible = "regulator-fixed";
+               regulator-name = "disp_vddts_vreg";
+               startup-delay-us = <4000>;
+               enable-active-high;
+               regulator-boot-on;
+               gpio = <&tlmm 50 0>;
+       };
+
+       fp_vdd_vreg: fp_vdd_vreg {
+               compatible = "regulator-fixed";
+               regulator-name = "fp_vdd_vreg";
+               startup-delay-us = <4000>;
+               enable-active-high;
+               gpio = <&tlmm 35 0>;
+       };
+
+       fp_d5_vdd_vreg: fp_d5_vdd_vreg {
+               compatible = "regulator-fixed";
+               regulator-name = "fp_d5_vdd_vreg";
+               startup-delay-us = <4000>;
+               enable-active-high;
+               gpio = <&tlmm 77 0>;
+       };
+};
diff --git a/arch/arm/boot/dts/qcom/xiaomi/msm8998-v2.1.dtsi b/arch/arm/boot/dts/qcom/xiaomi/msm8998-v2.1.dtsi
new file mode 100644 (file)
index 0000000..41fbc54
--- /dev/null
@@ -0,0 +1,13 @@
+/* Copyright (c) 2016, The Linux Foundation. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 and
+ * only version 2 as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ */
+
+#include "msm8998-v2.dtsi"
diff --git a/arch/arm/boot/dts/qcom/xiaomi/msm8998-v2.dtsi b/arch/arm/boot/dts/qcom/xiaomi/msm8998-v2.dtsi
new file mode 100644 (file)
index 0000000..dbc5219
--- /dev/null
@@ -0,0 +1,24 @@
+/* Copyright (c) 2016, The Linux Foundation. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 and
+ * only version 2 as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ */
+
+#include "msm8998.dtsi"
+
+&qusb_phy0 {
+       reg = <0x0c012000 0x2a8>,
+             <0x01fcb24c 0x4>;
+       reg-names = "qusb_phy_base",
+                       "tcsr_clamp_dig_n_1p8";
+};
+
+&msm_gpu {
+       qcom,restrict-pwrlevel = <1>;   
+};
diff --git a/arch/arm/boot/dts/qcom/xiaomi/msm8998.dtsi b/arch/arm/boot/dts/qcom/xiaomi/msm8998.dtsi
new file mode 100644 (file)
index 0000000..3227d93
--- /dev/null
@@ -0,0 +1,147 @@
+/* Copyright (c) 2016, The Linux Foundation. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 and
+ * only version 2 as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ */
+
+/delete-node/ &pil_ipa_gpu_mem;
+/delete-node/ &pil_slpi_mem;
+/delete-node/ &pil_mba_mem;
+/delete-node/ &pil_video_mem;
+/delete-node/ &modem_mem;
+/delete-node/ &pil_adsp_mem;
+
+/ {
+       reserved-memory {
+               pil_ipa_gpu_mem: pil_ipa_gpu_region@95600000 {
+                       compatible = "removed-dma-pool";
+                       no-map;
+                       reg = <0 0x95600000 0 0x100000>;
+               };
+
+               pil_slpi_mem: pil_slpi_region@94700000 {
+                       compatible = "removed-dma-pool";
+                       no-map;
+                       reg = <0 0x94700000 0 0xf00000>;
+               };
+
+               pil_mba_mem: pil_mba_region@94500000 {
+                       compatible = "removed-dma-pool";
+                       no-map;
+                       reg = <0 0x94500000 0 0x200000>;
+               };
+
+               pil_video_mem: pil_video_region@94000000 {
+                       compatible = "removed-dma-pool";
+                       no-map;
+                       reg = <0 0x94000000 0 0x500000>;
+               };
+
+               modem_mem: modem_region@8d000000 {
+                       compatible = "removed-dma-pool";
+                       no-map;
+                       reg = <0 0x8d000000 0 0x7000000>;
+               };
+
+               pil_adsp_mem: pil_adsp_region@0x8b200000 {
+                       compatible = "removed-dma-pool";
+                       no-map;
+                       reg = <0 0x8b200000 0 0x1e00000>;
+               };
+       };
+};
+
+/delete-node/ &firmware;
+
+/ {
+       firmware: firmware {
+               android {
+                       compatible = "android,firmware";
+                       fstab {
+                               compatible = "android,fstab";
+                               system {
+                                       compatible = "android,system";
+                                       dev = "/dev/block/platform/soc/1da4000.ufshc/by-name/system";
+                                       type = "ext4";
+                                       mnt_flags = "ro,barrier=1,discard";
+                                       fsmgr_flags = "wait,verify";
+                                       status = "ok";
+                               };
+                       };
+               };
+       };
+};
+
+&usb3 {
+       dwc3@a800000 {
+               maximum-speed = "high-speed";
+       };              
+};
+
+&soc {
+       qcom,sensor-information {
+               sensor_information28: qcom,sensor-information-28 {
+                       qcom,sensor-type =  "adc";
+                       qcom,sensor-name = "xo_therm";
+               };
+               sensor_information29: qcom,sensor-information-29 {
+                       qcom,sensor-type = "llm";
+                       qcom,sensor-name = "limits_sensor-01";
+               };
+               sensor_information30: qcom,sensor-information-30 {
+                       qcom,sensor-type = "llm";
+                       qcom,sensor-name = "limits_sensor-02";
+               };
+       };
+};
+
+&wdog {
+       qcom,bark-time = <20000>;
+       qcom,pet-time = <15000>;
+};
+
+&gdsc_venus {
+       clock-names = "bus_clk", "maxi_clk", "core_clk";
+       clocks = <&clock_mmss clk_mmss_video_axi_clk>,
+               <&clock_mmss clk_mmss_video_maxi_clk>,
+               <&clock_mmss clk_mmss_video_core_clk>;
+};
+
+&gdsc_venus_core0 {
+       clock-names = "core0_clk";
+       clocks = <&clock_mmss clk_mmss_video_subcore0_clk>;
+};
+
+&gdsc_venus_core1 {
+       clock-names = "core1_clk";
+       clocks = <&clock_mmss clk_mmss_video_subcore1_clk>;
+};
+
+&gdsc_camss_top {
+       clock-names = "bus_clk", "vfe_axi";
+       clocks = <&clock_mmss clk_mmss_camss_cpp_axi_clk>,
+               <&clock_mmss clk_mmss_camss_vfe_vbif_axi_clk>;
+};
+
+&gdsc_vfe0 {
+       clock-names = "core0_clk" , "core0_stream_clk";
+       clocks = <&clock_mmss clk_mmss_camss_vfe0_clk>,
+               <&clock_mmss clk_mmss_camss_vfe0_stream_clk>;
+};
+
+&gdsc_vfe1 {
+       clock-names = "core1_clk" , "core1_stream_clk";
+       clocks = <&clock_mmss clk_mmss_camss_vfe1_clk>,
+               <&clock_mmss clk_mmss_camss_vfe1_stream_clk>;
+};
+
+&gdsc_cpp {
+       clock-names = "core_clk";
+       clocks = <&clock_mmss clk_mmss_camss_cpp_clk>;
+};
diff --git a/arch/arm/boot/dts/qcom/xiaomi/sagit-camera-sensor-mtp.dtsi b/arch/arm/boot/dts/qcom/xiaomi/sagit-camera-sensor-mtp.dtsi
new file mode 100644 (file)
index 0000000..294ce3a
--- /dev/null
@@ -0,0 +1,480 @@
+/*
+ * Copyright (c) 2016, The Linux Foundation. All rights reserved.
+ * Copyright (C) 2018 XiaoMi, Inc.
+ *
+ * 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.
+ */
+
+&soc {
+       led_flash0: qcom,camera-flash@0 {
+               cell-index = <0>;
+               compatible = "qcom,camera-flash";
+               qcom,flash-source = <&pmi8998_flash0 &pmi8998_flash1>;
+               qcom,torch-source = <&pmi8998_torch0 &pmi8998_torch1>;
+               qcom,switch-source = <&pmi8998_switch0>;
+               status = "ok";
+       };
+
+       led_flash1: qcom,camera-flash@1 {
+               cell-index = <1>;
+               compatible = "qcom,camera-flash";
+               qcom,flash-source = <&pmi8998_flash2>;
+               qcom,torch-source = <&pmi8998_torch2>;
+               qcom,switch-source = <&pmi8998_switch1>;
+               status = "disable";
+       };
+
+       vaf_gpio_supply: vaf_gpio_supply {
+               compatible = "regulator-fixed";
+               regulator-name = "vaf_gpio_supply";
+               regulator-min-microvolt = <2800000>;
+               regulator-max-microvolt = <2800000>;
+               startup-delay-us = <4000>;
+               enable-active-high;
+               gpio = <&tlmm 29 0>;
+       };
+
+       vana_gpio_supply: vana_gpio_supply {
+               compatible = "regulator-fixed";
+               regulator-name = "vana_gpio_supply";
+               regulator-min-microvolt = <2800000>;
+               regulator-max-microvolt = <2800000>;
+               startup-delay-us = <4000>;
+               enable-active-high;
+               gpio = <&tlmm 80 0>;
+       };
+
+       vdig_gpio_supply: vdig_gpio_supply {
+               compatible = "regulator-fixed";
+               regulator-name = "vdig_gpio_supply";
+               regulator-min-microvolt = <1100000>;
+               regulator-max-microvolt = <1100000>;
+               startup-delay-us = <4000>;
+               enable-active-high;
+               gpio = <&pm8998_gpios 20 0>;
+       };
+};
+
+&cci {
+       actuator0: qcom,actuator@0 {
+               cell-index = <0>;
+               reg = <0x0>;
+               compatible = "qcom,actuator";
+               qcom,cci-master = <0>;
+               cam_vio-supply = <&pm8998_lvs1>;
+               cam_vaf-supply = <&vaf_gpio_supply>;
+               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>;
+       };
+
+       actuator1: qcom,actuator@1 {
+               cell-index = <1>;
+               reg = <0x1>;
+               compatible = "qcom,actuator";
+               qcom,cci-master = <1>;
+               cam_vio-supply = <&pm8998_lvs1>;
+               cam_vaf-supply = <&vaf_gpio_supply>;
+               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>;
+       };
+
+       ois0: qcom,ois@0 {
+               cell-index = <0>;
+               reg = <0x0>;
+               compatible = "qcom,ois";
+               qcom,cci-master = <0>;
+               cam_vaf-supply = <&vaf_gpio_supply>;
+               qcom,cam-vreg-name = "cam_vaf";
+               qcom,cam-vreg-min-voltage = <2800000>;
+               qcom,cam-vreg-max-voltage = <2800000>;
+               qcom,cam-vreg-op-mode = <100000>;
+       };
+
+       eeprom0: qcom,eeprom@0 {
+               cell-index = <0>;
+               reg = <0>;
+               qcom,eeprom-name = "sagit_imx386_semco";
+               compatible = "qcom,eeprom";
+               qcom,slave-addr = <0xa0>;
+               qcom,i2c-freq-mode = <1>;
+               qcom,num-blocks = <1>;
+               qcom,page0 = <0 0 0 0 0 0>;
+               qcom,poll0 = <0 0 0 0 0 0>;
+               qcom,mem0 = <7039 0x00 2 0 1 0>;
+               cam_vio-supply = <&pm8998_lvs1>;
+               cam_vdig-supply = <&vdig_gpio_supply>;
+               cam_vana-supply = <&vana_gpio_supply>;
+               qcom,cam-vreg-name = "cam_vio", "cam_vdig", "cam_vana";
+               qcom,cam-vreg-min-voltage = <0 1000000 2600000>;
+               qcom,cam-vreg-max-voltage = <0 1200000 2900000>;
+               qcom,cam-vreg-op-mode = <0 1100000 2800000>;
+               qcom,cam-power-seq-type = "sensor_vreg";
+               qcom,cam-power-seq-val = "cam_vio";
+               qcom,cam-power-seq-cfg-val = <1>;
+               qcom,cam-power-seq-delay = <1>;
+               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";
+               qcom,sensor-position = <0>;
+               qcom,sensor-mode = <0>;
+               qcom,cci-master = <0>;
+               status = "ok";
+               clocks = <&clock_mmss clk_mclk0_clk_src>,
+                               <&clock_mmss clk_mmss_camss_mclk0_clk>;
+               clock-names = "cam_src_clk", "cam_clk";
+               qcom,clock-rates = <24000000 0>;
+       };
+
+       eeprom1: qcom,eeprom@1 {
+               cell-index = <1>;
+               reg = <1>;
+               qcom,eeprom-name = "sagit_s5k3m3_semco";
+               compatible = "qcom,eeprom";
+               qcom,slave-addr = <0xa0>;
+               qcom,i2c-freq-mode = <1>;
+               qcom,num-blocks = <1>;
+               qcom,page0 = <0 0 0 0 0 0>;
+               qcom,poll0 = <0 0 0 0 0 0>;
+               qcom,mem0 = <4912 0x00 2 0 1 0>;
+               cam_vio-supply = <&pm8998_lvs1>;
+               cam_vdig-supply = <&vdig_gpio_supply>;
+               cam_vana-supply = <&vana_gpio_supply>;
+               qcom,cam-vreg-name = "cam_vio", "cam_vdig", "cam_vana";
+               qcom,cam-vreg-min-voltage = <0 1000000 2800000>;
+               qcom,cam-vreg-max-voltage = <0 1100000 2800000>;
+               qcom,cam-vreg-op-mode = <0 1100000 2800000>;
+               qcom,cam-power-seq-type = "sensor_vreg";
+               qcom,cam-power-seq-val = "cam_vio";
+               qcom,cam-power-seq-cfg-val = <1>;
+               qcom,cam-power-seq-delay = <1>;
+               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";
+               qcom,sensor-position = <0>;
+               qcom,sensor-mode = <0>;
+               qcom,cci-master = <0>;
+               status = "ok";
+               clocks = <&clock_mmss clk_mclk0_clk_src>,
+                               <&clock_mmss clk_mmss_camss_mclk0_clk>;
+               clock-names = "cam_src_clk", "cam_clk";
+               qcom,clock-rates = <24000000 0>;
+       };
+
+       eeprom2: qcom,eeprom@2 {
+               cell-index = <2>;
+               reg = <0x2>;
+               qcom,eeprom-name = "sagit_imx268_primax";
+               compatible = "qcom,eeprom";
+               qcom,slave-addr = <0x34>;
+               qcom,i2c-freq-mode = <1>;
+               qcom,num-blocks = <4>;
+               qcom,saddr0 = <0x34>;
+               qcom,page0 = <1 0x0A02 2 0x00 1 0>;
+               qcom,pageen0 = <1 0x0A00 2 0x01 1 0>;
+               qcom,poll0 = <0 0x0 0 0x0 0 0>;
+               qcom,mem0 = <64 0x0A04 2 0 1 0>;
+
+               qcom,saddr1 = <0x34>;
+               qcom,page1 = <1 0x0A02 2 0x01 1 0>;
+               qcom,pageen1 = <1 0x0A00 2 0x01 1 0>;
+               qcom,poll1 = <0 0x0 0 0x0 0 0>;
+               qcom,mem1 = <64 0x0A04 2 0 1 0>;
+
+               qcom,saddr2 = <0x34>;
+               qcom,page2 = <1 0x0A02 2 0x02 1 0>;
+               qcom,pageen2 = <1 0x0A00 2 0x01 1 0>;
+               qcom,poll2 = <0 0x0 0 0x0 0 0>;
+               qcom,mem2 = <64 0x0A04 2 0 1 0>;
+
+               qcom,saddr3 = <0x34>;
+               qcom,page3 = <1 0x0A02 2 0x03 1 0>;
+               qcom,pageen3 = <1 0x0A00 2 0x01 1 0>;
+               qcom,poll3 = <0 0x0 0 0x0 0 0>;
+               qcom,mem3 = <64 0x0A04 2 0 1 0>;
+
+               cam_vio-supply = <&pm8998_lvs1>;
+               cam_vana-supply = <&pm8998_l22>;
+               qcom,cam-vreg-name = "cam_vio", "cam_vana";
+               qcom,cam-vreg-min-voltage = <0 2864000>;
+               qcom,cam-vreg-max-voltage = <0 2864000>;
+               qcom,cam-vreg-op-mode = <0 80000>;
+               qcom,cam-power-seq-type = "sensor_gpio", "sensor_gpio", "sensor_gpio", "sensor_vreg", "sensor_vreg", "sensor_clk", "sensor_gpio", "sensor_gpio";
+               qcom,cam-power-seq-val = "sensor_gpio_reset","sensor_gpio_standby", "sensor_gpio_vdig", "cam_vio", "cam_vana", "sensor_cam_mclk", "sensor_gpio_reset","sensor_gpio_standby";
+               qcom,cam-power-seq-cfg-val = <0 0 1 1 2864000 24000000 1 1>;
+               qcom,cam-power-seq-delay = <1 1 1 1 1 1 1 1>;
+               qcom,gpio-no-mux = <0>;
+               pinctrl-names = "cam_default", "cam_suspend";
+               pinctrl-0 = <&cam_sensor_mclk1_active
+                               &cam_sensor_front_active>;
+               pinctrl-1 = <&cam_sensor_mclk1_suspend
+                               &cam_sensor_front_suspend>;
+               gpios = <&tlmm 14 0>,
+                       <&tlmm 27 0>,
+                       <&tlmm 28 0>,
+                       <&pm8998_gpios 9 0>;
+               qcom,gpio-standby = <1>;
+               qcom,gpio-reset = <2>;
+               qcom,gpio-vdig = <3>;
+               qcom,gpio-req-tbl-num = <0 1 2 3>;
+               qcom,gpio-req-tbl-flags = <1 0 0 0>;
+               qcom,gpio-req-tbl-label = "CAMIF_MCLK1",
+                                       "CAM_STANDBY1",
+                                       "CAM_RESET1",
+                                       "CAM_VDIG";
+               qcom,cci-master = <1>;
+               status = "ok";
+
+               clocks = <&clock_mmss clk_mclk1_clk_src>,
+                       <&clock_mmss clk_mmss_camss_mclk1_clk>;
+               clock-names = "cam_src_clk", "cam_clk";
+               qcom,clock-rates = <24000000 0>;
+       };
+
+       eeprom3: qcom,eeprom@3 {
+               cell-index = <3>;
+               reg = <0x3>;
+               qcom,eeprom-name = "sagit_imx268_liteon";
+               compatible = "qcom,eeprom";
+               qcom,slave-addr = <0x34>;
+               qcom,i2c-freq-mode = <1>;
+               qcom,num-blocks = <4>;
+               qcom,saddr0 = <0x34>;
+               qcom,page0 = <1 0x0A02 2 0x00 1 0>;
+               qcom,pageen0 = <1 0x0A00 2 0x01 1 0>;
+               qcom,poll0 = <0 0x0 0 0x0 0 0>;
+               qcom,mem0 = <64 0x0A04 2 0 1 0>;
+
+               qcom,saddr1 = <0x34>;
+               qcom,page1 = <1 0x0A02 2 0x01 1 0>;
+               qcom,pageen1 = <1 0x0A00 2 0x01 1 0>;
+               qcom,poll1 = <0 0x0 0 0x0 0 0>;
+               qcom,mem1 = <64 0x0A04 2 0 1 0>;
+
+               qcom,saddr2 = <0x34>;
+               qcom,page2 = <1 0x0A02 2 0x02 1 0>;
+               qcom,pageen2 = <1 0x0A00 2 0x01 1 0>;
+               qcom,poll2 = <0 0x0 0 0x0 0 0>;
+               qcom,mem2 = <64 0x0A04 2 0 1 0>;
+
+               qcom,saddr3 = <0x34>;
+               qcom,page3 = <1 0x0A02 2 0x03 1 0>;
+               qcom,pageen3 = <1 0x0A00 2 0x01 1 0>;
+               qcom,poll3 = <0 0x0 0 0x0 0 0>;
+               qcom,mem3 = <64 0x0A04 2 0 1 0>;
+
+               cam_vio-supply = <&pm8998_lvs1>;
+               cam_vana-supply = <&pm8998_l22>;
+               qcom,cam-vreg-name = "cam_vio", "cam_vana";
+               qcom,cam-vreg-min-voltage = <0 2864000>;
+               qcom,cam-vreg-max-voltage = <0 2864000>;
+               qcom,cam-vreg-op-mode = <0 80000>;
+               qcom,cam-power-seq-type = "sensor_gpio", "sensor_gpio", "sensor_gpio", "sensor_vreg", "sensor_vreg", "sensor_clk", "sensor_gpio", "sensor_gpio";
+               qcom,cam-power-seq-val = "sensor_gpio_reset","sensor_gpio_standby", "sensor_gpio_vdig", "cam_vio", "cam_vana", "sensor_cam_mclk", "sensor_gpio_reset","sensor_gpio_standby";
+               qcom,cam-power-seq-cfg-val = <0 0 1 1 2864000 24000000 1 1>;
+               qcom,cam-power-seq-delay = <1 1 1 1 1 1 1 1>;
+               qcom,gpio-no-mux = <0>;
+               pinctrl-names = "cam_default", "cam_suspend";
+               pinctrl-0 = <&cam_sensor_mclk1_active
+                               &cam_sensor_front_active>;
+               pinctrl-1 = <&cam_sensor_mclk1_suspend
+                               &cam_sensor_front_suspend>;
+               gpios = <&tlmm 14 0>,
+                       <&tlmm 27 0>,
+                       <&tlmm 28 0>,
+                       <&pm8998_gpios 9 0>;
+               qcom,gpio-standby = <1>;
+               qcom,gpio-reset = <2>;
+               qcom,gpio-vdig = <3>;
+               qcom,gpio-req-tbl-num = <0 1 2 3>;
+               qcom,gpio-req-tbl-flags = <1 0 0 0>;
+               qcom,gpio-req-tbl-label = "CAMIF_MCLK1",
+                                       "CAM_STANDBY1",
+                                       "CAM_RESET1",
+                                       "CAM_VDIG";
+               qcom,cci-master = <1>;
+               status = "ok";
+
+               clocks = <&clock_mmss clk_mclk1_clk_src>,
+                       <&clock_mmss clk_mmss_camss_mclk1_clk>;
+               clock-names = "cam_src_clk", "cam_clk";
+               qcom,clock-rates = <24000000 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>;
+               qcom,ois-src = <&ois0>;
+               cam_vio-supply = <&pm8998_lvs1>;
+               cam_vdig-supply = <&vdig_gpio_supply>;
+               cam_vana-supply = <&vana_gpio_supply>;
+               qcom,cam-vreg-name = "cam_vio", "cam_vdig", "cam_vana";
+               qcom,cam-vreg-min-voltage = <0 1000000 2600000>;
+               qcom,cam-vreg-max-voltage = <0 1200000 2900000>;
+               qcom,cam-vreg-op-mode = <0 1100000 2800000>;
+               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";
+               qcom,sensor-position = <0>;
+               qcom,sensor-mode = <0>;
+               qcom,cci-master = <0>;
+               status = "ok";
+               clocks = <&clock_mmss clk_mclk0_clk_src>,
+                               <&clock_mmss clk_mmss_camss_mclk0_clk>;
+               clock-names = "cam_src_clk", "cam_clk";
+               qcom,clock-rates = <24000000 0>;
+       };
+
+       qcom,camera@1 {
+               cell-index = <1>;
+               compatible = "qcom,camera";
+               reg = <0x1>;
+               qcom,csiphy-sd-index = <2>;
+               qcom,csid-sd-index = <2>;
+               qcom,mount-angle = <90>;
+               qcom,led-flash-src = <&led_flash0>;
+               qcom,actuator-src = <&actuator1>;
+               qcom,eeprom-src = <&eeprom1>;
+               cam_vio-supply = <&pm8998_lvs1>;
+               cam_vdig-supply = <&vdig_gpio_supply>;
+               cam_vana-supply = <&vana_gpio_supply>;
+               qcom,cam-vreg-name = "cam_vio", "cam_vdig", "cam_vana";
+               qcom,cam-vreg-min-voltage = <0 1000000 2800000>;
+               qcom,cam-vreg-max-voltage = <0 1100000 2800000>;
+               qcom,cam-vreg-op-mode = <0 1100000 2800000>;
+               qcom,gpio-no-mux = <0>;
+               pinctrl-names = "cam_default", "cam_suspend";
+               pinctrl-0 = <&cam_sensor_mclk2_active
+                                &cam_sensor_rear2_active>;
+               pinctrl-1 = <&cam_sensor_mclk2_suspend
+                                &cam_sensor_rear2_suspend>;
+               gpios = <&tlmm 15 0>,
+                       <&tlmm 9 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_MCLK2",
+                                         "CAM_RESET2";
+               qcom,sensor-position = <0>;
+               qcom,sensor-mode = <0>;
+               qcom,cci-master = <1>;
+               status = "ok";
+               clocks = <&clock_mmss clk_mclk2_clk_src>,
+                       <&clock_mmss clk_mmss_camss_mclk2_clk>;
+               clock-names = "cam_src_clk", "cam_clk";
+               qcom,clock-rates = <24000000 0>;
+       };
+
+       qcom,camera@2 {
+               cell-index = <2>;
+               compatible = "qcom,camera";
+               reg = <0x02>;
+               qcom,csiphy-sd-index = <1>;
+               qcom,csid-sd-index = <1>;
+               qcom,mount-angle = <270>;
+               qcom,eeprom-src = <&eeprom2 &eeprom3>;
+               cam_vio-supply = <&pm8998_lvs1>;
+               cam_vana-supply = <&pm8998_l22>;
+               qcom,cam-vreg-name = "cam_vio", "cam_vana";
+               qcom,cam-vreg-min-voltage =
+                       <0 2864000>;
+               qcom,cam-vreg-max-voltage =
+                       <0 2864000>;
+               qcom,cam-vreg-op-mode = <0 80000>;
+               qcom,gpio-no-mux = <0>;
+               pinctrl-names = "cam_default", "cam_suspend";
+               pinctrl-0 = <&cam_sensor_mclk1_active
+                                &cam_sensor_front_active>;
+               pinctrl-1 = <&cam_sensor_mclk1_suspend
+                                &cam_sensor_front_suspend>;
+               gpios = <&tlmm 14 0>,
+                       <&tlmm 27 0>,
+                       <&tlmm 28 0>,
+                       <&pm8998_gpios 9 0>;
+               qcom,gpio-standby = <1>;
+               qcom,gpio-reset = <2>;
+               qcom,gpio-vdig = <3>;
+               qcom,gpio-req-tbl-num = <0 1 2 3>;
+               qcom,gpio-req-tbl-flags = <1 0 0 0>;
+               qcom,gpio-req-tbl-label = "CAMIF_MCLK1",
+                                       "CAM_STANDBY1",
+                                       "CAM_RESET1",
+                                       "CAM_VDIG";
+               qcom,sensor-position = <1>;
+               qcom,sensor-mode = <0>;
+               qcom,cci-master = <1>;
+               status = "ok";
+               clocks = <&clock_mmss clk_mclk1_clk_src>,
+                       <&clock_mmss clk_mmss_camss_mclk1_clk>;
+               clock-names = "cam_src_clk", "cam_clk";
+               qcom,clock-rates = <24000000 0>;
+       };
+};
+&pm8998_gpios {
+       gpio@c800 { /* GPIO 9 - CAMERA SENSOR 2 VDIG */
+               qcom,mode = <1>;                /* Output */
+               qcom,pull = <5>;                /* No Pull */
+               qcom,vin-sel = <0>;             /* VIN1 GPIO_LV */
+               qcom,src-sel = <0>;             /* GPIO */
+               qcom,invert = <0>;              /* Invert */
+               qcom,master-en = <1>;           /* Enable GPIO */
+               status = "ok";
+       };
+
+       gpio@d300 { /* GPIO 20 - CAMERA SENSOR 0 VDIG */
+               qcom,mode = <1>;                /* Output */
+               qcom,pull = <5>;                /* No Pull */
+               qcom,vin-sel = <1>;             /* VIN1 GPIO_MV */
+               qcom,src-sel = <0>;             /* GPIO */
+               qcom,invert = <0>;              /* Invert */
+               qcom,master-en = <1>;           /* Enable GPIO */
+               status = "ok";
+       };
+};
diff --git a/arch/arm/boot/dts/qcom/xiaomi/sagit-msm8998-mtp.dtsi b/arch/arm/boot/dts/qcom/xiaomi/sagit-msm8998-mtp.dtsi
new file mode 100644 (file)
index 0000000..67a586e
--- /dev/null
@@ -0,0 +1,965 @@
+/* Copyright (c) 2016, The Linux Foundation. All rights reserved.
+ * Copyright (C) 2018 XiaoMi, Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 and
+ * only version 2 as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ */
+
+#include <dt-bindings/interrupt-controller/irq.h>
+#include "../msm8998-pinctrl.dtsi"
+#include "msm8998-pinctrl.dtsi"
+#include "msm-pm8998.dtsi"
+#include "msm-pmi8998.dtsi"
+#include "msm8998-regulator.dtsi"
+#include "msm8998-camera.dtsi"
+#include "../msm8998-mdss-panels.dtsi"
+#include "msm8998-mdss-panels.dtsi"
+#include "msm8998-blsp.dtsi"
+#include "msm8998-audio.dtsi"
+#include "msm8998-mdss.dtsi"
+
+#include "sagit-camera-sensor-mtp.dtsi"
+
+/ {
+       bluetooth: bt_wcn3990 {
+               compatible = "qca,wcn3990";
+
+               clock-names = "rf_clk2";
+               clocks = <&clock_gcc clk_rf_clk2_pin>;
+
+               qca,bt-vdd-io-supply = <&pm8998_s3>;
+               qca,bt-vdd-xtal-supply = <&pm8998_s5>;
+               qca,bt-vdd-core-supply = <&pm8998_l7>;
+               qca,bt-vdd-pa-supply = <&pm8998_l17>;
+               qca,bt-vdd-ldo-supply = <&pm8998_l25>;
+               qca,bt-chip-pwd-supply = <&pmi8998_bob_pin1>;
+
+               qca,bt-vdd-io-voltage-level = <1352000 1352000>;
+               qca,bt-vdd-xtal-voltage-level = <2040000 2040000>;
+               qca,bt-vdd-core-voltage-level = <1800000 1800000>;
+               qca,bt-vdd-pa-voltage-level = <1304000 1304000>;
+               qca,bt-vdd-ldo-voltage-level = <3312000 3312000>;
+               qca,bt-chip-pwd-voltage-level = <3600000 3600000>;
+
+               qca,bt-vdd-io-current-level = <1>; /* LPM/PFM */
+               qca,bt-vdd-xtal-current-level = <1>; /* LPM/PFM */
+               qca,bt-vdd-core-current-level = <1>; /* LPM/PFM */
+               qca,bt-vdd-pa-current-level = <1>; /* LPM/PFM */
+               qca,bt-vdd-ldo-current-level = <1>; /* LPM/PFM */
+       };
+};
+
+&blsp1_uart3_hs {
+       status = "ok";
+};
+
+&ufsphy1 {
+       vdda-phy-supply = <&pm8998_l1>;
+       vdda-pll-supply = <&pm8998_l2>;
+       vddp-ref-clk-supply = <&pm8998_l26>;
+       vdda-phy-max-microamp = <51400>;
+       vdda-pll-max-microamp = <14600>;
+       vddp-ref-clk-max-microamp = <100>;
+       vddp-ref-clk-always-on;
+
+       status = "ok";
+};
+
+&ufs1 {
+       vdd-hba-supply = <&gdsc_ufs>;
+       vdd-hba-fixed-regulator;
+       vcc-supply = <&pm8998_l20>;
+       vccq-supply = <&pm8998_l26>;
+       vccq2-supply = <&pm8998_s4>;
+       vcc-max-microamp = <750000>;
+       vccq-max-microamp = <560000>;
+       vccq2-max-microamp = <750000>;
+
+       status = "ok";
+};
+
+&ufs_ice {
+       status = "ok";
+};
+
+&sdhc_2 {
+       vdd-supply = <&pm8998_l21>;
+       qcom,vdd-voltage-level = <2950000 2960000>;
+       qcom,vdd-current-level = <200 800000>;
+
+       vdd-io-supply = <&pm8998_l13>;
+       qcom,vdd-io-voltage-level = <1808000 2960000>;
+       qcom,vdd-io-current-level = <200 22000>;
+
+       pinctrl-names = "active", "sleep";
+       pinctrl-0 = <&sdc2_clk_on  &sdc2_cmd_on &sdc2_data_on &sdc2_cd_on>;
+       pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off &sdc2_cd_off>;
+
+       qcom,clk-rates = <400000 20000000 25000000
+                               50000000 100000000 200000000>;
+       qcom,bus-speed-mode = "SDR12", "SDR25", "SDR50", "DDR50", "SDR104";
+
+       cd-gpios = <&tlmm 95 0x1>;
+
+       status = "ok";
+};
+
+&uartblsp2dm1 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&uart_console_active>;
+
+       status = "ok";
+};
+
+&pm8998_gpios {
+       /* GPIO 6 for Vol+ Key */
+       gpio@c500 {
+               status = "okay";
+               qcom,mode = <0>;
+               qcom,pull = <0>;
+               qcom,vin-sel = <0>;
+               qcom,src-sel = <0>;
+               qcom,out-strength = <1>;
+       };
+
+       /* GPIO 7 for Snapshot Key */
+       gpio@c600 {
+               status = "okay";
+               qcom,mode = <0>;
+               qcom,pull = <0>;
+               qcom,vin-sel = <0>;
+               qcom,src-sel = <0>;
+               qcom,out-strength = <1>;
+       };
+
+       /* GPIO 8 for Focus Key */
+       gpio@c700 {
+               status = "okay";
+               qcom,mode = <0>;
+               qcom,pull = <0>;
+               qcom,vin-sel = <0>;
+               qcom,src-sel = <0>;
+               qcom,out-strength = <1>;
+       };
+
+       /* GPIO 13 */
+       gpio@cc00 {
+               qcom,mode = <1>;
+               qcom,output-type = <0>;
+               qcom,pull = <5>;
+               qcom,vin-sel = <0>;
+               qcom,out-strength = <1>;
+               qcom,src-sel = <3>;
+               qcom,master-en = <1>;
+               status = "okay";
+       };
+
+       /* GPIO 21 (NFC_CLK_REQ) */
+       gpio@d400 {
+               qcom,mode = <0>;
+               qcom,vin-sel = <1>;
+               qcom,src-sel = <0>;
+               qcom,master-en = <1>;
+               status = "okay";
+       };
+
+       /* GPIO 18 SMB138X */
+       gpio@d100 {
+               qcom,mode = <0>;
+               qcom,pull = <0>;
+               qcom,vin-sel = <0>;
+               qcom,src-sel = <0>;
+               qcom,master-en = <1>;
+               status = "okay";
+       };
+};
+
+&pmi8998_gpios {
+       /* GPIO 3 for NS5S1153 AUDIO_SEL pin */
+       gpio@c200 {
+               status = "okay";
+               qcom,mode = <1>;        /* Digital out */
+               qcom,pull = <5>;        /* No pull */
+               qcom,vin-sel = <1>;     /* 1.8v */
+               qcom,src-sel = <0>;
+               qcom,out-strength = <1>;
+               qcom,master-en = <1>;
+       };
+
+       /* GPIO 5 for INFARED_DRV */
+       gpio@c400 {
+               status = "okay";
+               qcom,mode = <1>;         /* QPNP_PIN_MODE_DIG_OUT */
+               qcom,pull = <4>;         /* PULL DOWN 10uA */
+               qcom,src-sel = <2>;      /* SPECIAL FUNCTION 1 */
+               qcom,master-en = <1>;    /* ENABLE GPIO */
+               qcom,out-strength = <2>; /* Medium strength current */
+       };
+
+       /* GPIO 6 for the internal QNOVO discharge FET control signal */
+       gpio@c500 {
+               status = "okay";
+               qcom,mode = <1>;
+               qcom,pull = <5>;
+               qcom,vin-sel = <0>;
+               qcom,src-sel = <2>;
+               qcom,out-strength = <1>;
+               qcom,master-en = <1>;
+       };
+};
+
+&i2c_5 {
+       status = "okay";
+       synaptics_dsi_i2c@20 {
+               compatible = "synaptics,dsx-i2c-force";
+               reg = <0x20>;
+               interrupt-parent = <&tlmm>;
+               interrupts = <125 0x2008>;
+
+               vdd-supply = <&pm8998_l6>;
+               lab-supply = <&lab_regulator>;
+               ibb-supply = <&ibb_regulator>;
+               disp-supply = <&pm8998_l14>;
+               avdd-supply = <&disp_vddts_vreg>;
+
+               pinctrl-names = "pmx_ts_active", "pmx_ts_suspend";
+               pinctrl-0 = <&ts_active>;
+               pinctrl-1 = <&ts_int_suspend &ts_reset_suspend>;
+
+               clock-names = "iface_clk", "core_clk";
+               clocks = <&clock_gcc clk_gcc_blsp1_ahb_clk>,
+                        <&clock_gcc clk_gcc_blsp1_qup5_i2c_apps_clk>;
+
+               synaptics,pwr-reg-name = "vdd";
+               synaptics,lab-reg-name = "lab";
+               synaptics,ibb-reg-name = "ibb";
+               synaptics,disp-reg-name = "disp";
+               synaptics,bus-reg-name = "avdd";
+               synaptics,ub-i2c-addr = <0x2c>;
+               synaptics,mdss-dsi-reset = <&tlmm 8 0>;
+               synaptics,reset-gpio = <&tlmm 89 0x00>;
+               synaptics,irq-gpio = <&tlmm 125 0x2008>;
+               synaptics,reset-gpio-name = "dsx_reset";
+               synaptics,irq-gpio-name = "dsx_irq";
+               synaptics,irq-on-state = <0>;
+               synaptics,irq-flags = <0x2008>; /* IRQF_ONESHOT | IRQF_TRIGGER_LOW */
+               synaptics,power-delay-ms = <5>;
+               synaptics,reset-delay-ms = <200>;
+               synaptics,reset-active-ms = <5>;
+               synaptics,power-on-state = <1>;
+               synaptics,reset-on-state = <0>;
+               synaptics,mdss-reset-state = <1>;
+               synaptics,panel-is-incell;
+               synaptics,cap-button-codes = <158 139 102>;
+               synaptics,short-jdi-25 = "000: 0xfb\n001: 0xef\n002: 0xff\n003: 0xff\n004: 0x18\n005: 0x00\n006: 0x00";
+               synaptics,short-jdi-26 = "000: 0x03\n001: 0x00\n002: 0x00\n003: 0x00\n004: 0x00\n005: 0x00\n006: 0x00";
+               synaptics,guest-serialization-as-lockdown;
+               synaptics,tp-id-byte = /bits/ 8 <0>;
+
+               synaptics,config-array-size = <3>;
+               synaptics,cfg_1 {
+                       synaptics,chip-id = <0>;
+                       synaptics,chip-id-name = "S3330";
+                       synaptics,tp-id = /bits/ 8 <0x31>;
+                       synaptics,fw-name = "synaptics_jdi_3330_sagit.fw";
+               };
+
+               synaptics,cfg_2 {
+                       synaptics,chip-id = <1>;
+                       synaptics,chip-id-name = "S3331";
+                       synaptics,tp-id = /bits/ 8 <0x31>;
+                       synaptics,fw-name = "synaptics_jdi_3331_sagit.fw";
+               };
+
+               synaptics,cfg_3 {
+                       synaptics,chip-id = <2>;
+                       synaptics,chip-id-name = "TD4322";
+                       synaptics,chip-is-tddi;
+
+                       synaptics,factory-param;
+                       synaptics,tddi-short-limit_b = <150>;
+                       synaptics,tddi-noise-limit      = <60>;
+                       synaptics,tddi-extend-ee-short-reset-dur = <60>;
+                       synaptics,tddi-extend-ee-short-int_dur = <150>;
+                       synaptics,tddi-extend-ee-short-tx-on-count = <146>;
+                       synaptics,tddi-extend-ee-short-rx-on-count = <146>;
+                       synaptics,tddi-extend-ee-short-test-limit-part1 = <180>;
+                       synaptics,tddi-extend-ee-short-test-limit-part2 = <0>;
+
+                       synaptics,tddi-open-test-int-dur-one = <145>;
+                       synaptics,tddi-open-test-int-dur-two = <15>;
+                       synaptics,tddi-open-test-limit-phase2-lower = <50>;
+
+                       synaptics,tddi-b7-open-test-int-dur-one = <23>;
+                       synaptics,tddi-b7-open-test-int-dur-two = <27>;
+                       synaptics,tddi-b7-open-test-limit-phase2-lower = <0>;
+                       synaptics,tddi-b7-open-test-limit-phase2-upper = <115>;
+                       synaptics,button-count = <2>;
+                       synaptics,abs-0d-open-factor = <9>;
+                       synaptics,abs-0d-open-test-limit = <30>;
+
+                       synaptics,elec-open-test-tx-on-count = <2>;
+                       synaptics,elec-open-test-rx-on-count = <2>;
+                       synaptics,elec-open-int-dur-one = <10>;
+                       synaptics,elec-open-int-dur-two = <15>;
+                       synaptics,elec-open-test-limit-one = <0>;
+                       synaptics,elec-open-test-limit-two = <50>;
+
+                       synaptics,disp-pre-on-sleep = <10>;
+                       synaptics,disp-post-on-sleep = <10>;
+                       synaptics,disp-pre-off-sleep = <10>;
+                       synaptics,disp-post-off-sleep = <0>;
+                       synaptics,lab-pre-on-sleep = <0>;
+                       synaptics,lab-post-on-sleep = <10>;
+                       synaptics,lab-pre-off-sleep = <10>;
+                       synaptics,lab-post-off-sleep = <0>;
+                       synaptics,ibb-pre-on-sleep = <0>;
+                       synaptics,ibb-post-on-sleep = <10>;
+                       synaptics,ibb-pre-off-sleep = <10>;
+                       synaptics,ibb-post-off-sleep = <0>;
+                       synaptics,tp-id = /bits/ 8 <0x34>;
+                       synaptics,fw-name = "synaptics_lgd_4322_sagit.fw";
+               };
+       };
+};
+
+&i2c_6 { /* BLSP1 QUP6 (NFC) */
+       status = "okay";
+
+       nq@28 {
+               compatible = "qcom,nq-nci";
+               reg = <0x28>;
+
+               interrupt-parent = <&tlmm>;
+               interrupts = <92 0>;
+               interrupt-names = "nfc_irq";
+
+               pinctrl-names = "nfc_active", "nfc_suspend";
+               pinctrl-0 = <&nfc_int_active &nfc_enable_active>;
+               pinctrl-1 = <&nfc_int_suspend &nfc_enable_suspend>;
+
+               clock-names = "ref_clk";
+               clocks = <&clock_gcc clk_ln_bb_clk3_pin>;
+
+               qcom,clk-src = "BBCLK3";
+
+               qcom,nq-irq = <&tlmm 92 0x00>;
+               qcom,nq-ven = <&tlmm 12 0x00>;
+               qcom,nq-firm = <&tlmm 93 0x00>;
+               qcom,nq-clkreq = <&pm8998_gpios 21 0x00>;
+               qcom,nq-esepwr = <&tlmm 116 0x00>;
+
+       };
+};
+
+&i2c_10 { /* BLSP2 QUP4 (Audio Smart Pa)*/
+       status = "okay";
+
+       tfa98xx@34 {
+               compatible = "nxp,tfa98xx";
+               reg = <0x34>;
+               reset-gpio = <&tlmm 41 0>;
+               irq-gpio = <&tlmm 42 0>;
+               spk-id = <&spk_id_pin>;
+       };
+};
+
+&mdss_hdmi_tx {
+       status = "disabled";
+};
+
+&mdss_hdmi_pll {
+       status = "disabled";
+};
+
+&mdss_mdp {
+       qcom,mdss-pref-prim-intf = "dsi";
+};
+
+&mdss_dsi {
+       hw-config = "single_dsi";
+};
+
+&mdss_dsi0 {
+       pinctrl-names = "mdss_default", "mdss_sleep";
+       pinctrl-0 = <&mdss_dsi_active &mdss_te_active>;
+       pinctrl-1 = <&mdss_dsi_suspend &mdss_te_suspend>;
+
+       qcom,platform-reset-gpio = <&tlmm 94 0>;
+       qcom,platform-te-gpio = <&tlmm 10 0>;
+       qcom,dsi-pref-prim-pan = <&dsi_jdi_fhd_r63452_cmd>;
+};
+
+&mdss_dsi1 {
+       status = "disabled";
+};
+
+&mdss_dsi1_pll {
+       status = "disabled";
+};
+
+&labibb {
+       status = "ok";
+       qcom,qpnp-labibb-mode = "lcd";
+};
+
+&dsi_dual_nt35597_video {
+       qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled";
+       qcom,mdss-dsi-bl-min-level = <1>;
+       qcom,mdss-dsi-bl-max-level = <4095>;
+       qcom,mdss-dsi-mode-sel-gpio-state = "dual_port";
+       qcom,panel-supply-entries = <&dsi_panel_pwr_supply>;
+};
+
+&dsi_dual_nt35597_cmd {
+       qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled";
+       qcom,mdss-dsi-bl-min-level = <1>;
+       qcom,mdss-dsi-bl-max-level = <4095>;
+       qcom,mdss-dsi-mode-sel-gpio-state = "dual_port";
+       qcom,panel-supply-entries = <&dsi_panel_pwr_supply>;
+};
+
+&dsi_dual_nt35597_truly_video {
+       qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled";
+       qcom,mdss-dsi-bl-min-level = <1>;
+       qcom,mdss-dsi-bl-max-level = <4095>;
+       qcom,mdss-dsi-mode-sel-gpio-state = "dual_port";
+       qcom,panel-supply-entries = <&dsi_panel_pwr_supply>;
+};
+
+&dsi_dual_nt35597_truly_cmd {
+       qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled";
+       qcom,mdss-dsi-bl-min-level = <1>;
+       qcom,mdss-dsi-bl-max-level = <4095>;
+       qcom,mdss-dsi-mode-sel-gpio-state = "dual_port";
+       qcom,panel-supply-entries = <&dsi_panel_pwr_supply>;
+};
+
+&dsi_nt35597_dsc_video {
+       qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled";
+       qcom,mdss-dsi-bl-min-level = <1>;
+       qcom,mdss-dsi-bl-max-level = <4095>;
+       qcom,mdss-dsi-mode-sel-gpio-state = "single_port";
+       qcom,panel-supply-entries = <&dsi_panel_pwr_supply>;
+};
+
+&dsi_nt35597_dsc_cmd {
+       qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled";
+       qcom,mdss-dsi-bl-min-level = <1>;
+       qcom,mdss-dsi-bl-max-level = <4095>;
+       qcom,mdss-dsi-mode-sel-gpio-state = "single_port";
+       qcom,panel-supply-entries = <&dsi_panel_pwr_supply>;
+};
+
+&dsi_sharp_4k_dsc_video {
+       qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled";
+       qcom,mdss-dsi-bl-min-level = <1>;
+       qcom,mdss-dsi-bl-max-level = <4095>;
+       qcom,panel-supply-entries = <&dsi_panel_pwr_supply>;
+};
+
+&dsi_sharp_4k_dsc_cmd {
+       qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled";
+       qcom,mdss-dsi-bl-min-level = <1>;
+       qcom,mdss-dsi-bl-max-level = <4095>;
+       qcom,panel-supply-entries = <&dsi_panel_pwr_supply>;
+};
+
+&dsi_dual_jdi_video {
+       qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled";
+       qcom,mdss-dsi-bl-min-level = <1>;
+       qcom,mdss-dsi-bl-max-level = <4095>;
+       qcom,5v-boost-gpio = <&tlmm 51 0>;
+       qcom,panel-supply-entries = <&dsi_panel_pwr_supply>;
+};
+
+&dsi_dual_jdi_cmd {
+       qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled";
+       qcom,mdss-dsi-bl-min-level = <1>;
+       qcom,mdss-dsi-bl-max-level = <4095>;
+       qcom,5v-boost-gpio = <&tlmm 51 0>;
+       qcom,panel-supply-entries = <&dsi_panel_pwr_supply>;
+};
+
+&dsi_jdi_fhd_r63452_cmd {
+       qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled";
+       qcom,mdss-dsi-bl-min-level = <1>;
+       qcom,mdss-dsi-bl-max-level = <4095>;
+       qcom,panel-supply-entries = <&dsi_panel_pwr_supply>;
+};
+
+&dsi_lgd_fhd_td4322_cmd {
+       qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled";
+       qcom,mdss-dsi-bl-min-level = <1>;
+       qcom,mdss-dsi-bl-max-level = <4095>;
+       qcom,panel-supply-entries = <&dsi_panel_pwr_supply_lgd_td4322>;
+};
+
+&dsi_dual_sharp_1080_120hz_cmd {
+       qcom,mdss-dsi-bl-pmic-control-type = "bl_ctrl_wled";
+       qcom,mdss-dsi-bl-min-level = <1>;
+       qcom,mdss-dsi-bl-max-level = <4095>;
+       qcom,panel-supply-entries = <&dsi_panel_pwr_supply>;
+};
+
+&mem_client_3_size {
+       qcom,peripheral-size = <0x500000>;
+};
+
+&pmi8998_haptics {
+       status = "okay";
+       qcom,wave-play-rate-us = <5000>;
+       qcom,vmax-mv = <2830>;
+       qcom,wave-shape = "sine";
+       qcom,brake-pattern = [03 02 00 00];
+};
+
+&pm8998_vadc {
+       chan@83 {
+               label = "vph_pwr";
+               reg = <0x83>;
+               qcom,decimation = <2>;
+               qcom,pre-div-channel-scaling = <1>;
+               qcom,calibration-type = "absolute";
+               qcom,scale-function = <0>;
+               qcom,hw-settle-time = <0>;
+               qcom,fast-avg-setup = <0>;
+       };
+
+       chan@85 {
+               label = "vcoin";
+               reg = <0x85>;
+               qcom,decimation = <2>;
+               qcom,pre-div-channel-scaling = <1>;
+               qcom,calibration-type = "absolute";
+               qcom,scale-function = <0>;
+               qcom,hw-settle-time = <0>;
+               qcom,fast-avg-setup = <0>;
+       };
+
+       chan@4c {
+               label = "xo_therm";
+               reg = <0x4c>;
+               qcom,decimation = <2>;
+               qcom,pre-div-channel-scaling = <0>;
+               qcom,calibration-type = "ratiometric";
+               qcom,scale-function = <4>;
+               qcom,hw-settle-time = <2>;
+               qcom,fast-avg-setup = <0>;
+       };
+
+       chan@4d {
+               label = "msm_therm";
+               reg = <0x4d>;
+               qcom,decimation = <2>;
+               qcom,pre-div-channel-scaling = <0>;
+               qcom,calibration-type = "ratiometric";
+               qcom,scale-function = <2>;
+               qcom,hw-settle-time = <2>;
+               qcom,fast-avg-setup = <0>;
+       };
+
+       chan@4e {
+               label = "emmc_therm";
+               reg = <0x4e>;
+               qcom,decimation = <2>;
+               qcom,pre-div-channel-scaling = <0>;
+               qcom,calibration-type = "ratiometric";
+               qcom,scale-function = <2>;
+               qcom,hw-settle-time = <2>;
+               qcom,fast-avg-setup = <0>;
+       };
+
+       chan@4f {
+               label = "pa_therm0";
+               reg = <0x4f>;
+               qcom,decimation = <2>;
+               qcom,pre-div-channel-scaling = <0>;
+               qcom,calibration-type = "ratiometric";
+               qcom,scale-function = <2>;
+               qcom,hw-settle-time = <2>;
+               qcom,fast-avg-setup = <0>;
+       };
+
+       chan@50 {
+               label = "pa_therm1";
+               reg = <0x50>;
+               qcom,decimation = <2>;
+               qcom,pre-div-channel-scaling = <0>;
+               qcom,calibration-type = "ratiometric";
+               qcom,scale-function = <2>;
+               qcom,hw-settle-time = <2>;
+               qcom,fast-avg-setup = <0>;
+       };
+
+       chan@51 {
+               label = "quiet_therm";
+               reg = <0x51>;
+               qcom,decimation = <2>;
+               qcom,pre-div-channel-scaling = <0>;
+               qcom,calibration-type = "ratiometric";
+               qcom,scale-function = <2>;
+               qcom,hw-settle-time = <2>;
+               qcom,fast-avg-setup = <0>;
+       };
+};
+
+&pm8998_adc_tm {
+       chan@83 {
+               label = "vph_pwr";
+               reg = <0x83>;
+               qcom,pre-div-channel-scaling = <1>;
+               qcom,calibration-type = "absolute";
+               qcom,scale-function = <0>;
+               qcom,hw-settle-time = <0>;
+               qcom,btm-channel-number = <0x60>;
+       };
+
+       chan@4d {
+               label = "msm_therm";
+               reg = <0x4d>;
+               qcom,pre-div-channel-scaling = <0>;
+               qcom,calibration-type = "ratiometric";
+               qcom,scale-function = <2>;
+               qcom,hw-settle-time = <2>;
+               qcom,btm-channel-number = <0x68>;
+               qcom,thermal-node;
+       };
+
+       chan@4e {
+               label = "emmc_therm";
+               reg = <0x4e>;
+               qcom,pre-div-channel-scaling = <0>;
+               qcom,calibration-type = "ratiometric";
+               qcom,scale-function = <2>;
+               qcom,hw-settle-time = <2>;
+               qcom,btm-channel-number = <0x80>;
+               qcom,thermal-node;
+       };
+
+       chan@4f {
+               label = "pa_therm0";
+               reg = <0x4f>;
+               qcom,pre-div-channel-scaling = <0>;
+               qcom,calibration-type = "ratiometric";
+               qcom,scale-function = <2>;
+               qcom,hw-settle-time = <2>;
+               qcom,btm-channel-number = <0x88>;
+               qcom,thermal-node;
+       };
+
+       chan@50 {
+               label = "pa_therm1";
+               reg = <0x50>;
+               qcom,pre-div-channel-scaling = <0>;
+               qcom,calibration-type = "ratiometric";
+               qcom,scale-function = <2>;
+               qcom,hw-settle-time = <2>;
+               qcom,btm-channel-number = <0x90>;
+               qcom,thermal-node;
+       };
+
+       chan@51 {
+               label = "quiet_therm";
+               reg = <0x51>;
+               qcom,pre-div-channel-scaling = <0>;
+               qcom,calibration-type = "ratiometric";
+               qcom,scale-function = <2>;
+               qcom,hw-settle-time = <2>;
+               qcom,btm-channel-number = <0x70>;
+               qcom,thermal-node;
+       };
+
+       chan@4c {
+               label = "xo_therm";
+               reg = <0x4c>;
+               qcom,pre-div-channel-scaling = <0>;
+               qcom,calibration-type = "ratiometric";
+               qcom,scale-function = <4>;
+               qcom,hw-settle-time = <2>;
+               qcom,btm-channel-number = <0x78>;
+               qcom,thermal-node;
+       };
+};
+
+&wil6210 {
+       status = "ok";
+};
+
+&slim_aud {
+       tasha_codec {
+               qcom,cdc-micbias1-mv = <2750>;
+               qcom,cdc-micbias2-mv = <1800>;
+               qcom,cdc-micbias3-mv = <1800>;
+               qcom,cdc-micbias4-mv = <2750>;
+       };
+};
+
+&soc {
+       sound-tavil {
+               status = "disabled";
+       };
+
+       sound-9335 {
+               qcom,audio-routing =
+                       "AIF4 VI", "MCLK",
+                       "RX_BIAS", "MCLK",
+                       "MADINPUT", "MCLK",
+                       "AMIC1", "MIC BIAS2",
+                       "MIC BIAS2", "Handset Mic",
+                       "AMIC2", "MIC BIAS2",
+                       "MIC BIAS2", "Headset Mic",
+                       "AMIC3", "MIC BIAS1",
+                       "MIC BIAS1", "ANCRight Headset Mic",
+                       "AMIC4", "MIC BIAS1",
+                       "MIC BIAS1", "ANCLeft Headset Mic",
+                       "AMIC5", "MIC BIAS4",
+                       "MIC BIAS4", "Handset Mic",
+                       "AMIC6", "MIC BIAS4",
+                       "MIC BIAS4", "Analog Mic6";
+
+               qcom,wsa-max-devs = <0>;
+               qcom,msm-mbhc-hphl-swh = <1>;
+               qcom,us-euro-gpios = <&wcd_us_euro_gpio>;
+
+               qcom,asel-gpio = <&pmi8998_gpios 3 0x00>;
+               qcom,hsdet-gpio = <&tlmm 8 0x01>;
+
+               qcom,spk-id-pin = <&spk_id_pin>;
+               qcom,rcv-id-pin = <&rcv_id_pin>;
+       };
+
+       spk_id_pin: spk-id-pin@100 {
+               compatible = "audio,speaker-id";
+               audio,speaker-id-gpio = <&tlmm 100 0x00>;
+               pinctrl-names = "pull_down", "pull_up", "no_pull";
+               pinctrl-0 = <&spk_id_pull_down>;
+               pinctrl-1 = <&spk_id_pull_up>;
+               pinctrl-2 = <&spk_id_no_pull>;
+       };
+
+       rcv_id_pin: rcv-id-pin@11 {
+               compatible = "audio,speaker-id";
+               audio,speaker-id-gpio = <&tlmm 11 0x00>;
+               pinctrl-names = "pull_down", "pull_up", "no_pull";
+               pinctrl-0 = <&rcv_id_pull_down>;
+               pinctrl-1 = <&rcv_id_pull_up>;
+               pinctrl-2 = <&rcv_id_no_pull>;
+       };
+
+       gpio_keys {
+               compatible = "gpio-keys";
+               input-name = "gpio-keys";
+               status = "okay";
+
+               vol_up {
+                       label = "volume_up";
+                       gpios = <&pm8998_gpios 6 0x1>;
+                       linux,input-type = <1>;
+                       linux,code = <115>;
+                       gpio-key,wakeup;
+                       debounce-interval = <15>;
+               };
+
+               cam_snapshot {
+                       label = "cam_snapshot";
+                       gpios = <&pm8998_gpios 7 0x1>;
+                       linux,input-type = <1>;
+                       linux,code = <766>;
+                       gpio-key,wakeup;
+                       debounce-interval = <15>;
+               };
+
+               cam_focus {
+                       label = "cam_focus";
+                       gpios = <&pm8998_gpios 8 0x1>;
+                       linux,input-type = <1>;
+                       linux,code = <528>;
+                       gpio-key,wakeup;
+                       debounce-interval = <15>;
+               };
+
+               hall_key0 {
+                       label = "hall_key0";
+                       gpios = <&tlmm 124 0x01>;
+                       linux,input-type = <5>;
+                       linux,code = <0>;
+                       gpio-key,wakeup;
+                       debounce-interval = <15>;
+               };
+       };
+
+       qcom,msm-dai-mi2s {
+               dai_mi2s3: qcom,msm-dai-q6-mi2s-quat {
+                       qcom,msm-mi2s-rx-lines = <1>;
+                       qcom,msm-mi2s-tx-lines = <2>;
+                       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>;
+               };
+       };
+
+       fingerprint_fpc {
+               compatible = "fpc,fpc1020";
+
+               interrupt-parent = <&tlmm>;
+               interrupts = <121 0x0>;
+
+               vdd_ana-supply  = <&fp_vdd_vreg>;
+
+               pinctrl-names = "fpc1020_reset_reset",
+                       "fpc1020_reset_active",
+                       "fpc1020_irq_active";
+
+               pinctrl-0 = <&msm_gpio_37>;
+               pinctrl-1 = <&msm_gpio_37_output_high>;
+               pinctrl-2 = <&msm_gpio_121>;
+
+               fpc,gpio_rst    = <&tlmm 37 0x0>;
+               fpc,gpio_irq    = <&tlmm 121 0x0>;
+
+               status = "ok";
+       };
+
+       fingerprint_goodix {
+               compatible = "goodix,fingerprint";
+
+               pinctrl-names = "pmx_fp_active", "pmx_fp_suspend";
+               pinctrl-0 = <&fp_active>;
+               pinctrl-1 = <&fp_suspend>;
+
+               clock-names = "iface_clk", "core_clk";
+               clocks = <&clock_gcc clk_gcc_blsp2_ahb_clk>,
+                        <&clock_gcc clk_gcc_blsp2_qup6_spi_apps_clk>;
+
+               fp-gpio-reset = <&tlmm 37 0>;
+               fp-gpio-irq = <&tlmm 121 0>;
+
+               status = "ok";
+       };
+};
+
+&spi_2 {
+       spi-max-frequency = <19200000>;
+
+       status = "ok";
+
+       peel_ir@0 {
+               compatible = "peel_ir";
+               reg = <0>;
+
+               spi-max-frequency = <19200000>;
+
+               peel_ir,lr-gpio = <73>;
+               peel_ir,lr-gpio-valid = <1>;
+               peel_ir,spi-bpw = <32>;
+               peel_ir,spi-clk-speed= <960000>;
+               peel_ir,spi-mode = <0>;
+               peel_ir,peel-field = <2345>;
+
+               status = "ok";
+       };
+};
+
+&pcie0 {
+       status = "disabled";
+};
+
+&fp_vdd_vreg {
+       regulator-always-on;
+};
+
+&pmi8998_wled {
+       qcom,led-strings-list = [00 01];
+       qcom,fs-curr-ua = <20000>;
+       qcom,en-cabc;
+};
+
+&red_led { /* Notification LED */
+       qcom,use-blink;
+       linux,name = "white";
+};
+
+&blue_led { /* Left button backlight */
+       linux,name = "button-backlight";
+};
+
+&green_led { /* Right button backlight */
+       linux,name = "button-backlight1";
+};
+
+&pmi8998_charger {
+       qcom,usb-icl-ua = <3000000>;
+       qcom,fcc-max-ua = <3200000>;
+       qcom,auto-recharge-soc;
+
+       qcom,thermal-mitigation
+                               = <1800000 1600000 1400000 1200000 1000000 1000000 1000000>;
+       qcom,thermal-mitigation-dcp
+                               = <1800000 1600000 1400000 1200000 1000000 1000000 1000000>;
+       qcom,thermal-mitigation-qc3
+                               = <3000000 2425000 2125000 1825000 1525000 1225000 925000>;
+       qcom,thermal-mitigation-qc2
+                               = <1600000 1400000 1200000 1000000 900000 900000 900000>;
+};
+
+&pmi8998_fg {
+       qcom,fg-force-load-profile;
+       qcom,fg-sys-term-current = <(-300)>;
+       qcom,fg-chg-term-current = <200>;
+       qcom,fg-auto-recharge-soc;
+       qcom,fg-recharge-soc-thr = <99>;
+       qcom,fg-cutoff-voltage = <3400>;
+       qcom,fg-empty-voltage = <3100>;
+       qcom,fg-jeita-hyst-temp = <0>;
+       qcom,fg-jeita-thresholds = <0 15 45 60>;
+       qcom,fg-esr-clamp-mohms = <60>;
+       qcom,fg-batt-temp-delta = <6>;
+};
+
+/{
+       mtp_batterydata: qcom,battery-data {
+               qcom,batt-id-range-pct = <15>;
+               #include "batterydata-sagit-atl-3350mAh.dtsi"
+               #include "batterydata-sagit-sdi-3440mAh.dtsi"
+               #include "batterydata-itech-3020mAh.dtsi"
+       };
+};
+
+&qusb_phy0 {
+       qcom,qusb-phy-init-seq =
+                       /* <value reg_offset> */
+                       <0x80 0x0
+                       0x13 0x04
+                       0x7c 0x18c
+                       0x80 0x2c
+                       0x0a 0x184
+                       0xf0 0x23c
+                       0x0d 0x240>;
+};
+
+&pmi8998_bob {
+       regulator-max-microvolt = <3800000>;
+};
+
+&pmi8998_bob_pin1 {
+       regulator-max-microvolt = <3800000>;
+};
+
+&pmi8998_bob_pin2 {
+       regulator-max-microvolt = <3800000>;
+};
+
+&pmi8998_bob_pin3 {
+       regulator-max-microvolt = <3800000>;
+};