ARM: imx: add an exclusive gate clock type
authorShawn Guo <shawn.guo@freescale.com>
Tue, 26 Aug 2014 07:06:33 +0000 (15:06 +0800)
committerShawn Guo <shawn.guo@freescale.com>
Tue, 16 Sep 2014 02:06:48 +0000 (10:06 +0800)
commit19d863446a6b75b2f97b3012acf67c40b9f2ea1f
tree2e5c01c62795c0e0a2d33ba5f2f2bb0f00a2b43d
parentbd404b1d337b960c44b75fcb01e3170f1d41ae80
ARM: imx: add an exclusive gate clock type

There are a couple of gate clocks are mutually exclusive on i.MX6, i.e.
LVDSCLK1_IBEN and LVDSCLK1_OBEN.  They cannot be enabled simultaneously.
This patches adds an exclusive gate clock type specifically for such
case.  The clock driver will need to call imx_clk_gate_exclusive() to
register a gate clock with parameter exclusive_mask indicating the mask
of gate bits which are mutually exclusive to this gate clock.

Right now, it only handles the exclusive gate clocks which are defined
in a single hardware register, which is the case we're running into
today.  But it can be extended to handle exclusive gate clocks defined
in different registers later if needed.

Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
arch/arm/mach-imx/Makefile
arch/arm/mach-imx/clk-gate-exclusive.c [new file with mode: 0644]
arch/arm/mach-imx/clk.h