aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Walmsley <paul@pwsan.com>2011-02-25 17:39:29 -0500
committerPaul Walmsley <paul@pwsan.com>2011-03-07 22:02:38 -0500
commita56d9ea865e42a6bf6393fc3d3a143553dbf68c5 (patch)
tree8a8939c1f9fc985a98dfc95caa494bb8fa807b3e
parent530e544fdadb934470c5c2b0e8d60c3d5386c161 (diff)
OMAP2420: clock: add sdrc_ick
Add sdrc_ick to the OMAP2420 clock data so the clock code can control the CM_AUTOIDLE bit associated with this clock. Signed-off-by: Paul Walmsley <paul@pwsan.com> Tested-by: Rajendra Nayak <rnayak@ti.com> Reviewed-by: Kevin Hilman <khilman@ti.com>
-rw-r--r--arch/arm/mach-omap2/clock2420_data.c16
-rw-r--r--arch/arm/mach-omap2/cm-regbits-24xx.h1
2 files changed, 17 insertions, 0 deletions
diff --git a/arch/arm/mach-omap2/clock2420_data.c b/arch/arm/mach-omap2/clock2420_data.c
index 30fbcbd0ed81..63ed4816b920 100644
--- a/arch/arm/mach-omap2/clock2420_data.c
+++ b/arch/arm/mach-omap2/clock2420_data.c
@@ -1608,6 +1608,21 @@ static struct clk sdma_ick = {
1608 .recalc = &followparent_recalc, 1608 .recalc = &followparent_recalc,
1609}; 1609};
1610 1610
1611/*
1612 * The enable_reg/enable_bit in this clock is only used for CM_AUTOIDLE
1613 * accesses derived from this data.
1614 */
1615static struct clk sdrc_ick = {
1616 .name = "sdrc_ick",
1617 .ops = &clkops_omap2_iclk_idle_only,
1618 .parent = &core_l3_ck,
1619 .flags = ENABLE_ON_INIT,
1620 .clkdm_name = "core_l3_clkdm",
1621 .enable_reg = OMAP_CM_REGADDR(CORE_MOD, CM_ICLKEN3),
1622 .enable_bit = OMAP24XX_AUTO_SDRC_SHIFT,
1623 .recalc = &followparent_recalc,
1624};
1625
1611static struct clk vlynq_ick = { 1626static struct clk vlynq_ick = {
1612 .name = "vlynq_ick", 1627 .name = "vlynq_ick",
1613 .ops = &clkops_omap2_dflt_wait, 1628 .ops = &clkops_omap2_dflt_wait,
@@ -1869,6 +1884,7 @@ static struct omap_clk omap2420_clks[] = {
1869 CLK(NULL, "gpmc_fck", &gpmc_fck, CK_242X), 1884 CLK(NULL, "gpmc_fck", &gpmc_fck, CK_242X),
1870 CLK(NULL, "sdma_fck", &sdma_fck, CK_242X), 1885 CLK(NULL, "sdma_fck", &sdma_fck, CK_242X),
1871 CLK(NULL, "sdma_ick", &sdma_ick, CK_242X), 1886 CLK(NULL, "sdma_ick", &sdma_ick, CK_242X),
1887 CLK(NULL, "sdrc_ick", &sdrc_ick, CK_242X),
1872 CLK(NULL, "vlynq_ick", &vlynq_ick, CK_242X), 1888 CLK(NULL, "vlynq_ick", &vlynq_ick, CK_242X),
1873 CLK(NULL, "vlynq_fck", &vlynq_fck, CK_242X), 1889 CLK(NULL, "vlynq_fck", &vlynq_fck, CK_242X),
1874 CLK(NULL, "des_ick", &des_ick, CK_242X), 1890 CLK(NULL, "des_ick", &des_ick, CK_242X),
diff --git a/arch/arm/mach-omap2/cm-regbits-24xx.h b/arch/arm/mach-omap2/cm-regbits-24xx.h
index d70660e82fe6..409c813eb2e2 100644
--- a/arch/arm/mach-omap2/cm-regbits-24xx.h
+++ b/arch/arm/mach-omap2/cm-regbits-24xx.h
@@ -210,6 +210,7 @@
210#define OMAP24XX_AUTO_USB_MASK (1 << 0) 210#define OMAP24XX_AUTO_USB_MASK (1 << 0)
211 211
212/* CM_AUTOIDLE3_CORE */ 212/* CM_AUTOIDLE3_CORE */
213#define OMAP24XX_AUTO_SDRC_SHIFT 2
213#define OMAP24XX_AUTO_SDRC_MASK (1 << 2) 214#define OMAP24XX_AUTO_SDRC_MASK (1 << 2)
214#define OMAP24XX_AUTO_GPMC_MASK (1 << 1) 215#define OMAP24XX_AUTO_GPMC_MASK (1 << 1)
215#define OMAP24XX_AUTO_SDMA_MASK (1 << 0) 216#define OMAP24XX_AUTO_SDMA_MASK (1 << 0)