Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 175611
b: refs/heads/master
c: 06b1693
h: refs/heads/master
i:
  175609: b0b63d7
  175607: ce23bb4
v: v3
  • Loading branch information
Paul Walmsley authored and paul committed Dec 11, 2009
1 parent 3e0d1b1 commit eed24d9
Show file tree
Hide file tree
Showing 3 changed files with 26 additions and 15 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: ebd893ded2733b8bd9ba403ee4a9e6ab6fbc2a54
refs/heads/master: 06b16939a3d58aa128fee22b9aaf7dbc9a5b7c1c
35 changes: 23 additions & 12 deletions trunk/arch/arm/mach-omap2/clock24xx.c
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,8 @@
#include "cm-regbits-24xx.h"

static const struct clkops clkops_oscck;
static const struct clkops clkops_fixed;
static const struct clkops clkops_apll96;
static const struct clkops clkops_apll54;

static void omap2430_clk_i2chs_find_idlest(struct clk *clk,
void __iomem **idlest_reg,
Expand Down Expand Up @@ -338,7 +339,7 @@ static void omap2_sys_clk_recalc(struct clk * clk)
#endif /* OLD_CK */

/* Enable an APLL if off */
static int omap2_clk_fixed_enable(struct clk *clk)
static int omap2_clk_apll_enable(struct clk *clk, u32 status_mask)
{
u32 cval, apll_mask;

Expand All @@ -353,12 +354,7 @@ static int omap2_clk_fixed_enable(struct clk *clk)
cval |= apll_mask;
cm_write_mod_reg(cval, PLL_MOD, CM_CLKEN);

if (clk == &apll96_ck)
cval = OMAP24XX_ST_96M_APLL;
else if (clk == &apll54_ck)
cval = OMAP24XX_ST_54M_APLL;

omap2_cm_wait_idlest(OMAP_CM_REGADDR(PLL_MOD, CM_IDLEST), cval,
omap2_cm_wait_idlest(OMAP_CM_REGADDR(PLL_MOD, CM_IDLEST), status_mask,
clk->name);

/*
Expand All @@ -368,8 +364,18 @@ static int omap2_clk_fixed_enable(struct clk *clk)
return 0;
}

static int omap2_clk_apll96_enable(struct clk *clk)
{
return omap2_clk_apll_enable(clk, OMAP24XX_ST_96M_APLL);
}

static int omap2_clk_apll54_enable(struct clk *clk)
{
return omap2_clk_apll_enable(clk, OMAP24XX_ST_54M_APLL);
}

/* Stop APLL */
static void omap2_clk_fixed_disable(struct clk *clk)
static void omap2_clk_apll_disable(struct clk *clk)
{
u32 cval;

Expand All @@ -378,9 +384,14 @@ static void omap2_clk_fixed_disable(struct clk *clk)
cm_write_mod_reg(cval, PLL_MOD, CM_CLKEN);
}

static const struct clkops clkops_fixed = {
.enable = &omap2_clk_fixed_enable,
.disable = &omap2_clk_fixed_disable,
static const struct clkops clkops_apll96 = {
.enable = &omap2_clk_apll96_enable,
.disable = &omap2_clk_apll_disable,
};

static const struct clkops clkops_apll54 = {
.enable = &omap2_clk_apll54_enable,
.disable = &omap2_clk_apll_disable,
};

/*
Expand Down
4 changes: 2 additions & 2 deletions trunk/arch/arm/mach-omap2/clock24xx.h
Original file line number Diff line number Diff line change
Expand Up @@ -708,7 +708,7 @@ static struct clk dpll_ck = {

static struct clk apll96_ck = {
.name = "apll96_ck",
.ops = &clkops_fixed,
.ops = &clkops_apll96,
.parent = &sys_ck,
.rate = 96000000,
.flags = RATE_FIXED | ENABLE_ON_INIT,
Expand All @@ -719,7 +719,7 @@ static struct clk apll96_ck = {

static struct clk apll54_ck = {
.name = "apll54_ck",
.ops = &clkops_fixed,
.ops = &clkops_apll54,
.parent = &sys_ck,
.rate = 54000000,
.flags = RATE_FIXED | ENABLE_ON_INIT,
Expand Down

0 comments on commit eed24d9

Please sign in to comment.