Low Level Controller
{
}
/* dummy value in the cixr register */
/* prevents a false interpretation of*/
/* the incoming (looped) C/I channel */
if (EnableClk_BASIC (pt_dch))
outp (pt_dch->pt_r_cixr, 0x6F);
r_spcr = inp (pt->pt_r_spcr);
outp (pt->pt_r_spcr, r_spcr | SPCR_TPL);
}
else
{
/* Loop OFF
*/
r_spcr = inp (pt->pt_r_spcr) & ~SPCR_TPL;
outp (pt->pt_r_spcr, r_spcr);
pt->pt_state &= ~PT_LOOP;
}
return (ACK_DONE);
}
/***************************************************************************/
/*
/*
/*
/*
/*
*/
*/
*/
*/
*/
Function: SwitchB_ICC ()
purpose : switch the B-channels in IOM1 configurations
to the SSI or SLD interface or back to network
/***************************************************************************/
EXPORT int
SwitchB_ICC (pei, chan_ctrl, sip_act)
BYTE
BOOLEAN
pei, chan_ctrl;
sip_act;
{
register PEITAB
BYTE
*pt;
r_spcr;
if (!(pt = GetPeitab_BASIC (pei)))
return (ACK_NOT_SUPPORTED);
if (chan_ctrl > 0x0F)
return (ACK_WRONG_PARM);
if (!(pt->pt_state & PT_IOM2))
{
r_spcr = inp (pt->pt_r_spcr) & 0xF0;
if (sip_act)
r_spcr |= SPCR_SAC;
else
r_spcr &= ~SPCR_SAC;
/* activate SIP ?
/* yes: set SAC bit
*/
*/
/* no: clear SAC bit
*/
outp (pt->pt_r_spcr, r_spcr | chan_ctrl);
}
return (ACK_DONE);
}
Semiconductor Group
295