Low Level Controller
return (ACK_NOT_SUPPORTED);
outp (pt->pt_r_mask, 0xFF);
/* compare the requested
/* initialization mode with
*/
*/
/* detected hardware configuration */
/* (’pt_ModulMode’)
*/
if (pt->pt_ModulMode != mode_type)
{
outp (pt->pt_r_mask, 0x00);
return (ACK_WRONG_MODUL_MODE);
}
/* timing mode 0 is used on the
/* SIPB for TE and NTS configu-
/* ration
*/
*/
*/
r_mode = inp (pt->pt_r_mode);
if (mode_type == PT_MM_TE)
outp (pt->pt_r_mode, (r_mode & ~(MODE_HMD2 | MODE_HMD1)) | MODE_HMD0);
else
outp (pt->pt_r_mode, r_mode & ~(MODE_HMD2 | MODE_HMD1 | MODE_HMD0));
if (pt->pt_state & PT_IOM2)
/* IOM 2 mode ?
*/
{
outp (pt->pt_r_adf2, 0x80);
/* program IOM2 mode in ICC/ISAC-S */
switch (mode_type)
{
case PT_MM_NT:
/* Changed to be terminal mode
/* timing rather than SPCR_SPM
*/
*/
outp (pt->pt_r_spcr, 0x00);
outp (pt->pt_r_stcr, 0x00);
/* no terminal specific functions
*/
outp (pt->pt_r_mode, (r_mode & ~(MODE_HMD2 | MODE_HMD0))
| MODE_HMD1);
break;
case PT_MM_TE:
outp (pt->pt_r_spcr, 0x00);
outp (pt->pt_r_stcr, 0x70);
/* terminal mode
/* TIC bus address ’7’
/* no watchdog timer
*/
*/
*/
break;
}
}
else
{
outp (pt->pt_r_adf2, 0x00);
outp (pt->pt_r_stcr, 0x70);
/* program IOM2 mode in ICC/ISAC-S */
/* program TIC bus address
*/
}
outp (pt->pt_r_mask, 0x00);
Semiconductor Group
311