sundial: Sync dtsi base on QCT LW.BR.2.0-04910-8x09w.0
5209933 ARM: dts: msm: Extract out apq8009w and msm8909w memory map
7bafa94 ARM: dts: msm: specify low power current load for DSI regs
88a9a62 ARM: dts: msm: Increase venus CMA region size for msm8909
b11e62b ARM: dts: msm: Add missing QoS and devfreq table for sdhc on MSM8909
a0b6e66 ARM: dts: msm: Add back support for GDSCRs on MSM8909
283b421 ARM: dts: msm: Update usbbam device node bam-type
937b453 ARM: dts: Add video node for msm8909w
282f17a ARM: dts: msm: Decrease qseecomm region size for msm8909w
BUG:38021285
Change-Id: I40661e3698e59f1690bc45b5b57e38f2d323ce05
diff --git a/arch/arm/boot/dts/msm8909w-sundial/apq8009w-sundial-memory.dtsi b/arch/arm/boot/dts/msm8909w-sundial/apq8009w-sundial-memory.dtsi
new file mode 100644
index 0000000..a4ee22a
--- /dev/null
+++ b/arch/arm/boot/dts/msm8909w-sundial/apq8009w-sundial-memory.dtsi
@@ -0,0 +1,24 @@
+/*
+ * Copyright (c) 2015-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.
+ */
+
+&external_image_mem {
+ reg = <0x0 0x87b00000 0x0 0x0500000>;
+};
+
+&modem_adsp_mem {
+ reg = <0x0 0x88000000 0x0 0x02000000>;
+};
+
+&peripheral_mem {
+ reg = <0x0 0x8a000000 0x0 0x0500000>;
+};
diff --git a/arch/arm/boot/dts/msm8909w-sundial/apq8009w-sundial-wtp.dts b/arch/arm/boot/dts/msm8909w-sundial/apq8009w-sundial-wtp.dts
index ce0bf70..2ab6e67 100644
--- a/arch/arm/boot/dts/msm8909w-sundial/apq8009w-sundial-wtp.dts
+++ b/arch/arm/boot/dts/msm8909w-sundial/apq8009w-sundial-wtp.dts
@@ -18,6 +18,7 @@
#include "msm8909-sundial-pm8916.dtsi"
#include "msm8909-sundial-pm8916-mtp.dtsi"
#include "msm8909w-sundial.dtsi"
+#include "apq8009w-sundial-memory.dtsi"
/ {
model = "Qualcomm Technologies, Inc. APQ8009W-PM8916 MTP";
@@ -27,18 +28,6 @@
qcom,board-id= <8 0x105>;
};
-&external_image_mem {
- reg = <0x0 0x87a00000 0x0 0x0600000>;
-};
-
-&modem_adsp_mem {
- reg = <0x0 0x88000000 0x0 0x02c00000>;
-};
-
-&peripheral_mem {
- reg = <0x0 0x8ac00000 0x0 0x0500000>;
-};
-
&soc {
i2c@78b9000 { /* BLSP1 QUP5 */
synaptics@20 {
diff --git a/arch/arm/boot/dts/msm8909w-sundial/msm8909-sundial-mdss-panels.dtsi b/arch/arm/boot/dts/msm8909w-sundial/msm8909-sundial-mdss-panels.dtsi
index 2a3acc0..e373c23 100644
--- a/arch/arm/boot/dts/msm8909w-sundial/msm8909-sundial-mdss-panels.dtsi
+++ b/arch/arm/boot/dts/msm8909w-sundial/msm8909-sundial-mdss-panels.dtsi
@@ -37,6 +37,7 @@
qcom,supply-max-voltage = <2850000>;
qcom,supply-enable-load = <100000>;
qcom,supply-disable-load = <100>;
+ qcom,supply-ulp-load = <100>;
};
qcom,panel-supply-entry@1 {
@@ -46,6 +47,7 @@
qcom,supply-max-voltage = <1800000>;
qcom,supply-enable-load = <100000>;
qcom,supply-disable-load = <100>;
+ qcom,supply-ulp-load = <100>;
};
};
};
diff --git a/arch/arm/boot/dts/msm8909w-sundial/msm8909-sundial-mdss-pll.dtsi b/arch/arm/boot/dts/msm8909w-sundial/msm8909-sundial-mdss-pll.dtsi
index 5c2e70a..51dfa34 100644
--- a/arch/arm/boot/dts/msm8909w-sundial/msm8909-sundial-mdss-pll.dtsi
+++ b/arch/arm/boot/dts/msm8909w-sundial/msm8909-sundial-mdss-pll.dtsi
@@ -38,6 +38,7 @@
qcom,supply-max-voltage = <0>;
qcom,supply-enable-load = <0>;
qcom,supply-disable-load = <0>;
+ qcom,supply-ulp-load = <0>;
};
qcom,platform-supply-entry@1 {
@@ -47,6 +48,7 @@
qcom,supply-max-voltage = <1800000>;
qcom,supply-enable-load = <100000>;
qcom,supply-disable-load = <100>;
+ qcom,supply-ulp-load = <100>;
};
};
};
diff --git a/arch/arm/boot/dts/msm8909w-sundial/msm8909-sundial-mdss.dtsi b/arch/arm/boot/dts/msm8909w-sundial/msm8909-sundial-mdss.dtsi
index eafbfcd..3a3ffd1 100644
--- a/arch/arm/boot/dts/msm8909w-sundial/msm8909-sundial-mdss.dtsi
+++ b/arch/arm/boot/dts/msm8909w-sundial/msm8909-sundial-mdss.dtsi
@@ -86,6 +86,7 @@
qcom,supply-max-voltage = <0>;
qcom,supply-enable-load = <0>;
qcom,supply-disable-load = <0>;
+ qcom,supply-ulp-load = <0>;
};
};
@@ -101,6 +102,7 @@
qcom,supply-enable-load = <100000>;
qcom,supply-disable-load = <100>;
qcom,supply-post-on-sleep = <5>;
+ qcom,supply-ulp-load = <1000>;
};
};
@@ -115,6 +117,7 @@
qcom,supply-max-voltage = <1800000>;
qcom,supply-enable-load = <100000>;
qcom,supply-disable-load = <100>;
+ qcom,supply-ulp-load = <100>;
};
};
diff --git a/arch/arm/boot/dts/msm8909w-sundial/msm8909-sundial.dtsi b/arch/arm/boot/dts/msm8909w-sundial/msm8909-sundial.dtsi
index 6784f8f..b4321cc 100644
--- a/arch/arm/boot/dts/msm8909w-sundial/msm8909-sundial.dtsi
+++ b/arch/arm/boot/dts/msm8909w-sundial/msm8909-sundial.dtsi
@@ -140,7 +140,7 @@
reusable;
alloc-ranges = <0x0 0x80000000 0x0 0x10000000>;
alignment = <0 0x400000>;
- size = <0 0x0600000>;
+ size = <0 0x0800000>;
};
audio_mem: audio_region@0 {
@@ -520,7 +520,113 @@
qcom,num-locks = <8>;
};
+ msm_vidc: qcom,vidc@1d00000 {
+ compatible = "qcom,msm-vidc";
+ reg = <0x01d00000 0xff000>;
+ interrupts = <0 44 0>;
+ qcom,hfi-version = "3xx";
+ venus-supply = <&gdsc_venus>;
+ venus-core0-supply = <&gdsc_venus_core0>;
+ clocks = <&clock_gcc clk_gcc_venus0_vcodec0_clk>,
+ <&clock_gcc clk_gcc_venus0_core0_vcodec0_clk>,
+ <&clock_gcc clk_gcc_venus0_ahb_clk>,
+ <&clock_gcc clk_gcc_venus0_axi_clk>;
+ clock-names = "core_clk", "core0_clk", "iface_clk", "bus_clk";
+ qcom,clock-configs = <0x1 0x0 0x0 0x0>;
+ qcom,sw-power-collapse;
+ qcom,slave-side-cp;
+ qcom,hfi = "venus";
+ qcom,reg-presets = <0xe0020 0x05555556>,
+ <0xe0024 0x05555556>,
+ <0x80124 0x00000003>;
+ qcom,qdss-presets = <0x826000 0x1000>,
+ <0x827000 0x1000>,
+ <0x822000 0x1000>,
+ <0x803000 0x1000>,
+ <0x9180000 0x1000>,
+ <0x9181000 0x1000>;
+ qcom,max-hw-load = <244800>; /* 1080p@30 */
+ qcom,firmware-name = "venus";
+ qcom,allowed-clock-rates = <307200000 266670000 133330000>;
+ qcom,clock-freq-tbl {
+ qcom,profile-enc {
+ qcom,codec-mask = <0x55555555>;
+ qcom,cycles-per-mb = <2316>;
+ qcom,low-power-mode-factor = <32768>;
+ };
+ qcom,profile-dec {
+ qcom,codec-mask = <0xf3ffffff>;
+ qcom,cycles-per-mb = <788>;
+ };
+ qcom,profile-hevcdec {
+ qcom,codec-mask = <0x0c000000>;
+ qcom,cycles-per-mb = <1015>;
+ };
+ };
+ qcom,vidc-iommu-domains {
+ qcom,domain-ns {
+ qcom,vidc-domain-phandle = <&venus_domain_ns>;
+ qcom,vidc-buffer-types = <0xfff>;
+ };
+ qcom,domain-sec-bs {
+ qcom,vidc-domain-phandle =
+ <&venus_domain_sec_bitstream>;
+ qcom,vidc-buffer-types = <0x241>;
+ };
+ qcom,domain-sec-px {
+ qcom,vidc-domain-phandle =
+ <&venus_domain_sec_pixel>;
+ qcom,vidc-buffer-types = <0x106>;
+ };
+ qcom,domain-sec-np {
+ qcom,vidc-domain-phandle =
+ <&venus_domain_sec_non_pixel>;
+ qcom,vidc-buffer-types = <0x480>;
+ };
+ };
+ venus_bus_ddr {
+ compatible = "qcom,msm-vidc,bus";
+ label = "venus-ddr";
+ qcom,bus-master = <MSM_BUS_MASTER_VIDEO_P0>;
+ qcom,bus-slave = <MSM_BUS_SLAVE_EBI_CH0>;
+ qcom,bus-governor = "venus-ddr-gov";
+ qcom,bus-range-kbps = <1000 917000>;
+ };
+ arm9_bus_ddr {
+ compatible = "qcom,msm-vidc,bus";
+ label = "venus-arm9-ddr";
+ qcom,bus-master = <MSM_BUS_MASTER_VIDEO_P0>;
+ qcom,bus-slave = <MSM_BUS_SLAVE_EBI_CH0>;
+ qcom,bus-governor = "performance";
+ qcom,bus-range-kbps = <1 1>;
+ };
+
+ venus-ddr-gov {
+ compatible = "qcom,msm-vidc,governor,table";
+ name = "venus-ddr-gov";
+ status = "ok";
+ qcom,bus-freq-table {
+ qcom,profile-enc {
+ qcom,codec-mask = <0x55555555>;
+ qcom,load-busfreq-tbl =
+ <244800 698000>, /* 1080p30E */
+ <108000 351700>, /* 720p30E */
+ <36000 117200>, /* VGA30E */
+ <0 0>;
+ };
+ qcom,profile-dec {
+ qcom,codec-mask = <0xffffffff>;
+ qcom,load-busfreq-tbl =
+ <244800 758800>, /*1080p30D */
+ <108000 337200>, /* 720p30D */
+ <72000 224800>, /* VGA60D */
+ <36000 112400>, /* VGA30D */
+ <0 0>;
+ };
+ };
+ };
+ };
qcom,smem@87d00000 {
compatible = "qcom,smem";
reg = <0x87d00000 0x100000>,
@@ -822,27 +928,26 @@
reg-names = "hsusb";
interrupts = <0 135 0>;
interrupt-names = "hsusb";
+ qcom,bam-type = <1>;
qcom,usb-bam-num-pipes = <2>;
qcom,usb-bam-fifo-baseaddr = <0x08603800>;
qcom,ignore-core-reset-ack;
qcom,disable-clk-gating;
+ qcom,reset-bam-on-disconnect;
qcom,pipe0 {
label = "hsusb-qdss-in-0";
- qcom,usb-bam-mem-type = <3>;
- qcom,bam-type = <1>;
+ qcom,usb-bam-mem-type = <2>;
qcom,dir = <1>;
qcom,pipe-num = <0>;
- qcom,peer-bam = <1>;
- qcom,src-bam-physical-address = <0x884000>;
+ qcom,peer-bam = <0>;
+ qcom,peer-bam-physical-address = <0x884000>;
qcom,src-bam-pipe-index = <0>;
- qcom,dst-bam-physical-address = <0x78c4000>;
qcom,dst-bam-pipe-index = <0>;
qcom,data-fifo-offset = <0x0>;
qcom,data-fifo-size = <0x600>;
qcom,descriptor-fifo-offset = <0x600>;
qcom,descriptor-fifo-size = <0x200>;
- qcom,reset-bam-on-connect;
};
};
@@ -959,7 +1064,9 @@
qcom,bus-width = <8>;
- qcom,cpu-dma-latency-us = <2 241 501>;
+ qcom,pm-qos-irq-type = "affine_irq";
+ qcom,pm-qos-irq-latency = <2 250>;
+
qcom,msm-bus,name = "sdhc1";
qcom,msm-bus,num-cases = <8>;
qcom,msm-bus,num-paths = <1>;
@@ -979,6 +1086,7 @@
<&clock_gcc clk_gcc_sdcc1_apps_clk>;
clock-names = "iface_clk", "core_clk";
qcom,clk-rates = <400000 25000000 50000000 100000000 177770000>;
+ qcom,devfreq,freq-table = <50000000 177770000>;
status = "disabled";
};
@@ -993,7 +1101,9 @@
qcom,bus-width = <4>;
- qcom,cpu-dma-latency-us = <2 241 501>;
+ qcom,pm-qos-irq-type = "affine_irq";
+ qcom,pm-qos-irq-latency = <2 250>;
+
qcom,msm-bus,name = "sdhc2";
qcom,msm-bus,num-cases = <8>;
qcom,msm-bus,num-paths = <1>;
@@ -1013,6 +1123,7 @@
clock-names = "iface_clk", "core_clk";
qcom,clk-rates = <400000 25000000 50000000 100000000 200000000>;
+ qcom,devfreq,freq-table = <50000000 200000000>;
status = "disabled";
};
@@ -1183,7 +1294,7 @@
clocks = <&clock_gcc clk_gcc_blsp1_ahb_clk>,
<&clock_gcc clk_gcc_blsp1_qup3_i2c_apps_clk>;
clock-names = "iface_clk", "core_clk";
- qcom,clk-freq-out = <400000>;
+ qcom,clk-freq-out = <100000>;
qcom,clk-freq-in = <19200000>;
pinctrl-names = "i2c_active", "i2c_sleep";
pinctrl-0 = <&i2c_3_active>;
@@ -1573,9 +1684,9 @@
qcom,ce-opp-freq = <100000000>;
};
- qcom_seecom: qseecom@87a00000 {
+ qcom_seecom: qseecom@87b00000 {
compatible = "qcom,qseecom";
- reg = <0x87a00000 0x200000>;
+ reg = <0x87b00000 0x100000>;
reg-names = "secapp-region";
qcom,disk-encrypt-pipe-pair = <2>;
qcom,hlos-ce-hw-instance = <0>;
@@ -1715,6 +1826,20 @@
};
};
/* FC add-end */
+&gdsc_venus {
+ clock-names = "bus_clk", "core_clk";
+ clocks = <&clock_gcc clk_gcc_venus0_axi_clk>,
+ <&clock_gcc clk_gcc_venus0_vcodec0_clk>;
+ status = "okay";
+};
+
+&gdsc_venus_core0 {
+ qcom,support-hw-trigger;
+ clock-names = "core0_clk";
+ clocks = <&clock_gcc clk_gcc_venus0_core0_vcodec0_clk>;
+ status = "okay";
+};
+
&gdsc_mdss {
clock-names = "core_clk", "bus_clk";
clocks = <&clock_gcc clk_gcc_mdss_mdp_clk>,
@@ -1722,6 +1847,14 @@
status = "okay";
};
+&gdsc_vfe {
+ clock-names = "core_clk", "bus_clk", "csi_clk";
+ clocks = <&clock_gcc clk_gcc_camss_vfe0_clk>,
+ <&clock_gcc clk_gcc_camss_vfe_axi_clk>,
+ <&clock_gcc clk_gcc_camss_csi_vfe0_clk>;
+ status = "okay";
+};
+
&gdsc_oxili_gx {
clock-names = "core_clk";
clocks = <&clock_gcc clk_gcc_oxili_gfx3d_clk>;
diff --git a/arch/arm/boot/dts/msm8909w-sundial/msm8909w-sundial-gpu.dtsi b/arch/arm/boot/dts/msm8909w-sundial/msm8909w-sundial-gpu.dtsi
index 622146b1..e811059 100644
--- a/arch/arm/boot/dts/msm8909w-sundial/msm8909w-sundial-gpu.dtsi
+++ b/arch/arm/boot/dts/msm8909w-sundial/msm8909w-sundial-gpu.dtsi
@@ -31,6 +31,8 @@
<26 512 0 1536000>,
<26 512 0 3070000>;
+ /delete-node/qcom,gpu-pwrlevels;
+
/* Power levels */
qcom,gpu-pwrlevels {
#address-cells = <1>;
@@ -40,29 +42,20 @@
qcom,gpu-pwrlevel@0 {
reg = <0>;
- qcom,gpu-freq = <307200000>;
- qcom,bus-freq = <2>;
- qcom,bus-min = <2>;
- qcom,bus-max = <2>;
- };
-
- qcom,gpu-pwrlevel@1 {
- reg = <1>;
qcom,gpu-freq = <200000000>;
qcom,bus-freq = <1>;
qcom,bus-min = <1>;
qcom,bus-max = <1>;
};
- qcom,gpu-pwrlevel@2 {
- reg = <2>;
+ qcom,gpu-pwrlevel@1 {
+ reg = <1>;
qcom,gpu-freq = <19200000>;
qcom,bus-freq = <0>;
qcom,bus-min = <0>;
qcom,bus-max = <0>;
};
- /delete-node/qcom,gpu-pwrlevel@3;
};
/delete-node/qcom,gpu-speed-config@0;
diff --git a/arch/arm/boot/dts/msm8909w-sundial/msm8909w-sundial.dtsi b/arch/arm/boot/dts/msm8909w-sundial/msm8909w-sundial.dtsi
index 0fdd6eb..319d421 100644
--- a/arch/arm/boot/dts/msm8909w-sundial/msm8909w-sundial.dtsi
+++ b/arch/arm/boot/dts/msm8909w-sundial/msm8909w-sundial.dtsi
@@ -80,7 +80,7 @@
};
};
};
-/* FC add-start */
+
&qcom_crypto {
qcom,msm-bus,vectors-KBps =
<55 512 0 0>,
@@ -101,9 +101,6 @@
<55 512 393600 393600>;
};
-&venus_qseecom_mem {
- size = <0 0x0400000>;
-};
&mdss_dsi0 {
qcom,dsi-pref-prim-pan = <&dsi_auo_w022_amoled_cmd>;
pinctrl-names = "mdss_default", "mdss_sleep";
@@ -113,4 +110,3 @@
qcom,platform-reset-gpio = <&msm_gpio 25 0>;
qcom,platform-bklight-en-gpio = <&msm_gpio 93 0>;
};
-/* FC add-end */
\ No newline at end of file