17.05.2015 Views

~ National ~ Semiconductor - Al Kossow's Bitsavers

~ National ~ Semiconductor - Al Kossow's Bitsavers

~ National ~ Semiconductor - Al Kossow's Bitsavers

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

....<br />

~<br />

•<br />

z<br />

c(<br />

bne cbufloop #Jump back if not done<br />

#<br />

#*************** SET UP INTERRUPT SERVICE ROUTINE PARAMETERS *******************<br />

#<br />

movd $OxOff,start2(sb)<br />

movd $OxOff,startl(sb)<br />

movd $16,blk16cnt<br />

movd $O,sbufcnt<br />

#Inltlallze compare<br />

#Initlalize receiver data lntr<br />

#Inltlallze 16 byte block counter<br />

#Inltlalize strlng bufffer transmitted<br />

#count<br />

#<br />

#****~********************** 16550A INITIALIZATION ******************************<br />

movb $Ox080,lcr<br />

#<br />

#Set dlab ~ 1 for divisor latch access<br />

movb $4,txd<br />

#Low divlsor latch l28k w/8.0 MHz xtal<br />

movb SO,ier<br />

tUpper divisor latch<br />

movb $OxOO3,lcr #Dlab ~ 0, 8 bits, no parity, 1 stop<br />

movb $O,ler<br />

#Disable UART interrupts<br />

movb $OxOc7,fcr<br />

#Fifo~> trigger ~ 14, reset & enable<br />

#<br />

#**************************** INITIALIZE 32202 (ICU) ***************************<br />

#<br />

movd $lcu addr,rO<br />

iRO ~ icu address<br />

movb $Oxca,lcu_mctl(rO) #Set mode 8 blt bus mode,<br />

# freeze counters,<br />

# disable interrupts,<br />

# flxed priorlty.<br />

movqb O,icu cctl(rO)<br />

movqb -l,icU lps(rO)<br />

movqb O,icu csrc(rO)<br />

movqb O,icu-csrc+aO(rO)<br />

movb $OxlO,icu svct(rO)<br />

movqb -l,lCU elgt(rO)<br />

movqb -l,lcu-elgt+aO(rO)<br />

movqb $2,icu-tpl(rO)<br />

movqb O,icu tpl+aO(rO)<br />

movqb O,icu-fprt(rO)<br />

movqb O,lcu-fprt+aO<br />

movqb O,icu-lsrv(rO)<br />

movqb O,icu-lsrv+aO(rO)<br />

movqb -l,1CU imsk(rO)<br />

movqb -l,icu-lmsk+aO(rO)<br />

setcfg [i] -<br />

movd $icu addr,rO<br />

movb $Ox02,lCU mctl(rO)<br />

movb $Ox010,icu cctl(rO)<br />

movb $Oxfd,icu Imsk(rO)<br />

movb $Oxft,icu-imsk+aO(rO)<br />

bispsrw $(Ox800)<br />

#Halt the counters<br />

#Set all pins to interrupt source<br />

#No cascaded interrupts (low reg)<br />

# (high reg)<br />

#Set lnterrupt base vector<br />

#Set level trlggerlng mode (low reg)<br />

#(high reg)<br />

#Set level triggerlng mode (low reg)<br />

#( high reg)<br />

#Set highest priority to 0 (low reg)<br />

#(hlgh reg)<br />

#Clear intr in-service regs (low reg)<br />

#(hlgh reg)<br />

#Mask all 1ntr (low reg)<br />

#( h1gh reg) H<br />

#Enable vectored 1ntrp (I~l)<br />

#<br />

#F1xed mode, 8 blt bus mode<br />

#Set to internal sampllng<br />

#Enable irl<br />

#Mask all other interrupts<br />

#Enable cpu intr's<br />

#<br />

movd $O,rl<br />

#Inltlallze transmitter buffer oftset<br />

#<br />

#*************************** ENABLE 16550A INTERRUPTS ***************************<br />

#<br />

end1nit:<br />

movb $2,mcr<br />

movb $OxOS,ier<br />

#Clear outl, out2 and enable rts<br />

#Enable all but modem status interrupts<br />

land the THRE so the boards can be<br />

#started.<br />

#<br />

WAITING FOR INTERRUPTS ********************<br />

#<br />

TL/C/9313-15<br />

4-74

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!