diff options
author | Liu Ying <Ying.Liu@freescale.com> | 2015-02-12 01:01:30 -0500 |
---|---|---|
committer | Shawn Guo <shawn.guo@linaro.org> | 2015-03-02 07:52:16 -0500 |
commit | e654df7a1a4843429b5d1d6ee40cac9ecef75304 (patch) | |
tree | 60111ee985afb8c61914d195af3c0d9a8e8f24ec | |
parent | 5ccc248cc53708337a2bfe4ea380c20948e8bbed (diff) |
ARM: imx6q: clk: Add support for mipi_ipg clock as a shared clock gate
The CG8 field of the CCM CCGR3 register is the 'mipi_core_cfg' gate clock,
according to the i.MX6q/sdl reference manuals. This clock is actually the
gate for several clocks, including the ipg clock's output. The MIPI DSI host
controller embedded in the i.MX6q/sdl SoCs takes the ipg clock as the pclk -
the APB clock signal . In order to gate/ungate the ipg clock, this patch adds
a new shared clock gate named as "mipi_ipg".
Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
-rw-r--r-- | arch/arm/mach-imx/clk-imx6q.c | 1 | ||||
-rw-r--r-- | include/dt-bindings/clock/imx6qdl-clock.h | 3 |
2 files changed, 3 insertions, 1 deletions
diff --git a/arch/arm/mach-imx/clk-imx6q.c b/arch/arm/mach-imx/clk-imx6q.c index e59e2c6943fd..469a150bf98f 100644 --- a/arch/arm/mach-imx/clk-imx6q.c +++ b/arch/arm/mach-imx/clk-imx6q.c | |||
@@ -419,6 +419,7 @@ static void __init imx6q_clocks_init(struct device_node *ccm_node) | |||
419 | clk[IMX6QDL_CLK_IPU2_DI1] = imx_clk_gate2("ipu2_di1", "ipu2_di1_sel", base + 0x74, 10); | 419 | clk[IMX6QDL_CLK_IPU2_DI1] = imx_clk_gate2("ipu2_di1", "ipu2_di1_sel", base + 0x74, 10); |
420 | clk[IMX6QDL_CLK_HSI_TX] = imx_clk_gate2_shared("hsi_tx", "hsi_tx_podf", base + 0x74, 16, &share_count_mipi_core_cfg); | 420 | clk[IMX6QDL_CLK_HSI_TX] = imx_clk_gate2_shared("hsi_tx", "hsi_tx_podf", base + 0x74, 16, &share_count_mipi_core_cfg); |
421 | clk[IMX6QDL_CLK_MIPI_CORE_CFG] = imx_clk_gate2_shared("mipi_core_cfg", "video_27m", base + 0x74, 16, &share_count_mipi_core_cfg); | 421 | clk[IMX6QDL_CLK_MIPI_CORE_CFG] = imx_clk_gate2_shared("mipi_core_cfg", "video_27m", base + 0x74, 16, &share_count_mipi_core_cfg); |
422 | clk[IMX6QDL_CLK_MIPI_IPG] = imx_clk_gate2_shared("mipi_ipg", "ipg", base + 0x74, 16, &share_count_mipi_core_cfg); | ||
422 | if (cpu_is_imx6dl()) | 423 | if (cpu_is_imx6dl()) |
423 | /* | 424 | /* |
424 | * The multiplexer and divider of the imx6q clock gpu2d get | 425 | * The multiplexer and divider of the imx6q clock gpu2d get |
diff --git a/include/dt-bindings/clock/imx6qdl-clock.h b/include/dt-bindings/clock/imx6qdl-clock.h index dbc828c23a17..8780868458a0 100644 --- a/include/dt-bindings/clock/imx6qdl-clock.h +++ b/include/dt-bindings/clock/imx6qdl-clock.h | |||
@@ -250,6 +250,7 @@ | |||
250 | #define IMX6QDL_CLK_GPT_3M 237 | 250 | #define IMX6QDL_CLK_GPT_3M 237 |
251 | #define IMX6QDL_CLK_VIDEO_27M 238 | 251 | #define IMX6QDL_CLK_VIDEO_27M 238 |
252 | #define IMX6QDL_CLK_MIPI_CORE_CFG 239 | 252 | #define IMX6QDL_CLK_MIPI_CORE_CFG 239 |
253 | #define IMX6QDL_CLK_END 240 | 253 | #define IMX6QDL_CLK_MIPI_IPG 240 |
254 | #define IMX6QDL_CLK_END 241 | ||
254 | 255 | ||
255 | #endif /* __DT_BINDINGS_CLOCK_IMX6QDL_H */ | 256 | #endif /* __DT_BINDINGS_CLOCK_IMX6QDL_H */ |