]> asedeno.scripts.mit.edu Git - linux.git/commit
clk: hisilicon: Add support for Hi3660 stub clocks
authorKaihua Zhong <zhongkaihua@huawei.com>
Fri, 17 Nov 2017 09:27:31 +0000 (17:27 +0800)
committerStephen Boyd <sboyd@codeaurora.org>
Thu, 7 Dec 2017 07:01:46 +0000 (23:01 -0800)
commit4f16f7ff3bc02f6e1845677235fea157bdc0e59c
treed8d4038a76f3c69627f1f93a09b4895c36052ba5
parenta4a124c349cfbf731a649c1e7d3efab6e44831c9
clk: hisilicon: Add support for Hi3660 stub clocks

Hi3660 has four stub clocks, which are big and LITTLE cluster clocks,
GPU clock and DDR clock.  These clocks ask MCU for frequency scaling
by sending message through mailbox.

This commit adds support for stub clocks, it requests the dedicated
mailbox channel at initialization; then later uses this channel to send
message to MCU to execute frequency scaling. The four stub clocks share
the same mailbox channel, but every stub clock has its own command id so
MCU can distinguish the requirement coming for which clock.

A shared memory is used to present effective frequency value, so the
clock driver uses I/O mapping for the memory and reads back rate value.

Reviewed-by: Leo Yan <leo.yan@linaro.org>
Signed-off-by: Kai Zhao <zhaokai1@hisilicon.com>
Signed-off-by: Tao Wang <kevin.wangtao@hisilicon.com>
Signed-off-by: Ruyi Wang <wangruyi@huawei.com>
Signed-off-by: Kaihua Zhong <zhongkaihua@huawei.com>
[sboyd: Fix possible out of bounds access in hi3660_stub_clk_hw_get(),
        use devm_of_clk_add_hw_provider(), devm_ioremap() returns
NULL not error pointers]
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
drivers/clk/hisilicon/Kconfig
drivers/clk/hisilicon/Makefile
drivers/clk/hisilicon/clk-hi3660-stub.c [new file with mode: 0644]