aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Chen <jason.chen@linaro.org>2011-12-09 18:25:18 +0800
committerJason Chen <jason.chen@linaro.org>2011-12-09 18:27:59 +0800
commit0b956b9e2c25eb7c03fc102b25ccfd448ecdd551 (patch)
tree4f411a3558b2a90408d6bd56e2c26054add4d1e1
parent488ad5e9032bcecd606bc7d3a24375966840e7d0 (diff)
MXC IRAM: enable IRAM
Signed-off-by: Jason Chen <jason.chen@linaro.org>
-rw-r--r--arch/arm/mach-imx/clock-imx6q.c5
-rw-r--r--arch/arm/mach-imx/mach-imx6q.c4
-rw-r--r--arch/arm/plat-mxc/Kconfig1
3 files changed, 6 insertions, 4 deletions
diff --git a/arch/arm/mach-imx/clock-imx6q.c b/arch/arm/mach-imx/clock-imx6q.c
index bac0150c25d..0ac0094472d 100644
--- a/arch/arm/mach-imx/clock-imx6q.c
+++ b/arch/arm/mach-imx/clock-imx6q.c
@@ -1795,6 +1795,7 @@ DEF_CLK(mmdc_ch0_axi_clk, CCGR3, CG10, &periph_clk, &mmdc_ch0_ipg_clk);
DEF_CLK(mmdc_ch1_ipg_clk, CCGR3, CG13, &ipg_clk, NULL);
DEF_CLK(mmdc_ch1_axi_clk, CCGR3, CG11, &periph2_clk, &mmdc_ch1_ipg_clk);
DEF_CLK(openvg_axi_clk, CCGR3, CG13, &axi_clk, NULL);
+DEF_CLK(ocram_clk, CCGR3, CG14, &ahb_clk, NULL);
DEF_CLK(pwm1_clk, CCGR4, CG8, &ipg_perclk, NULL);
DEF_CLK(pwm2_clk, CCGR4, CG9, &ipg_perclk, NULL);
DEF_CLK(pwm3_clk, CCGR4, CG10, &ipg_perclk, NULL);
@@ -1818,7 +1819,7 @@ DEF_CLK(usdhc3_clk, CCGR6, CG3, &pll2_pfd_400m, NULL);
DEF_CLK(usdhc4_clk, CCGR6, CG4, &pll2_pfd_400m, NULL);
DEF_CLK(emi_slow_clk, CCGR6, CG5, &axi_clk, NULL);
DEF_CLK(vdo_axi_clk, CCGR6, CG6, &axi_clk, NULL);
-DEF_CLK(vpu_clk, CCGR6, CG7, &axi_clk, NULL);
+DEF_CLK(vpu_clk, CCGR6, CG7, &axi_clk, &ocram_clk);
static int pcie_clk_enable(struct clk *clk)
{
@@ -2017,7 +2018,7 @@ int __init mx6q_clocks_init(void)
/* only keep necessary clocks on */
writel_relaxed(0x3 << CG0 | 0x3 << CG1 | 0x3 << CG2, CCGR0);
writel_relaxed(0x3 << CG8 | 0x3 << CG9 | 0x3 << CG10, CCGR2);
- writel_relaxed(0x3 << CG10 | 0x3 << CG12, CCGR3);
+ writel_relaxed(0x3 << CG10 | 0x3 << CG12 | 0x1 << CG14, CCGR3);
writel_relaxed(0x3 << CG4 | 0x3 << CG6 | 0x3 << CG7, CCGR4);
writel_relaxed(0x3 << CG0, CCGR5);
writel_relaxed(0, CCGR6);
diff --git a/arch/arm/mach-imx/mach-imx6q.c b/arch/arm/mach-imx/mach-imx6q.c
index 5936a4c608c..2cc33f32b81 100644
--- a/arch/arm/mach-imx/mach-imx6q.c
+++ b/arch/arm/mach-imx/mach-imx6q.c
@@ -107,6 +107,8 @@ static void __init imx6q_init_machine(void)
mxc_iomux_v3_setup_multiple_pads(mx6q_sabr_pads,
ARRAY_SIZE(mx6q_sabr_pads));
+ iram_init(MX6Q_IRAM_BASE_ADDR, MX6Q_IRAM_SIZE);
+
of_platform_populate(NULL, of_default_bus_match_table, imx6q_auxdata_lookup, NULL);
imx6q_pm_init();
@@ -139,8 +141,6 @@ static void __init imx6q_map_io(void)
imx_scu_map_io();
imx6q_clock_map_io();
- iram_init(MX6Q_IRAM_BASE_ADDR, MX6Q_IRAM_SIZE);
-
init_consistent_dma_size(SZ_64M);
if (!system_rev)
diff --git a/arch/arm/plat-mxc/Kconfig b/arch/arm/plat-mxc/Kconfig
index 1c920b2b881..c7cccdacf9b 100644
--- a/arch/arm/plat-mxc/Kconfig
+++ b/arch/arm/plat-mxc/Kconfig
@@ -110,6 +110,7 @@ config ARCH_MXC_AUDMUX_V2
config IRAM_ALLOC
bool
+ default y
select GENERIC_ALLOCATOR
config CLK_DEBUG