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