Subject: Re: podulebus communication functions
To: Stephen Hobbs <stevehobbs@enterprise.net>
From: Mark Brinicombe <mark@causality.com>
List: port-arm32
Date: 03/14/1998 15:44:48
On Sat, 14 Mar 1998, Stephen Hobbs wrote:

> On Mon 09 Mar, Andrew McMurry wrote:
> 
> > The Atomwide/Serial Port Multiple Serial Port Podule does not work with
> > the driver in 1.3 current. It crashes the system whenever any data is
> > received on one of the ports. 
> 
> Assuming this gets fixed, what are the chances of getting the amps driver
> to work with the Serial Port's Dual Serial board.
> (ISTR that Atomwide's board is based on the SP one).
Well its been fixed and I have reports of the amps driver working now.

The question is how similar they are. They both use the 16550 chips so any
differences are likely to lie in the address mapping of the serial chips
and any interrupt control logic. If this information can be determined
then it would be very easy to add it to the amps driver so that it will
support both cards.
The first thing would be to determine the location and register spacing of
the serial controllers. If there are no special interrupt requirements
that may be enough to add support. To get the info you either need to
chase up someone at the Serial Port and see if the information is
available or use Podule_RawRead SWI call to read the podule space and then
look through it for signs of the 16550 registers.

IF you take a look at the amps driver you will see it is rather simple as
it just provides attachments for the generic 16550 com driver.

> Is there enough info in the man pages to cover writing podulebus drivers,
> as I thought I might have a go at getting the Risc Developments BBC I/O
> card working. (Only a thought though, it's ages since I've done any C, and
> my knowledge of BSD is limited ATM!)
Sadly there is not nice document that I know of that tells you exactly how
to write a driver. In practice it depends on the hardware as to how
complex the driver will be.
However if you want help or have any questions on how the podulebus works
I am sure I can help.

Cheers,
				Mark