]> git.baikalelectronics.ru Git - kernel.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)
commitb8d4ce4668bb6fca4a476b59e17def43ba8a0b25
treed8d4038a76f3c69627f1f93a09b4895c36052ba5
parentf515e031036bb00b3173aef290cf561994cb0b74
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]