summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--arch/arm/boot/dts/qcom/Makefile11
-rw-r--r--arch/arm/boot/dts/qcom/apq8096pro-v1.1-auto-adp-lite-overlay.dts23
-rw-r--r--arch/arm/boot/dts/qcom/apq8096pro-v1.1-auto-adp-lite.dtsi95
-rw-r--r--arch/arm/boot/dts/qcom/apq8096pro-v1.1-auto-adp-overlay.dts23
-rw-r--r--arch/arm/boot/dts/qcom/apq8096pro-v1.1-auto-adp.dtsi86
-rw-r--r--arch/arm/boot/dts/qcom/apq8096pro-v1.1-auto.dts23
-rw-r--r--arch/arm/boot/dts/qcom/apq8096pro-v1.1-auto.dtsi72
-rw-r--r--arch/arm/boot/dts/qcom/msm-pm8004.dtsi6
-rw-r--r--arch/arm/boot/dts/qcom/msm8996-agave-adp.dtsi59
-rw-r--r--arch/arm/boot/dts/qcom/msm8996-auto.dtsi2
-rw-r--r--arch/arm/boot/dts/qcom/msm8996-camera-sensor-adp.dtsi6
-rw-r--r--arch/arm/boot/dts/qcom/msm8996-mdss-panels.dtsi5
-rw-r--r--arch/arm/boot/dts/qcom/msm8996-pm8994-pmi8994-pm8004.dtsi25
-rw-r--r--arch/arm/boot/dts/qcom/msm8996-pm8994.dtsi8
-rw-r--r--arch/arm/boot/dts/qcom/msm8996-pro-auto.dtsi72
-rw-r--r--arch/arm/boot/dts/qcom/msm8996-sde-display.dtsi51
-rw-r--r--arch/arm/boot/dts/qcom/msm8996.dtsi11
-rw-r--r--arch/arm/boot/dts/qcom/msm8996pro-auto-adp-lite-overlay.dts23
-rw-r--r--arch/arm/boot/dts/qcom/msm8996pro-auto-adp-lite.dtsi95
-rw-r--r--arch/arm/boot/dts/qcom/msm8996pro-auto-adp-overlay.dts23
-rw-r--r--arch/arm/boot/dts/qcom/msm8996pro-auto-adp.dtsi95
-rw-r--r--arch/arm/boot/dts/qcom/msm8996pro-auto.dts23
-rw-r--r--drivers/mmc/host/sdhci-msm.c3
23 files changed, 726 insertions, 114 deletions
diff --git a/arch/arm/boot/dts/qcom/Makefile b/arch/arm/boot/dts/qcom/Makefile
index b11b98486606..2e9249199f85 100644
--- a/arch/arm/boot/dts/qcom/Makefile
+++ b/arch/arm/boot/dts/qcom/Makefile
@@ -1,11 +1,18 @@
ifeq ($(CONFIG_BUILD_ARM64_DT_OVERLAY),y)
dtbo-$(CONFIG_ARCH_MSM8996) += \
- msm8996-mtp-overlay.dtbo
+ msm8996-mtp-overlay.dtbo \
+ apq8096pro-v1.1-auto-adp-overlay.dtbo \
+ apq8096pro-v1.1-auto-adp-lite-overlay.dtbo \
+ msm8996pro-auto-adp-overlay.dtbo \
+ msm8996pro-auto-adp-lite-overlay.dtbo
msm8996-mtp-overlay.dtbo-base := msm8996pro-v1.1-pmi8996.dtb \
msm8996-v3-pmi8996.dtb \
msm8996pro-v1.1-pmi8994.dtb
-
+apq8096pro-v1.1-auto-adp-overlay.dtbo-base := apq8096pro-v1.1-auto.dtb
+apq8096pro-v1.1-auto-adp-lite-overlay.dtbo-base := apq8096pro-v1.1-auto.dtb
+msm8996pro-auto-adp-overlay.dtbo-base := msm8996pro-auto.dtb
+msm8996pro-auto-adp-lite-overlay.dtbo-base := msm8996pro-auto.dtb
else
dtb-$(CONFIG_ARCH_MSM8996) += msm8996-v2-pmi8994-cdp.dtb \
msm8996-v2-pmi8994-mtp.dtb \
diff --git a/arch/arm/boot/dts/qcom/apq8096pro-v1.1-auto-adp-lite-overlay.dts b/arch/arm/boot/dts/qcom/apq8096pro-v1.1-auto-adp-lite-overlay.dts
new file mode 100644
index 000000000000..44053af247c8
--- /dev/null
+++ b/arch/arm/boot/dts/qcom/apq8096pro-v1.1-auto-adp-lite-overlay.dts
@@ -0,0 +1,23 @@
+/* Copyright (c) 2019, The Linux Foundation. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 and
+ * only version 2 as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
+/dts-v1/;
+/plugin/;
+
+#include "apq8096pro-v1.1-auto-adp-lite.dtsi"
+
+/ {
+ model = "Qualcomm Technologies, Inc. APQ 8096pro V1.1 AUTO ADP LITE";
+ compatible = "qcom,apq8096-adp", "qcom,msm8996", "qcom,adp";
+ qcom,msm-id = <316 0x10001>;
+ qcom,board-id = <0x03010019 0>;
+};
diff --git a/arch/arm/boot/dts/qcom/apq8096pro-v1.1-auto-adp-lite.dtsi b/arch/arm/boot/dts/qcom/apq8096pro-v1.1-auto-adp-lite.dtsi
new file mode 100644
index 000000000000..ed4945de4c9a
--- /dev/null
+++ b/arch/arm/boot/dts/qcom/apq8096pro-v1.1-auto-adp-lite.dtsi
@@ -0,0 +1,95 @@
+/* Copyright (c) 2019, 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 <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/clock/msm-clocks-8996.h>
+#include "msm8996-pm8994.dtsi"
+#include "msm8996-agave-adp.dtsi"
+
+&spi_9 {
+ status = "disabled";
+};
+
+&soc {
+ qcom,msm-ssc-sensors {
+ status = "disabled";
+ };
+
+ qcom,msm-thermal {
+ qcom,hotplug-temp = <115>;
+ qcom,hotplug-temp-hysteresis = <25>;
+ qcom,therm-reset-temp = <119>;
+ };
+
+ i2c@75b6000 { /* BLSP8 */
+ /* ADV7533 HDMI Bridge Chip removed on ADP Lite */
+ adv7533@39 {
+ status = "disabled";
+ };
+ };
+
+ qcom,adv7481@70 {
+ status = "disabled";
+ };
+
+ qcom,msm-ba {
+ status = "disabled";
+ };
+
+ qcom,tv-tuner {
+ status = "disabled";
+ };
+};
+
+&dsi_adv_7533_2 {
+ /delete-property/ qcom,dsi-display-active;
+};
+
+&sde_kms {
+ connectors = <&sde_hdmi_tx &sde_hdmi &dsi_adv_7533_1>;
+};
+
+&pil_modem {
+ pinctrl-names = "default";
+ pinctrl-0 = <&modem_mux>;
+};
+
+&slim_msm {
+ status = "disabled";
+};
+
+&pm8994_mpps {
+ mpp@a500 { /* MPP 6 */
+ qcom,mode = <1>; /* Digital output */
+ qcom,output-type = <0>; /* CMOS logic */
+ qcom,vin-sel = <2>; /* S4 1.8V */
+ qcom,src-sel = <0>; /* Constant */
+ qcom,master-en = <1>; /* Enable GPIO */
+ status = "okay";
+ };
+};
+
+&sdhc_2 {
+ cd-gpios = <&tlmm 38 GPIO_ACTIVE_LOW>;
+ pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on &sdc2_cd_on_sbc>;
+ pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off
+ &sdc2_cd_on_sbc>;
+};
+
+&i2c_7 {
+ silabs4705@11 { /* SiLabs FM chip, slave id 0x11*/
+ status = "disabled";
+ };
+};
+
+/delete-node/ &qcom_pmi8994_3;
+/delete-node/ &qcom_pm8004_5;
diff --git a/arch/arm/boot/dts/qcom/apq8096pro-v1.1-auto-adp-overlay.dts b/arch/arm/boot/dts/qcom/apq8096pro-v1.1-auto-adp-overlay.dts
new file mode 100644
index 000000000000..d1e64017c091
--- /dev/null
+++ b/arch/arm/boot/dts/qcom/apq8096pro-v1.1-auto-adp-overlay.dts
@@ -0,0 +1,23 @@
+/* Copyright (c) 2019, The Linux Foundation. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 and
+ * only version 2 as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
+/dts-v1/;
+/plugin/;
+
+#include "apq8096pro-v1.1-auto-adp.dtsi"
+
+/ {
+ model = "Qualcomm Technologies, Inc. APQ 8096pro V1.1 AUTO ADP";
+ compatible = "qcom,apq8096-adp", "qcom,msm8996", "qcom,adp";
+ qcom,msm-id = <316 0x10001>;
+ qcom,board-id = <0x02010019 0>, <0x00010001 0>;
+};
diff --git a/arch/arm/boot/dts/qcom/apq8096pro-v1.1-auto-adp.dtsi b/arch/arm/boot/dts/qcom/apq8096pro-v1.1-auto-adp.dtsi
new file mode 100644
index 000000000000..1cc7c611b178
--- /dev/null
+++ b/arch/arm/boot/dts/qcom/apq8096pro-v1.1-auto-adp.dtsi
@@ -0,0 +1,86 @@
+/* Copyright (c) 2019, 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 <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/clock/msm-clocks-8996.h>
+#include "msm8996-pm8994.dtsi"
+#include "msm8996-agave-adp.dtsi"
+
+&spi_9 {
+ status = "ok";
+ can-controller@0 {
+ compatible = "renesas,rh850";
+ reg = <0>;
+ interrupt-parent = <&tlmm>;
+ interrupts = <122 0>;
+ spi-max-frequency = <5000000>;
+ };
+};
+
+&soc {
+ qcom,msm-ssc-sensors {
+ status = "disabled";
+ };
+
+ qcom,msm-thermal {
+ qcom,hotplug-temp = <115>;
+ qcom,hotplug-temp-hysteresis = <25>;
+ qcom,therm-reset-temp = <119>;
+ };
+
+ qcom,adv7481@70 {
+ qcom,cam-vreg-min-voltage = <1300000 0 1800000>;
+ qcom,cam-vreg-max-voltage = <1300000 0 1800000>;
+ };
+};
+
+&pil_modem {
+ pinctrl-names = "default";
+ pinctrl-0 = <&modem_mux>;
+};
+
+&slim_msm {
+ status = "disabled";
+};
+
+&pm8994_mpps {
+ mpp@a500 { /* MPP 6 */
+ qcom,mode = <1>; /* Digital output */
+ qcom,output-type = <0>; /* CMOS logic */
+ qcom,vin-sel = <2>; /* S4 1.8V */
+ qcom,src-sel = <0>; /* Constant */
+ qcom,master-en = <1>; /* Enable GPIO */
+ status = "okay";
+ };
+};
+
+&sdhc_2 {
+ cd-gpios = <&tlmm 38 GPIO_ACTIVE_LOW>;
+ pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on &sdc2_cd_on_sbc>;
+ pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off
+ &sdc2_cd_on_sbc>;
+};
+
+&i2c_7 {
+ silabs4705@11 { /* SiLabs FM chip, slave id 0x11*/
+ status = "disabled";
+ };
+};
+
+&wil6210 {
+ qcom,pcie-parent = <&pcie0>;
+ qcom,smmu-support;
+ status = "ok";
+};
+
+/delete-node/ &qcom_pmi8994_3;
+/delete-node/ &qcom_pm8004_5;
diff --git a/arch/arm/boot/dts/qcom/apq8096pro-v1.1-auto.dts b/arch/arm/boot/dts/qcom/apq8096pro-v1.1-auto.dts
new file mode 100644
index 000000000000..ab62b1ef52b6
--- /dev/null
+++ b/arch/arm/boot/dts/qcom/apq8096pro-v1.1-auto.dts
@@ -0,0 +1,23 @@
+/* Copyright (c) 2019, The Linux Foundation. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 and
+ * only version 2 as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
+/dts-v1/;
+
+#include "apq8096pro-v1.1-auto.dtsi"
+
+/ {
+ model = "Qualcomm Technologies, Inc. APQ 8096pro V1.1 AUTO SoC";
+ compatible = "qcom,apq8096-adp", "qcom,msm8996", "qcom,adp";
+ qcom,msm-id = <316 0x10001>;
+ qcom,pmic-id = <0x20009 0x0 0x0 0x0>;
+ qcom,board-id = <0 0>;
+};
diff --git a/arch/arm/boot/dts/qcom/apq8096pro-v1.1-auto.dtsi b/arch/arm/boot/dts/qcom/apq8096pro-v1.1-auto.dtsi
new file mode 100644
index 000000000000..c6f88c28ac24
--- /dev/null
+++ b/arch/arm/boot/dts/qcom/apq8096pro-v1.1-auto.dtsi
@@ -0,0 +1,72 @@
+/* Copyright (c) 2019, 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 "apq8096pro-v1.1.dtsi"
+#include "msm8996pro-auto.dtsi"
+#include "msm8996-auto.dtsi"
+
+&spmi_bus {
+ /delete-node/ qcom,pmi8994@2;
+ /delete-node/ qcom,pmi8994@3;
+ /delete-node/ qcom,pm8004@5;
+};
+
+&rpm_bus {
+ /delete-node/ rpm-regulator-bstb;
+ /delete-node/ rpm-regulator-bbyb;
+ /delete-node/ rpm-regulator-smpb1;
+};
+
+&pcie0 {
+ /delete-property/ qcom,l1-supported;
+ /delete-property/ qcom,l1ss-supported;
+ /delete-property/ qcom,aux-clk-sync;
+};
+
+&pcie1 {
+ /delete-property/ qcom,l1-supported;
+ /delete-property/ qcom,l1ss-supported;
+ /delete-property/ qcom,aux-clk-sync;
+};
+
+&pcie2 {
+ /delete-property/ qcom,l1-supported;
+ /delete-property/ qcom,l1ss-supported;
+ /delete-property/ qcom,aux-clk-sync;
+};
+
+&mdss_hdmi_tx {
+ /delete-property/ qcom,pluggable;
+};
+
+&slim_msm {
+ status = "disabled";
+};
+
+&mdss_dsi0 {
+ /delete-property/ lab-supply;
+ /delete-property/ ibb-supply;
+};
+
+&mdss_dsi1 {
+ /delete-property/ lab-supply;
+ /delete-property/ ibb-supply;
+};
+
+&usb_otg_switch {
+ /delete-property/ vin-supply;
+ /delete-property/ gpio;
+};
+
+&usb3 {
+ /delete-property/ vbus_dwc3-supply;
+};
diff --git a/arch/arm/boot/dts/qcom/msm-pm8004.dtsi b/arch/arm/boot/dts/qcom/msm-pm8004.dtsi
index accce1363020..2ec272228277 100644
--- a/arch/arm/boot/dts/qcom/msm-pm8004.dtsi
+++ b/arch/arm/boot/dts/qcom/msm-pm8004.dtsi
@@ -1,4 +1,4 @@
-/* Copyright (c) 2014-2015, The Linux Foundation. All rights reserved.
+/* Copyright (c) 2014-2015, 2019, 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
@@ -14,7 +14,7 @@
#include <dt-bindings/interrupt-controller/irq.h>
&spmi_bus {
- qcom,pm8004@4 {
+ qcom_pm8004_4: qcom,pm8004@4 {
compatible = "qcom,spmi-pmic";
reg = <0x4 SPMI_USID>;
#address-cells = <2>;
@@ -77,7 +77,7 @@
};
};
- qcom,pm8004@5 {
+ qcom_pm8004_5: qcom,pm8004@5 {
compatible ="qcom,spmi-pmic";
reg = <0x5 SPMI_USID>;
#address-cells = <2>;
diff --git a/arch/arm/boot/dts/qcom/msm8996-agave-adp.dtsi b/arch/arm/boot/dts/qcom/msm8996-agave-adp.dtsi
index 6b7c0eff4c23..560b7a81f1f0 100644
--- a/arch/arm/boot/dts/qcom/msm8996-agave-adp.dtsi
+++ b/arch/arm/boot/dts/qcom/msm8996-agave-adp.dtsi
@@ -10,12 +10,11 @@
* GNU General Public License for more details.
*/
-#include "msm8996-pinctrl.dtsi"
#include "msm8996-camera-sensor-adp.dtsi"
#include "msm8996-wsa881x.dtsi"
#include "msm8996-sde.dtsi"
-/ {
+&vendor {
bluetooth: bt_qca6174 {
compatible = "qca,qca6174";
qca,bt-reset-gpio = <&pm8994_gpios 19 0>; /* BT_EN */
@@ -436,17 +435,6 @@
qcom,hw-settle-time = <2>;
qcom,fast-avg-setup = <0>;
};
-
- chan@7c {
- label = "xo_therm_buf";
- reg = <0x7c>;
- qcom,decimation = <0>;
- qcom,pre-div-channel-scaling = <0>;
- qcom,calibration-type = "ratiometric";
- qcom,scale-function = <4>;
- qcom,hw-settle-time = <2>;
- qcom,fast-avg-setup = <0>;
- };
};
&pm8994_adc_tm {
@@ -780,7 +768,7 @@
qcom,panel-supply-entries = <&dsi_panel_pwr_supply>;
};
-/{
+&vendor {
mtp_batterydata: qcom,battery-data {
qcom,batt-id-range-pct = <15>;
#include "batterydata-itech-3000mah.dtsi"
@@ -1164,6 +1152,10 @@
qcom,msm-cpudai-tdm-group-port-id = <36896 36898 36900
36902 36904 36906>;
+ pinctrl-names = "default", "sleep";
+ pinctrl-0 = <&tert_tdm_dout_active>;
+ pinctrl-1 = <&tert_tdm_dout_sleep>;
+
dai_tert_tdm_rx_5: qcom,msm-dai-q6-tdm-tert-rx-5 {
compatible = "qcom,msm-dai-q6-tdm";
qcom,msm-cpudai-tdm-dev-id = <36906>;
@@ -1248,12 +1240,6 @@
};
};
- qcom,msm-dai-tdm-tert-rx {
- pinctrl-names = "default", "sleep";
- pinctrl-0 = <&tert_tdm_dout_active>;
- pinctrl-1 = <&tert_tdm_dout_sleep>;
- };
-
qcom,msm-dai-tdm-quat-rx {
pinctrl-names = "default", "sleep";
pinctrl-0 = <&quat_tdm_dout_active>;
@@ -1562,7 +1548,7 @@
status = "disabled";
};
-/delete-node/ &led_flash0;
+/delete-node/ &led_flash0;
&mdss_dsi0 {
/delete-property/ lab-supply;
@@ -1574,14 +1560,12 @@
/delete-property/ ibb-supply;
};
-&cci {
- qcom,camera@0 {
- /delete-property/ qcom,led-flash-src;
- };
+&qcom_camera_0 {
+ /delete-property/ qcom,led-flash-src;
+};
- qcom,camera@1 {
- /delete-property/ cam_vana-supply;
- };
+&qcom_camera_1 {
+ /delete-property/ cam_vana-supply;
};
&usb_otg_switch {
@@ -1632,16 +1616,15 @@
qcom,no-smr-check;
};
-/ {
- reserved-memory {
- early_camera_mem: early_camera_mem@b3fff000 {
- reg = <0 0xb3fff000 0 0x800000>;
- label = "early_camera_mem";
- };
- early_audio_mem: early_audio_mem@0xb5fff000 {
- reg = <0x0 0xb5fff000 0x0 0x3FFFFC>;
- label = "early_audio_mem";
- };
+&reserved_memory {
+ early_camera_mem: early_camera_mem@b3fff000 {
+ reg = <0 0xb3fff000 0 0x800000>;
+ label = "early_camera_mem";
+ };
+
+ early_audio_mem: early_audio_mem@0xb5fff000 {
+ reg = <0x0 0xb5fff000 0x0 0x3FFFFC>;
+ label = "early_audio_mem";
};
};
diff --git a/arch/arm/boot/dts/qcom/msm8996-auto.dtsi b/arch/arm/boot/dts/qcom/msm8996-auto.dtsi
index 4a60b3dae021..ba075694d8c9 100644
--- a/arch/arm/boot/dts/qcom/msm8996-auto.dtsi
+++ b/arch/arm/boot/dts/qcom/msm8996-auto.dtsi
@@ -10,7 +10,7 @@
* GNU General Public License for more details.
*/
-&vendor {
+&android_vendor {
fsmgr_flags = "wait,slotselect,verify";
};
diff --git a/arch/arm/boot/dts/qcom/msm8996-camera-sensor-adp.dtsi b/arch/arm/boot/dts/qcom/msm8996-camera-sensor-adp.dtsi
index 31139c0fbb6d..e798b3d1ee60 100644
--- a/arch/arm/boot/dts/qcom/msm8996-camera-sensor-adp.dtsi
+++ b/arch/arm/boot/dts/qcom/msm8996-camera-sensor-adp.dtsi
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015-2017, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2015-2017, 2019, 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
@@ -114,7 +114,7 @@
qcom,clock-rates = <19200000 0>;
};
- qcom,camera@0 {
+ qcom_camera_0: qcom,camera@0 {
cell-index = <0>;
compatible = "qcom,camera";
reg = <0x0>;
@@ -156,7 +156,7 @@
qcom,clock-rates = <24000000 0>;
};
- qcom,camera@1 {
+ qcom_camera_1: qcom,camera@1 {
cell-index = <1>;
compatible = "qcom,camera";
reg = <0x1>;
diff --git a/arch/arm/boot/dts/qcom/msm8996-mdss-panels.dtsi b/arch/arm/boot/dts/qcom/msm8996-mdss-panels.dtsi
index 94be1082c2be..6cc69045d031 100644
--- a/arch/arm/boot/dts/qcom/msm8996-mdss-panels.dtsi
+++ b/arch/arm/boot/dts/qcom/msm8996-mdss-panels.dtsi
@@ -1,4 +1,4 @@
-/* Copyright (c) 2015-2017, The Linux Foundation. All rights reserved.
+/* Copyright (c) 2015-2017, 2019, 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
@@ -47,6 +47,7 @@
qcom,supply-max-voltage = <1800000>;
qcom,supply-enable-load = <62000>;
qcom,supply-disable-load = <80>;
+ qcom,supply-post-on-sleep = <20>;
};
qcom,panel-supply-entry@1 {
@@ -65,7 +66,7 @@
qcom,supply-max-voltage = <6000000>;
qcom,supply-enable-load = <100000>;
qcom,supply-disable-load = <100>;
- qcom,supply-post-on-sleep = <10>;
+ qcom,supply-post-on-sleep = <20>;
};
};
};
diff --git a/arch/arm/boot/dts/qcom/msm8996-pm8994-pmi8994-pm8004.dtsi b/arch/arm/boot/dts/qcom/msm8996-pm8994-pmi8994-pm8004.dtsi
index f3ef9be36cd7..9747323070e0 100644
--- a/arch/arm/boot/dts/qcom/msm8996-pm8994-pmi8994-pm8004.dtsi
+++ b/arch/arm/boot/dts/qcom/msm8996-pm8994-pmi8994-pm8004.dtsi
@@ -1,4 +1,4 @@
-/* Copyright (c) 2015, The Linux Foundation. All rights reserved.
+/* Copyright (c) 2015, 2019, 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
@@ -25,14 +25,25 @@
* Override PMI8994 resources with proper PM8004 resources for MSM8996 with
* PM8004.
*/
-&pmi8994_s2 {
- status = "disabled";
+
+&spmi_bus {
+ qcom_pmi8994_3: qcom,pmi8994@3 {
+ pmi8994_s2: regulator@1700 {
+ status = "disabled";
+ };
+ };
};
-&pm8004_s2 {
- status = "ok";
+&spmi_bus {
+ qcom_pm8004_5: qcom,pm8004@5 {
+ pm8004_s2: regulator@1700 {
+ status = "ok";
+ };
+ };
};
-&gfx_cpr {
- vdd-supply = <&pm8004_s2>;
+&soc {
+ gfx_cpr: cpr3-ctrl@838000 {
+ vdd-supply = <&pm8004_s2>;
+ };
};
diff --git a/arch/arm/boot/dts/qcom/msm8996-pm8994.dtsi b/arch/arm/boot/dts/qcom/msm8996-pm8994.dtsi
index 4730ee7cc1ce..617e8f27c3d3 100644
--- a/arch/arm/boot/dts/qcom/msm8996-pm8994.dtsi
+++ b/arch/arm/boot/dts/qcom/msm8996-pm8994.dtsi
@@ -1,4 +1,4 @@
-/* Copyright (c) 2016, The Linux Foundation. All rights reserved.
+/* Copyright (c) 2016, 2019, 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
@@ -25,10 +25,8 @@
status = "disabled";
};
-&spmi_bus {
- /delete-node/ qcom,pm8004@4;
- /delete-node/ qcom,pm8004@5;
-};
+/delete-node/ &qcom_pm8004_4;
+/delete-node/ &qcom_pm8004_5;
&gfx_cpr {
/delete-property/ vdd-supply;
diff --git a/arch/arm/boot/dts/qcom/msm8996-pro-auto.dtsi b/arch/arm/boot/dts/qcom/msm8996-pro-auto.dtsi
new file mode 100644
index 000000000000..9036858758d4
--- /dev/null
+++ b/arch/arm/boot/dts/qcom/msm8996-pro-auto.dtsi
@@ -0,0 +1,72 @@
+/* Copyright (c) 2019, 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 "msm8996pro.dtsi"
+#include "msm8996pro-auto.dtsi"
+#include "msm8996-auto.dtsi"
+
+&spmi_bus {
+ /delete-node/ qcom,pmi8994@2;
+ /delete-node/ qcom,pmi8994@3;
+ /delete-node/ qcom,pm8004@5;
+};
+
+&rpm_bus {
+ /delete-node/ rpm-regulator-bstb;
+ /delete-node/ rpm-regulator-bbyb;
+ /delete-node/ rpm-regulator-smpb1;
+};
+
+&pcie0 {
+ /delete-property/ qcom,l1-supported;
+ /delete-property/ qcom,l1ss-supported;
+ /delete-property/ qcom,aux-clk-sync;
+};
+
+&pcie1 {
+ /delete-property/ qcom,l1-supported;
+ /delete-property/ qcom,l1ss-supported;
+ /delete-property/ qcom,aux-clk-sync;
+};
+
+&pcie2 {
+ /delete-property/ qcom,l1-supported;
+ /delete-property/ qcom,l1ss-supported;
+ /delete-property/ qcom,aux-clk-sync;
+};
+
+&mdss_hdmi_tx {
+ /delete-property/ qcom,pluggable;
+};
+
+&slim_msm {
+ status = "disabled";
+};
+
+&mdss_dsi0 {
+ /delete-property/ lab-supply;
+ /delete-property/ ibb-supply;
+};
+
+&mdss_dsi1 {
+ /delete-property/ lab-supply;
+ /delete-property/ ibb-supply;
+};
+
+&usb_otg_switch {
+ /delete-property/ vin-supply;
+ /delete-property/ gpio;
+};
+
+&usb3 {
+ /delete-property/ vbus_dwc3-supply;
+};
diff --git a/arch/arm/boot/dts/qcom/msm8996-sde-display.dtsi b/arch/arm/boot/dts/qcom/msm8996-sde-display.dtsi
index 9d1655982cce..4768a7dd162d 100644
--- a/arch/arm/boot/dts/qcom/msm8996-sde-display.dtsi
+++ b/arch/arm/boot/dts/qcom/msm8996-sde-display.dtsi
@@ -11,59 +11,8 @@
*/
#include "msm8996-mdss-panels.dtsi"
-#include "dsi-panel-jdi-1080p-video.dtsi"
-#include "dsi-panel-sharp-1080p-cmd.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 = "vddio";
- qcom,supply-min-voltage = <1800000>;
- qcom,supply-max-voltage = <1800000>;
- qcom,supply-enable-load = <62000>;
- qcom,supply-disable-load = <80>;
- qcom,supply-post-on-sleep = <20>;
- };
-
- 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 = <20>;
- };
- };
-
- dsi_panel_pwr_supply_no_labibb: dsi_panel_pwr_supply_no_labibb {
- #address-cells = <1>;
- #size-cells = <0>;
-
- qcom,panel-supply-entry@0 {
- reg = <0>;
- qcom,supply-name = "vddio";
- qcom,supply-min-voltage = <1800000>;
- qcom,supply-max-voltage = <1800000>;
- qcom,supply-enable-load = <62000>;
- qcom,supply-disable-load = <80>;
- qcom,supply-post-on-sleep = <20>;
- };
- };
-
dsi_panel_pwr_supply_vdd_no_labibb: dsi_panel_pwr_supply_vdd_no_labibb {
#address-cells = <1>;
#size-cells = <0>;
diff --git a/arch/arm/boot/dts/qcom/msm8996.dtsi b/arch/arm/boot/dts/qcom/msm8996.dtsi
index 0c5b605bc29f..b11458580b09 100644
--- a/arch/arm/boot/dts/qcom/msm8996.dtsi
+++ b/arch/arm/boot/dts/qcom/msm8996.dtsi
@@ -176,6 +176,13 @@
soc: soc { };
+ vendor: vendor {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges = <0 0 0 0xffffffff>;
+ compatible = "simple-bus";
+ };
+
firmware: firmware {
android {
compatible = "android,firmware";
@@ -185,7 +192,7 @@
};
fstab {
compatible = "android,fstab";
- vendor: vendor {
+ android_vendor: vendor {
compatible = "android,vendor";
dev = "/dev/block/platform/soc/7464900.sdhci/by-name/vendor";
type = "ext4";
@@ -197,7 +204,7 @@
};
};
- reserved-memory {
+ reserved_memory: reserved-memory {
#address-cells = <2>;
#size-cells = <2>;
ranges;
diff --git a/arch/arm/boot/dts/qcom/msm8996pro-auto-adp-lite-overlay.dts b/arch/arm/boot/dts/qcom/msm8996pro-auto-adp-lite-overlay.dts
new file mode 100644
index 000000000000..e1be9c4292bf
--- /dev/null
+++ b/arch/arm/boot/dts/qcom/msm8996pro-auto-adp-lite-overlay.dts
@@ -0,0 +1,23 @@
+/* Copyright (c) 2019, The Linux Foundation. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 and
+ * only version 2 as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
+/dts-v1/;
+/plugin/;
+
+#include "msm8996pro-auto-adp-lite.dtsi"
+
+/ {
+ model = "Qualcomm Technologies, Inc. MSM 8996pro AUTO ADP LITE";
+ compatible = "qcom,msm8996-adp", "qcom,msm8996", "qcom,adp";
+ qcom,msm-id = <315 0x10000>;
+ qcom,board-id = <0x03010019 0>;
+};
diff --git a/arch/arm/boot/dts/qcom/msm8996pro-auto-adp-lite.dtsi b/arch/arm/boot/dts/qcom/msm8996pro-auto-adp-lite.dtsi
new file mode 100644
index 000000000000..ed4945de4c9a
--- /dev/null
+++ b/arch/arm/boot/dts/qcom/msm8996pro-auto-adp-lite.dtsi
@@ -0,0 +1,95 @@
+/* Copyright (c) 2019, 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 <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/clock/msm-clocks-8996.h>
+#include "msm8996-pm8994.dtsi"
+#include "msm8996-agave-adp.dtsi"
+
+&spi_9 {
+ status = "disabled";
+};
+
+&soc {
+ qcom,msm-ssc-sensors {
+ status = "disabled";
+ };
+
+ qcom,msm-thermal {
+ qcom,hotplug-temp = <115>;
+ qcom,hotplug-temp-hysteresis = <25>;
+ qcom,therm-reset-temp = <119>;
+ };
+
+ i2c@75b6000 { /* BLSP8 */
+ /* ADV7533 HDMI Bridge Chip removed on ADP Lite */
+ adv7533@39 {
+ status = "disabled";
+ };
+ };
+
+ qcom,adv7481@70 {
+ status = "disabled";
+ };
+
+ qcom,msm-ba {
+ status = "disabled";
+ };
+
+ qcom,tv-tuner {
+ status = "disabled";
+ };
+};
+
+&dsi_adv_7533_2 {
+ /delete-property/ qcom,dsi-display-active;
+};
+
+&sde_kms {
+ connectors = <&sde_hdmi_tx &sde_hdmi &dsi_adv_7533_1>;
+};
+
+&pil_modem {
+ pinctrl-names = "default";
+ pinctrl-0 = <&modem_mux>;
+};
+
+&slim_msm {
+ status = "disabled";
+};
+
+&pm8994_mpps {
+ mpp@a500 { /* MPP 6 */
+ qcom,mode = <1>; /* Digital output */
+ qcom,output-type = <0>; /* CMOS logic */
+ qcom,vin-sel = <2>; /* S4 1.8V */
+ qcom,src-sel = <0>; /* Constant */
+ qcom,master-en = <1>; /* Enable GPIO */
+ status = "okay";
+ };
+};
+
+&sdhc_2 {
+ cd-gpios = <&tlmm 38 GPIO_ACTIVE_LOW>;
+ pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on &sdc2_cd_on_sbc>;
+ pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off
+ &sdc2_cd_on_sbc>;
+};
+
+&i2c_7 {
+ silabs4705@11 { /* SiLabs FM chip, slave id 0x11*/
+ status = "disabled";
+ };
+};
+
+/delete-node/ &qcom_pmi8994_3;
+/delete-node/ &qcom_pm8004_5;
diff --git a/arch/arm/boot/dts/qcom/msm8996pro-auto-adp-overlay.dts b/arch/arm/boot/dts/qcom/msm8996pro-auto-adp-overlay.dts
new file mode 100644
index 000000000000..952a807edfaf
--- /dev/null
+++ b/arch/arm/boot/dts/qcom/msm8996pro-auto-adp-overlay.dts
@@ -0,0 +1,23 @@
+/* Copyright (c) 2019, The Linux Foundation. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 and
+ * only version 2 as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
+/dts-v1/;
+/plugin/;
+
+#include "msm8996pro-auto-adp.dtsi"
+
+/ {
+ model = "Qualcomm Technologies, Inc. MSM 8996pro AUTO ADP";
+ compatible = "qcom,msm8996-adp", "qcom,msm8996", "qcom,adp";
+ qcom,msm-id = <315 0x10000>;
+ qcom,board-id = <0x02010019 0>, <0x00010001 0>;
+};
diff --git a/arch/arm/boot/dts/qcom/msm8996pro-auto-adp.dtsi b/arch/arm/boot/dts/qcom/msm8996pro-auto-adp.dtsi
new file mode 100644
index 000000000000..ffdb4b07406b
--- /dev/null
+++ b/arch/arm/boot/dts/qcom/msm8996pro-auto-adp.dtsi
@@ -0,0 +1,95 @@
+/* Copyright (c) 2019, 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 <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/clock/msm-clocks-8996.h>
+#include "msm8996-pm8994.dtsi"
+#include "msm8996-agave-adp.dtsi"
+
+&spi_9 {
+ status = "ok";
+ can-controller@0 {
+ compatible = "renesas,rh850";
+ reg = <0>;
+ interrupt-parent = <&tlmm>;
+ interrupts = <122 0>;
+ spi-max-frequency = <5000000>;
+ };
+};
+
+&soc {
+ qcom,msm-ssc-sensors {
+ status = "disabled";
+ };
+
+ qcom,msm-thermal {
+ qcom,hotplug-temp = <115>;
+ qcom,hotplug-temp-hysteresis = <25>;
+ qcom,therm-reset-temp = <119>;
+ };
+
+ qcom,adv7481@70 {
+ qcom,cam-vreg-min-voltage = <1300000 0 1800000>;
+ qcom,cam-vreg-max-voltage = <1300000 0 1800000>;
+ };
+};
+
+&pil_modem {
+ pinctrl-names = "default";
+ pinctrl-0 = <&modem_mux>;
+};
+
+&slim_msm {
+ status = "disabled";
+};
+
+&pm8994_mpps {
+ mpp@a500 { /* MPP 6 */
+ qcom,mode = <1>; /* Digital output */
+ qcom,output-type = <0>; /* CMOS logic */
+ qcom,vin-sel = <2>; /* S4 1.8V */
+ qcom,src-sel = <0>; /* Constant */
+ qcom,master-en = <1>; /* Enable GPIO */
+ status = "okay";
+ };
+};
+
+&sdhc_1 {
+ qcom,tsens-id = <0>;
+};
+
+&sdhc_2 {
+ compatible = "qcom,late-sdhci-msm";
+
+ cd-gpios = <&tlmm 38 GPIO_ACTIVE_LOW>;
+ pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on &sdc2_cd_on_sbc>;
+ pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off
+ &sdc2_cd_on_sbc>;
+ qcom,tsens-id = <10>;
+ qcom,disable_scaling_threshold_temp = <(-15)>;
+ qcom,enable_scaling_threshold_temp = <(-5)>;
+};
+
+&i2c_7 {
+ silabs4705@11 { /* SiLabs FM chip, slave id 0x11*/
+ status = "disabled";
+ };
+};
+
+&wil6210 {
+ qcom,pcie-parent = <&pcie0>;
+ qcom,smmu-support;
+ status = "ok";
+};
+
+/delete-node/ &qcom_pmi8994_3;
+/delete-node/ &qcom_pm8004_5;
diff --git a/arch/arm/boot/dts/qcom/msm8996pro-auto.dts b/arch/arm/boot/dts/qcom/msm8996pro-auto.dts
new file mode 100644
index 000000000000..df609fbf1ed6
--- /dev/null
+++ b/arch/arm/boot/dts/qcom/msm8996pro-auto.dts
@@ -0,0 +1,23 @@
+/* Copyright (c) 2019, The Linux Foundation. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 and
+ * only version 2 as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
+/dts-v1/;
+
+#include "msm8996-pro-auto.dtsi"
+
+/ {
+ model = "Qualcomm Technologies, Inc. MSM 8996pro AUTO SoC";
+ compatible = "qcom,msm8996-adp", "qcom,msm8996", "qcom,adp";
+ qcom,msm-id = <315 0x10000>;
+ qcom,pmic-id = <0x20009 0x0 0x0 0x0>;
+ qcom,board-id = <0 0>;
+};
diff --git a/drivers/mmc/host/sdhci-msm.c b/drivers/mmc/host/sdhci-msm.c
index 0468ea464055..a7bd93f4eedb 100644
--- a/drivers/mmc/host/sdhci-msm.c
+++ b/drivers/mmc/host/sdhci-msm.c
@@ -5110,6 +5110,7 @@ static int sdhci_msm_suspend(struct device *dev)
struct sdhci_host *host = dev_get_drvdata(dev);
struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host);
struct sdhci_msm_host *msm_host = pltfm_host->priv;
+ struct mmc_host *mmc = host->mmc;
int ret = 0;
int sdio_cfg = 0;
ktime_t start = ktime_get();
@@ -5125,6 +5126,8 @@ static int sdhci_msm_suspend(struct device *dev)
}
ret = sdhci_msm_runtime_suspend(dev);
out:
+ /* cancel any clock gating work scheduled by mmc_host_clk_release() */
+ cancel_delayed_work_sync(&mmc->clk_gate_work);
sdhci_msm_disable_controller_clock(host);
if (host->mmc->card && mmc_card_sdio(host->mmc->card)) {
sdio_cfg = sdhci_msm_cfg_sdio_wakeup(host, true);