
From richw@desktalk.com Wed Feb 27 07:48:03 1991
To: gary@dorsai.ics.Hawaii.Edu, prod@Eng.Sun.COM
Subject: Re:  HSI board
Cc: richw@desktalk.com

Gary,

        There are three locations envolved in using the external
        receive interrupts (assuming you currently have board ram
        starting at 0 offset and SCC devices starting at 0x20000),
        the relevant location are:

        0x40000         Interrupt Status
                                Bit = 0 -> Interrupt
                                Bit = 1 -> No Interrupt

                                where D0->port 0,  D1->Port 1
                                      D2->port 2,  D3->Port 3


        0x40034         1->Enable external interrupt port 0
        0x40035         1->Enable external interrupt port 0
        0x40036         1->Enable external interrupt port 0
        0x40037         1->Enable external interrupt port 0

        0x40040         Reset external interrupt port 0
        0x40041         Reset external interrupt port 1
        0x40042         Reset external interrupt port 2
        0x40043         Reset external interrupt port 3

        So basic sequence is to
                -       disable scc receive interrupt
                -       Enable external interrupt (set 0x40034-0x40037 to 1)

                -       On receipt of interrupt, check Interrupt status
                        (0x40000).  If any of bit D0-D4 are 0, you
                        have an interrupt.
                -       When done with external interrupt, reset by writing
                        to reset external interrupt location
                        (0x40040-0x40043)

        Seems to work real well.  Let me know if you have any problems.



                        Rich Waterman
                        interrupt





