aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDirk Behme <dirk.behme@gmail.com>2013-05-18 03:25:28 -0400
committerNitin Garg <nitin.garg@freescale.com>2014-04-16 09:00:37 -0400
commit53e5a354da98e060b235beac3d746bece756b8f8 (patch)
treeb44fb1665f3d95b9ec39e5ad240258657a1c2607
parent692634b8991b8585d2287d11a6e6459ceb2783e2 (diff)
ARM: i.MX6: clk: add different DualLite MLB clock config
Commit fbcb441217dd2bce00e892fd5b2a481c2249f1a4 upstream. The CCM_CBCMR register (address 0x02C4018) has different meaning between the i.MX6 Quad/Dual and the i.MX6 Solo/DualLite. Compared to the i.MX6 Quad/Dual, the CCM_CBCMR register in the i.MX6 Solo/DualLite reuses the gpu2d_core bits for the MLB clock configuration. Signed-off-by: Dirk Behme <dirk.behme@gmail.com> Signed-off-by: Shawn Guo <shawn.guo@linaro.org> Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
-rw-r--r--arch/arm/mach-imx/clk-imx6q.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/arch/arm/mach-imx/clk-imx6q.c b/arch/arm/mach-imx/clk-imx6q.c
index 369100ddaaf7..79a118a2925d 100644
--- a/arch/arm/mach-imx/clk-imx6q.c
+++ b/arch/arm/mach-imx/clk-imx6q.c
@@ -495,7 +495,14 @@ static void __init imx6q_clocks_init(struct device_node *ccm_node)
495 clk[ldb_di1] = imx_clk_gate2("ldb_di1", "ldb_di1_podf", base + 0x74, 14); 495 clk[ldb_di1] = imx_clk_gate2("ldb_di1", "ldb_di1_podf", base + 0x74, 14);
496 clk[ipu2_di1] = imx_clk_gate2("ipu2_di1", "ipu2_di1_sel", base + 0x74, 10); 496 clk[ipu2_di1] = imx_clk_gate2("ipu2_di1", "ipu2_di1_sel", base + 0x74, 10);
497 clk[hsi_tx] = imx_clk_gate2("hsi_tx", "hsi_tx_podf", base + 0x74, 16); 497 clk[hsi_tx] = imx_clk_gate2("hsi_tx", "hsi_tx_podf", base + 0x74, 16);
498 clk[mlb] = imx_clk_gate2("mlb", "axi", base + 0x74, 18); 498 if (cpu_is_imx6dl())
499 /*
500 * The multiplexer and divider of the imx6q clock gpu2d get
501 * redefined/reused as mlb_sys_sel and mlb_sys_clk_podf on imx6dl.
502 */
503 clk[mlb] = imx_clk_gate2("mlb", "gpu2d_core_podf", base + 0x74, 18);
504 else
505 clk[mlb] = imx_clk_gate2("mlb", "axi", base + 0x74, 18);
499 clk[mmdc_ch0_axi] = imx_clk_gate2("mmdc_ch0_axi", "mmdc_ch0_axi_podf", base + 0x74, 20); 506 clk[mmdc_ch0_axi] = imx_clk_gate2("mmdc_ch0_axi", "mmdc_ch0_axi_podf", base + 0x74, 20);
500 clk[mmdc_ch1_axi] = imx_clk_gate2("mmdc_ch1_axi", "mmdc_ch1_axi_podf", base + 0x74, 22); 507 clk[mmdc_ch1_axi] = imx_clk_gate2("mmdc_ch1_axi", "mmdc_ch1_axi_podf", base + 0x74, 22);
501 clk[ocram] = imx_clk_gate2("ocram", "ahb", base + 0x74, 28); 508 clk[ocram] = imx_clk_gate2("ocram", "ahb", base + 0x74, 28);