[Asterisk-Dev] question about reset and interrupt

CKW G ckw_g at yahoo.com
Sat Apr 9 20:07:53 MST 2005


Hi Asterisks developers,
 
I am new to this group. I am looking at the WCFXS code and mapping the code to the actual hardware (Proslic, Tiger320) to understand the driver better:
 
There are 2 questions:
 
1. The Proslic chip's reset is active low. However, when I check the wcfxs.c code, it is writing a '1' to the Tiger320 chip's CTRL register (offset 0x00):
 
(in wcfxs_hardware_init function of wcfxs.c)
 /* Signal Reset */
 outb(0x01, wc->ioaddr + WC_CNTL);
 
I read the Tiger320 datasheet and it says (pg 21):
EXTRST# pin state
0 = External reset pin on PIB low
1 = External reset pin on PIB high
 
So it seems that wcfxs.c is causing a high (vcc) on the EXTRST# pin which connects to the Proslic chip. But since the Proslic expects active low reset, that will not reset the chip at all. Could someone help to explain this?
 
2. External interrupts:
 
wcfxs.c masks off all external interrupts, e.g:
(in wcfxs_enable_interrupts function of wcfxs.c)
 /* No external interrupts */
 outb(0x00, wc->ioaddr + WC_MASK1); 
Does this mean Asterisks work without the need of external interrupts from the Proslic chip? What happens when there is an external event (e.g. ring, off/on hook)? Does Asterisks work using the polling instead of interrupt? Or maybe Asterisks is polling for those external events during each DMA interrupt?
 
Thank you! Do let me know if I am asking the questions in the correct forum. 
 
Regards,
Chek
 

		
---------------------------------
Yahoo! Mail Mobile
 Take Yahoo! Mail with you! Check email on your mobile phone.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.digium.com/pipermail/asterisk-dev/attachments/20050409/a9c0538b/attachment.htm


More information about the asterisk-dev mailing list