Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 4 Dec 1997 15:33:06 -0700
From:      Nate Williams <nate@mt.sri.com>
To:        "Glenn Dicus" <gdicus@nomadix.com>
Cc:        "Mobile FreeBSD" <mobile@freebsd.org>
Subject:   Re: PCMCIA and ElanSC400
Message-ID:  <199712042233.PAA27702@mt.sri.com>
In-Reply-To: <199712042107.NAA20323@mail.nomadix.com>
References:  <199712042107.NAA20323@mail.nomadix.com>

next in thread | previous in thread | raw e-mail | index | archive | help
> : > > However,  my present situation is that
> : > > FreeBSD does not recognize the second slot when a card is inserted.
> : 
> : Sounds like a VLSI board.  They do things a non-standard way, and
> : it's possible the VLSI work-around code doesn't work on all the
> : hardware.
> 
> Actually it's an AMD ElanSC400 Evaluation Board.  The ElanSC400
> microcontroller has the following integrated capabilities:
> 	
> 	486 CPU Core
> 	82365 register set compatible Dual PC Card (PCMCIA Vers2.1) which
> 	is compliant with ExCA.

The VLSI PCIC controller claims to be '82365 compatible' as well, but it
isn't 100% compatible.  I *highly* suspect this board is using the VLSI
chipset, or something related to it.

Do you have any documentation on the above controller?

> : > > Also, a reoccurring problem has been pccardc's inability to read the
> CIS,
> : > > returning "no entry in database for "null" ("null")".  
> : > 
> : > It sounds like this is indicative of a pretty major problem; if pccardc
> 
> : > can't read the CIS information, pccardd (which uses the same code) is 
> : > not going to be able to determine what the card is.
> 
> 
> The cards are detected and identified using Windows 95.

With the same board?  Note that Win95 gets access to all of the
necessary hardware information that we've been asking about above, and
we don't have access to said documentation.  It's hard to know what
we're dealing with w/out docs.

> : Right, something is *really* bogus.  Did this ever work?  What kind of
> : changes are you making to the FreeBSD kernel code?  Did you make any
> : changes?  We'd like to help, but need more information than you're
> : giving us.
> 
> 
> In order to use an ISA slot, with an interrupt, I had to configure the CSC
> register for the ElanSC400 to map  PIRQ4 to IRQ9. I did this in
> "init_main.c".

Hmm, this could screw up the controller ability to recognize slot
insertion/removal, leading to the error you mentioned earlier.

> Also,  ElanSC400's PC Card controller has two modes of
> operation (standard and enhanced).  
> 
> In standard mode:
> 
> 	There are a total of six memory windows.  Two are fixed (one for each 
> socket) and the remaining four can "float"(can be configured for Socket A
> or 	B on a window-by-window basis
> 
> 	Nominal 8 MHz cycle speed only
> 
> 	No DMA initiators
> 
> 
> In enhanced mode:
> 
> 	There are a total of ten memory windows.  Five are fixed for each socket
> 
> 	Nominal 8 MHz cycle speed or nominal 33 MHz
> 
> 	PC Cards can be configured as DMA initiators in this mode
> 
> So, I had to set some bits in a register to enable enhanced mode.

Try enabling standard mode.  The 'floating' windows sounds like a better
way to go, although I'm not really familiar with the code in question.

> Still, however, FreeBSD does not detect slot 1 and a resource allocation
> failure occurs for slot 0.

See above.  The slot 1 detection is a common problem, and the resource
allocation problem is probably something silly.  (Though, it doesn't
mean it's easy to figure out.  Most silly bugs are only fixe after
beating your head against the wall for about 3 months, and then
realizing you had an extra semi-colon on your while loop. :)



Nate



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199712042233.PAA27702>