Subject: Re: writing a driver for a serial board
To: Iain Hibbert <plunky@skate.demon.co.uk>
From: Jukka Marin <jmarin@pyy.jmp.fi>
List: port-sparc
Date: 01/30/1997 10:17:14
[Magma card]

> it is based on the Cirrus Logic CD1400, which we already have a driver for
> (that didn't work it said in the source code last I looked, though that seems
> to be fixed now) dev/ic/cy.c.  Additionally, the data sheet is available 
> from CL (one is on the way) and I have some other information that I 
> gleaned from somewhere once.

Well, I was the one who hired someone to work on the Cyclades driver and I
also did some work myself.  And yes, I have the CD1400 databook (it's a
braindead chip, IMHO - it had lots of potential, but the designers didn't
have a brain (again, IMHO :-))

Anyway, you could use the existing cy.c when writing the new driver.  I've
been using cy.c in production since April '96 (using 9 of the 16 ports at
the moment).

> couple of things, not having written a unix device driver before (though I
> bought a book "Writing a Unix Device Driver" by E. Tiexeiera): 
> 
> in the match function, how do I know if I got a Magma serial board?

Do the Suns have a way of identifying cards (like the Amigas)?  I can't
believe they'd be as stupid as pc's and ISA bus.

> its all very well knowing how to program the CD1400, but how do I find 
> out where it is?

If you can find where the card is mapped, you could try reading the card's
address space and look for anything that looks like a CD1400 :)  (The CD1400
may appear several times in the address space.)

> these are the things that have kept me from starting by buying the thing as
> they are a bit expensive.. 

You'll kind of need one to start working on the driver..

  -jm

-- 

                     ---> http://www.jmp.fi/~jmarin/ <---