diff options
author | Alexander Shiyan <shc_work@mail.ru> | 2012-07-12 11:39:28 -0400 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2012-07-16 17:11:02 -0400 |
commit | d1e9e0ea22ba26d0504b89299b7c5122275b39ab (patch) | |
tree | d0b07cabc711128d51ccf34fa35cd7c314d0e183 /arch/arm/mach-imx | |
parent | 1b76b74da6338ba46590d65f55c3e7d6b8065ae4 (diff) |
ARM: i.MX5x clocks: Add EPIT support
This patch adds support for Enhanced Periodic Interrupt Timer (EPIT)
to clock subsystem.
Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch/arm/mach-imx')
-rw-r--r-- | arch/arm/mach-imx/clk-imx51-imx53.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/arch/arm/mach-imx/clk-imx51-imx53.c b/arch/arm/mach-imx/clk-imx51-imx53.c index a2200c77bf70..d4653d94319b 100644 --- a/arch/arm/mach-imx/clk-imx51-imx53.c +++ b/arch/arm/mach-imx/clk-imx51-imx53.c | |||
@@ -81,6 +81,7 @@ enum imx5_clks { | |||
81 | ssi1_root_podf, ssi2_root_pred, ssi2_root_podf, ssi_ext1_pred, | 81 | ssi1_root_podf, ssi2_root_pred, ssi2_root_podf, ssi_ext1_pred, |
82 | ssi_ext1_podf, ssi_ext2_pred, ssi_ext2_podf, ssi1_root_gate, | 82 | ssi_ext1_podf, ssi_ext2_pred, ssi_ext2_podf, ssi1_root_gate, |
83 | ssi2_root_gate, ssi3_root_gate, ssi_ext1_gate, ssi_ext2_gate, | 83 | ssi2_root_gate, ssi3_root_gate, ssi_ext1_gate, ssi_ext2_gate, |
84 | epit1_ipg_gate, epit1_hf_gate, epit2_ipg_gate, epit2_hf_gate, | ||
84 | clk_max | 85 | clk_max |
85 | }; | 86 | }; |
86 | 87 | ||
@@ -226,6 +227,10 @@ static void __init mx5_clocks_common_init(unsigned long rate_ckil, | |||
226 | clk[ssi3_root_gate] = imx_clk_gate2("ssi3_root_gate", "ssi3_root_sel", MXC_CCM_CCGR3, 26); | 227 | clk[ssi3_root_gate] = imx_clk_gate2("ssi3_root_gate", "ssi3_root_sel", MXC_CCM_CCGR3, 26); |
227 | clk[ssi_ext1_gate] = imx_clk_gate2("ssi_ext1_gate", "ssi_ext1_com_sel", MXC_CCM_CCGR3, 28); | 228 | clk[ssi_ext1_gate] = imx_clk_gate2("ssi_ext1_gate", "ssi_ext1_com_sel", MXC_CCM_CCGR3, 28); |
228 | clk[ssi_ext2_gate] = imx_clk_gate2("ssi_ext2_gate", "ssi_ext2_com_sel", MXC_CCM_CCGR3, 30); | 229 | clk[ssi_ext2_gate] = imx_clk_gate2("ssi_ext2_gate", "ssi_ext2_com_sel", MXC_CCM_CCGR3, 30); |
230 | clk[epit1_ipg_gate] = imx_clk_gate2("epit1_ipg_gate", "ipg", MXC_CCM_CCGR2, 2); | ||
231 | clk[epit1_hf_gate] = imx_clk_gate2("epit1_hf_gate", "per_root", MXC_CCM_CCGR2, 4); | ||
232 | clk[epit2_ipg_gate] = imx_clk_gate2("epit2_ipg_gate", "ipg", MXC_CCM_CCGR2, 6); | ||
233 | clk[epit2_hf_gate] = imx_clk_gate2("epit2_hf_gate", "per_root", MXC_CCM_CCGR2, 8); | ||
229 | 234 | ||
230 | for (i = 0; i < ARRAY_SIZE(clk); i++) | 235 | for (i = 0; i < ARRAY_SIZE(clk); i++) |
231 | if (IS_ERR(clk[i])) | 236 | if (IS_ERR(clk[i])) |
@@ -279,6 +284,10 @@ static void __init mx5_clocks_common_init(unsigned long rate_ckil, | |||
279 | clk_register_clkdev(clk[dummy], NULL, "imx-keypad"); | 284 | clk_register_clkdev(clk[dummy], NULL, "imx-keypad"); |
280 | clk_register_clkdev(clk[tve_gate], NULL, "imx-tve.0"); | 285 | clk_register_clkdev(clk[tve_gate], NULL, "imx-tve.0"); |
281 | clk_register_clkdev(clk[ipu_di1_gate], "di1", "imx-tve.0"); | 286 | clk_register_clkdev(clk[ipu_di1_gate], "di1", "imx-tve.0"); |
287 | clk_register_clkdev(clk[epit1_ipg_gate], "ipg", "imx-epit.0"); | ||
288 | clk_register_clkdev(clk[epit1_hf_gate], "per", "imx-epit.0"); | ||
289 | clk_register_clkdev(clk[epit2_ipg_gate], "ipg", "imx-epit.1"); | ||
290 | clk_register_clkdev(clk[epit2_hf_gate], "per", "imx-epit.1"); | ||
282 | 291 | ||
283 | /* Set SDHC parents to be PLL2 */ | 292 | /* Set SDHC parents to be PLL2 */ |
284 | clk_set_parent(clk[esdhc_a_sel], clk[pll2_sw]); | 293 | clk_set_parent(clk[esdhc_a_sel], clk[pll2_sw]); |