summaryrefslogtreecommitdiff
path: root/wcfxs.c
diff options
context:
space:
mode:
authormarkster <markster@5390a7c7-147a-4af0-8ec9-7488f05a26cb>2004-06-21 22:11:59 +0000
committermarkster <markster@5390a7c7-147a-4af0-8ec9-7488f05a26cb>2004-06-21 22:11:59 +0000
commitc1bf71f86c01bd2905fa03a1ee164637faba89ad (patch)
tree2596bf8c787c616a7e9bed5bf94bf8246acbf5dc /wcfxs.c
parent8ad434c95444cf438845f57b2c63ba4114ee1e5e (diff)
Move DC/DC calibration to better location
git-svn-id: http://svn.digium.com/svn/zaptel/trunk@418 5390a7c7-147a-4af0-8ec9-7488f05a26cb
Diffstat (limited to 'wcfxs.c')
-rwxr-xr-xwcfxs.c20
1 files changed, 10 insertions, 10 deletions
diff --git a/wcfxs.c b/wcfxs.c
index a1c851f..c41a4f7 100755
--- a/wcfxs.c
+++ b/wcfxs.c
@@ -810,7 +810,6 @@ static int wcfxs_proslic_powerleak_test(struct wcfxs *wc, int card)
static int wcfxs_powerup_proslic(struct wcfxs *wc, int card, int fast)
{
unsigned char vbat;
- unsigned char r19;
unsigned long origjiffies;
/* Set period of DC-DC converter to 1/64 khz */
@@ -844,15 +843,7 @@ static int wcfxs_powerup_proslic(struct wcfxs *wc, int card, int fast)
}
/* Engage DC-DC converter */
- wcfxs_setreg(wc, card, 93, 0x99 /* was 0x19 */);
-
- r19 = wcfxs_getreg(wc, card, 107);
- if ((r19 < 0x2) || (r19 > 0xd)) {
- if (debug)
- printk("DC-DC cal has a surprising direct 107 of 0x%02x!\n", r19);
- wcfxs_setreg(wc, card, 107, 0x8);
- }
-
+ wcfxs_setreg(wc, card, 93, 0x19 /* was 0x19 */);
#if 0
origjiffies = jiffies;
while(0x80 & wcfxs_getreg(wc, card, 93)) {
@@ -1040,6 +1031,7 @@ static int wcfxs_init_proslic(struct wcfxs *wc, int card, int fast, int manual,
{
unsigned short tmp[5];
+ unsigned char r19;
int x;
/* By default, don't send on hook */
@@ -1121,6 +1113,14 @@ static int wcfxs_init_proslic(struct wcfxs *wc, int card, int fast, int manual,
printk("Proslic Passed Auto Calibration on Second Attempt\n");
}
}
+ /* Perform DC-DC calibration */
+ wcfxs_setreg(wc, card, 93, 0x99);
+ r19 = wcfxs_getreg(wc, card, 107);
+ if ((r19 < 0x2) || (r19 > 0xd)) {
+ printk("DC-DC cal has a surprising direct 107 of 0x%02x!\n", r19);
+ wcfxs_setreg(wc, card, 107, 0x8);
+ }
+
/* Save calibration vectors */
for (x=0;x<NUM_CAL_REGS;x++)
wc->mod.fxs.calregs[card].vals[x] = wcfxs_getreg(wc, card, 96 + x);