msm: clock-9625: Introduce qpic rpm clock

QPIC clocks are shared between APPS and Modem so it is now
moved under RPM control. Therefore, introduce the qpic rpm
on the APPS side so that the linux driver can vote this
resource.

Change-Id: I19b94db0ec149948c4aa558a13a1b79c2ff87507
Signed-off-by: Tianyi Gou <tgou@codeaurora.org>
msm: clock-9625: Add NAND device for RPM clock handling

QPIC NAND has three clocks viz. gcc_qpic_system_clk, qcc_qpic_ahb_clk,
and gcc_qpic_clk. Need to set_rate and enable only qpic_clk and then
RPM will enable system_clk and ahb_clk as well.

Add NAND device to the list of RPM clocks to facilitate clock handling
for these QPIC clocks.

CRs-Fixed: 488510
Change-Id: Ic4053bd6ba19c7396ca084b85f42ae782e946057
Signed-off-by: Pratibhasagar V <pratibha@codeaurora.org>
mtd: msm_qpic_nand: Add clock gating and bus bandwidth voting

QPIC NAND has three clocks viz. gcc_qpic_system_clk, qcc_qpic_ahb_clk,
and gcc_qpic_clk. Need to set_rate and enable only qpic_clk and then
RPM will enable system_clk and ahb_clk as well.

But the clocks are always on even when there are no requests to process.
So add support to gate/ungate the clocks accordingly. Also add support
to vote and unvote the bus bandwidth for better performance.

But if the clock is set and immediately suspend is triggered the clocks
would remain still enabled along with bus vote. So introduce both the PM
and Runtime PM suspend/resume to handle these cases as well.

CRs-Fixed: 488510
Change-Id: I373b39e15f6f7e2c10a8ebe182992743a1cb7838
Signed-off-by: Pratibhasagar V <pratibha@codeaurora.org>
ARM: dts: msm: Add bus voting properties for QPIC NAND device for msm9x25

QPIC NAND has three clocks viz. gcc_qpic_system_clk, qcc_qpic_ahb_clk,
and gcc_qpic_clk. Need to set_rate and enable only qpic_clk and then
RPM will enable system_clk and ahb_clk as well.

But bus clock enabling requires voting for bus bandwidth. So add the
properties for bus voting for QPIC NAND device.

CRs-Fixed: 488510
Change-Id: I0fe9d7f6828304e36e629ce1b21ec063b5ba8b1c
Signed-off-by: Pratibhasagar V <pratibha@codeaurora.org>
Merge "msm: clock-9625: Introduce qpic rpm clock"
Merge "msm: clock-9625: Add NAND device for RPM clock handling"
Merge "mtd: msm_qpic_nand: Add clock gating and bus bandwidth voting"
Merge "ARM: dts: msm: Add bus voting properties for QPIC NAND device for msm9x25"