From adad17d072d79ac826f377221a0a8f3c56aef8c1 Mon Sep 17 00:00:00 2001 From: Sayali Lokhande Date: Tue, 28 Feb 2017 17:27:57 +0530 Subject: ARM: dts: msm: Update SDCC bus voting for SDM660 On SDM660, for sdcc there are two msm-bus paths: 1. AGGNOC->SNOC->BIMC 2. CPU->CNOC->SDC_CFG For SDCC DATA-FIFO or DPRAM, write clock is HCLK and read clock is MCLK for TX transactions and vice-versa for RX transactions. As both HCLK and MCLK are being used for data transfers ,we need to provide bus bandwidth vote from CPU(id:1) to SDC_CFG(id:606) which will be used for register access and data transfers. By default on sdm660, we observed cnoc_clk at only 19.2MHz which is very less and hence affecting eMMC performance (drop upto 50%) for read/writes. This change is updating bus voting from CPU to CNOC and helps improving eMMC performance. Change-Id: I9e3dadf307444be464a42f4a518b44e3f6e98a75 Signed-off-by: Sayali Lokhande --- arch/arm/boot/dts/qcom/sdm660-common.dtsi | 72 +++++++++++++++++++++++-------- arch/arm/boot/dts/qcom/sdm660.dtsi | 72 +++++++++++++++++++++++-------- 2 files changed, 106 insertions(+), 38 deletions(-) diff --git a/arch/arm/boot/dts/qcom/sdm660-common.dtsi b/arch/arm/boot/dts/qcom/sdm660-common.dtsi index dc57ee62a867..efce6a62f28b 100644 --- a/arch/arm/boot/dts/qcom/sdm660-common.dtsi +++ b/arch/arm/boot/dts/qcom/sdm660-common.dtsi @@ -474,16 +474,34 @@ qcom,msm-bus,name = "sdhc1"; qcom,msm-bus,num-cases = <9>; - qcom,msm-bus,num-paths = <1>; - qcom,msm-bus,vectors-KBps = <78 512 0 0>, /* No vote */ - <78 512 1046 3200>, /* 400 KB/s*/ - <78 512 52286 160000>, /* 20 MB/s */ - <78 512 65360 200000>, /* 25 MB/s */ - <78 512 130718 400000>, /* 50 MB/s */ - <78 512 130718 400000>, /* 100 MB/s */ - <78 512 261438 800000>, /* 200 MB/s */ - <78 512 261438 800000>, /* 400 MB/s */ - <78 512 1338562 4096000>; /* Max. bandwidth */ + qcom,msm-bus,num-paths = <2>; + qcom,msm-bus,vectors-KBps = + /* No vote */ + <78 512 0 0>, <1 606 0 0>, + /* 400 KB/s*/ + <78 512 1046 3200>, + <1 606 1046 3200>, + /* 20 MB/s */ + <78 512 52286 160000>, + <1 606 52286 160000>, + /* 25 MB/s */ + <78 512 65360 200000>, + <1 606 65360 200000>, + /* 50 MB/s */ + <78 512 130718 400000>, + <1 606 130718 400000>, + /* 100 MB/s */ + <78 512 130718 400000>, + <1 606 130718 400000>, + /* 200 MB/s */ + <78 512 261438 800000>, + <1 606 261438 800000>, + /* 400 MB/s */ + <78 512 261438 800000>, + <1 606 261438 800000>, + /* Max. bandwidth */ + <78 512 1338562 4096000>, + <1 606 1338562 4096000>; qcom,bus-bw-vectors-bps = <0 400000 20000000 25000000 50000000 100000000 200000000 400000000 4294967295>; @@ -516,15 +534,31 @@ qcom,msm-bus,name = "sdhc2"; qcom,msm-bus,num-cases = <8>; - qcom,msm-bus,num-paths = <1>; - qcom,msm-bus,vectors-KBps = <81 512 0 0>, /* No vote */ - <81 512 1046 3200>, /* 400 KB/s */ - <81 512 52286 160000>, /* 20 MB/s */ - <81 512 65360 200000>, /* 25 MB/s */ - <81 512 130718 400000>, /* 50 MB/s */ - <81 512 261438 800000>, /* 100 MB/s */ - <81 512 261438 800000>, /* 200 MB/s */ - <81 512 1338562 4096000>; /* Max. bandwidth */ + qcom,msm-bus,num-paths = <2>; + qcom,msm-bus,vectors-KBps = + /* No vote */ + <81 512 0 0>, <1 608 0 0>, + /* 400 KB/s */ + <81 512 1046 3200>, + <1 608 1046 3200>, + /* 20 MB/s */ + <81 512 52286 160000>, + <1 608 52286 160000>, + /* 25 MB/s */ + <81 512 65360 200000>, + <1 608 65360 200000>, + /* 50 MB/s */ + <81 512 130718 400000>, + <1 608 130718 400000>, + /* 100 MB/s */ + <81 512 261438 800000>, + <1 608 261438 800000>, + /* 200 MB/s */ + <81 512 261438 800000>, + <1 608 261438 800000>, + /* Max. bandwidth */ + <81 512 1338562 4096000>, + <1 608 1338562 4096000>; qcom,bus-bw-vectors-bps = <0 400000 20000000 25000000 50000000 100000000 200000000 4294967295>; diff --git a/arch/arm/boot/dts/qcom/sdm660.dtsi b/arch/arm/boot/dts/qcom/sdm660.dtsi index a7fe3185ac09..9bf6411baf01 100644 --- a/arch/arm/boot/dts/qcom/sdm660.dtsi +++ b/arch/arm/boot/dts/qcom/sdm660.dtsi @@ -1323,16 +1323,34 @@ qcom,msm-bus,name = "sdhc1"; qcom,msm-bus,num-cases = <9>; - qcom,msm-bus,num-paths = <1>; - qcom,msm-bus,vectors-KBps = <78 512 0 0>, /* No vote */ - <78 512 1046 3200>, /* 400 KB/s*/ - <78 512 52286 160000>, /* 20 MB/s */ - <78 512 65360 200000>, /* 25 MB/s */ - <78 512 130718 400000>, /* 50 MB/s */ - <78 512 130718 400000>, /* 100 MB/s */ - <78 512 261438 800000>, /* 200 MB/s */ - <78 512 261438 800000>, /* 400 MB/s */ - <78 512 1338562 4096000>; /* Max. bandwidth */ + qcom,msm-bus,num-paths = <2>; + qcom,msm-bus,vectors-KBps = + /* No vote */ + <78 512 0 0>, <1 606 0 0>, + /* 400 KB/s*/ + <78 512 1046 3200>, + <1 606 1046 3200>, + /* 20 MB/s */ + <78 512 52286 160000>, + <1 606 52286 160000>, + /* 25 MB/s */ + <78 512 65360 200000>, + <1 606 65360 200000>, + /* 50 MB/s */ + <78 512 130718 400000>, + <1 606 130718 400000>, + /* 100 MB/s */ + <78 512 130718 400000>, + <1 606 130718 400000>, + /* 200 MB/s */ + <78 512 261438 800000>, + <1 606 261438 800000>, + /* 400 MB/s */ + <78 512 261438 800000>, + <1 606 261438 800000>, + /* Max. bandwidth */ + <78 512 1338562 4096000>, + <1 606 1338562 4096000>; qcom,bus-bw-vectors-bps = <0 400000 20000000 25000000 50000000 100000000 200000000 400000000 4294967295>; @@ -1358,15 +1376,31 @@ qcom,msm-bus,name = "sdhc2"; qcom,msm-bus,num-cases = <8>; - qcom,msm-bus,num-paths = <1>; - qcom,msm-bus,vectors-KBps = <81 512 0 0>, /* No vote */ - <81 512 1046 3200>, /* 400 KB/s */ - <81 512 52286 160000>, /* 20 MB/s */ - <81 512 65360 200000>, /* 25 MB/s */ - <81 512 130718 400000>, /* 50 MB/s */ - <81 512 261438 800000>, /* 100 MB/s */ - <81 512 261438 800000>, /* 200 MB/s */ - <81 512 1338562 4096000>; /* Max. bandwidth */ + qcom,msm-bus,num-paths = <2>; + qcom,msm-bus,vectors-KBps = + /* No vote */ + <81 512 0 0>, <1 608 0 0>, + /* 400 KB/s */ + <81 512 1046 3200>, + <1 608 1046 3200>, + /* 20 MB/s */ + <81 512 52286 160000>, + <1 608 52286 160000>, + /* 25 MB/s */ + <81 512 65360 200000>, + <1 608 65360 200000>, + /* 50 MB/s */ + <81 512 130718 400000>, + <1 608 130718 400000>, + /* 100 MB/s */ + <81 512 261438 800000>, + <1 608 261438 800000>, + /* 200 MB/s */ + <81 512 261438 800000>, + <1 608 261438 800000>, + /* Max. bandwidth */ + <81 512 1338562 4096000>, + <1 608 1338562 4096000>; qcom,bus-bw-vectors-bps = <0 400000 20000000 25000000 50000000 100000000 200000000 4294967295>; -- cgit v1.2.3