Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 191811
b: refs/heads/master
c: 643761a
h: refs/heads/master
i:
  191809: 587a0be
  191807: d9fbd95
v: v3
  • Loading branch information
Russell King committed May 2, 2010
1 parent 794f613 commit 35d463a
Show file tree
Hide file tree
Showing 5 changed files with 1 addition and 132 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: 39c0cb02db5b8fdfac76d506b7a008b70bc960e9
refs/heads/master: 643761ac43dfe4bea1195e966fc65a9403cdcb9f
64 changes: 0 additions & 64 deletions trunk/arch/arm/common/icst307.c
Original file line number Diff line number Diff line change
Expand Up @@ -95,67 +95,3 @@ icst307_khz_to_vco(const struct icst_params *p, unsigned long freq)
}

EXPORT_SYMBOL(icst307_khz_to_vco);

struct icst_vco
icst307_ps_to_vco(const struct icst_params *p, unsigned long period)
{
struct icst_vco vco = { .s = 1, .v = p->vd_max, .r = p->rd_max };
unsigned long f, ps;
unsigned int i = 0, rd, best = (unsigned int)-1;

ps = 1000000000UL / p->vco_max;

/*
* First, find the PLL output divisor such
* that the PLL output is within spec.
*/
do {
f = period / s2div[idx2s[i]];

/*
* f must be between 6MHz and 200MHz (3.3 or 5V)
*/
if (f >= ps && f < 1000000000UL / 6000 + 1)
break;
} while (i < ARRAY_SIZE(idx2s));

if (i >= ARRAY_SIZE(idx2s))
return vco;

vco.s = idx2s[i];

ps = 500000000UL / p->ref;

/*
* Now find the closest divisor combination
* which gives a PLL output of 'f'.
*/
for (rd = p->rd_min; rd <= p->rd_max; rd++) {
unsigned long f_in_div, f_pll;
unsigned int vd;
int f_diff;

f_in_div = ps * rd;

vd = (f_in_div + f / 2) / f;
if (vd < p->vd_min || vd > p->vd_max)
continue;

f_pll = (f_in_div + vd / 2) / vd;
f_diff = f_pll - f;
if (f_diff < 0)
f_diff = -f_diff;

if ((unsigned)f_diff < best) {
vco.v = vd - 8;
vco.r = rd - 2;
if (f_diff == 0)
break;
best = f_diff;
}
}

return vco;
}

EXPORT_SYMBOL(icst307_ps_to_vco);
65 changes: 0 additions & 65 deletions trunk/arch/arm/common/icst525.c
Original file line number Diff line number Diff line change
Expand Up @@ -93,68 +93,3 @@ icst525_khz_to_vco(const struct icst_params *p, unsigned long freq)
}

EXPORT_SYMBOL(icst525_khz_to_vco);

struct icst_vco
icst525_ps_to_vco(const struct icst_params *p, unsigned long period)
{
struct icst_vco vco = { .s = 1, .v = p->vd_max, .r = p->rd_max };
unsigned long f, ps;
unsigned int i = 0, rd, best = (unsigned int)-1;

ps = 1000000000UL / p->vco_max;

/*
* First, find the PLL output divisor such
* that the PLL output is within spec.
*/
do {
f = period / s2div[idx2s[i]];

/*
* f must be between 10MHz and
* 320MHz (5V) or 200MHz (3V)
*/
if (f >= ps && f < 100000)
break;
} while (i < ARRAY_SIZE(idx2s));

if (i >= ARRAY_SIZE(idx2s))
return vco;

vco.s = idx2s[i];

ps = 500000000UL / p->ref;

/*
* Now find the closest divisor combination
* which gives a PLL output of 'f'.
*/
for (rd = p->rd_min; rd <= p->rd_max; rd++) {
unsigned long f_in_div, f_pll;
unsigned int vd;
int f_diff;

f_in_div = ps * rd;

vd = (f_in_div + f / 2) / f;
if (vd < p->vd_min || vd > p->vd_max)
continue;

f_pll = (f_in_div + vd / 2) / vd;
f_diff = f_pll - f;
if (f_diff < 0)
f_diff = -f_diff;

if ((unsigned)f_diff < best) {
vco.v = vd - 8;
vco.r = rd - 2;
if (f_diff == 0)
break;
best = f_diff;
}
}

return vco;
}

EXPORT_SYMBOL(icst525_ps_to_vco);
1 change: 0 additions & 1 deletion trunk/arch/arm/include/asm/hardware/icst307.h
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,5 @@

unsigned long icst307_khz(const struct icst_params *p, struct icst_vco vco);
struct icst_vco icst307_khz_to_vco(const struct icst_params *p, unsigned long freq);
struct icst_vco icst307_ps_to_vco(const struct icst_params *p, unsigned long period);

#endif
1 change: 0 additions & 1 deletion trunk/arch/arm/include/asm/hardware/icst525.h
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,5 @@

unsigned long icst525_khz(const struct icst_params *p, struct icst_vco vco);
struct icst_vco icst525_khz_to_vco(const struct icst_params *p, unsigned long freq);
struct icst_vco icst525_ps_to_vco(const struct icst_params *p, unsigned long period);

#endif

0 comments on commit 35d463a

Please sign in to comment.