]> git.kernelconcepts.de Git - karo-tx-linux.git/commit
MLK-9955-9 arm: imx: add A9-M4 clk shared management
authorAnson Huang <b20788@freescale.com>
Thu, 4 Dec 2014 04:22:20 +0000 (12:22 +0800)
committerNitin Garg <nitin.garg@freescale.com>
Fri, 16 Jan 2015 03:18:42 +0000 (21:18 -0600)
commit85b0386ca3daf90e3b230b76249724ed190ebc12
tree3dbf2bd08fa6286bbe89fab1029fde459db8a2ea
parentdd3302cab46a13172c3dc121cb1b76c21e5a77c3
MLK-9955-9 arm: imx: add A9-M4 clk shared management

As A9 and M4 share many resources on i.MX6SX, especially for
clk and power related resource, so we need to handle the hardware
conflict between these two cores, there are two cases that we
need to consider currently:

clk management: for every clk node, only when both A9 and
M4 do NOT need it, then we can disable it from hardware;

Here we use MU and hardware SEMA4 to achieve our goal, MU is
for communiation between A9 and M4, SEMA4 is to protect the
shared memory.

For clk management, we use shared memory to maintain the clk
status for both A9 and M4 side, and this shared memory is
protected by hardware SEMA4, A9 and M4 will maintain their
own clk tree info in their SW environment, and get other
CORE's clk tree info from shared memory to decide whether
to perform a hardware setting change when they plan to.

Signed-off-by: Anson Huang <b20788@freescale.com>
arch/arm/mach-imx/clk-gate2.c
arch/arm/mach-imx/clk-imx6sx.c
arch/arm/mach-imx/clk-pfd.c
arch/arm/mach-imx/clk-pllv3.c
arch/arm/mach-imx/clk.h
arch/arm/mach-imx/common.h
arch/arm/mach-imx/gpc.c
arch/arm/mach-imx/src.c