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 0000000000000000000000000000000000000000..a4ee22a5d419c4ef497f27456b014b668d269ad5 --- /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 ce0bf706bafd1b52de6b28f87753266c16ee6977..2ab6e672a4850bfb97f4e11aadc7e9c3b982ccc9 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 2a3acc00c0964ead113d60f73364c95c3b2110ba..e373c234716f391f5f02d2deb4e2a6bfd57e9b6a 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 5c2e70abefb758544a95918fa64ee20b1d40e279..51dfa340841a10a09d2a64c1bcd45728d0338c52 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 eafbfcd5d4ef40b725f55ba2e6ac151719a0b5c1..3a3ffd1796d68652f723982c248ec5d4b551df7d 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 6784f8ff7d3ebdd952066057a1ebb770e3ddc3c3..b4321ccfcb529205d2c87325189720459f113d72 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 622146b1ab2949fbdcb9784df565f5be891c1623..e81105993830380f7cfbafc87ae760b6c14ed7c5 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 0fdd6ebefe427f530aeb778623bff5ab24dc054f..319d4213514b392462c3e41c3985562f313c3bea 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