Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 4 Dec 1997 13:09:51 -0800
From:      "Glenn Dicus" <gdicus@nomadix.com>
To:        "Mobile FreeBSD" <mobile@freebsd.org>
Subject:   PCMCIA and ElanSC400
Message-ID:  <199712042107.NAA20323@mail.nomadix.com>

next in thread | raw e-mail | index | archive | help
: > I'm keeping this cc'd to the list; there's every chance that this 
: > information is useful to other people as well.
: > 
: > > Sorry, you have to excuse me.  I have been trying to get the PC Card
on the
: > > ElanSC400 Evaluation Board for 3 weeks 24-7 with no luck what so
ever.  The
: > > problems have been to many to name.
: 
: In the future, try emailing the mobile list.  We're here to help, or at
: least bitch about the hardware. :)
: 
: > > 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.
	DRAM controller
	ISA-VL Bus Controller
	LCD Graphics Controller
	Dual Interrupt Controllers 8259
	Dual DMA Controllers 8237
	EPP Parallel Port
	Serial UART 16550
	IrDA Port
	Matrix Keyboard
	
On the evaluation board are all the interfacing which include two ISA slots
and two PC Card slots.  Becuase some of the functionality of the
microcontroller is multiplexed only a subset of functions can be used at
the same time.  For evaluation purposes AMD include the Super I/O chip so
that the microcontroller could be evaluated as a whole.

 
: > The
: > > cards that I have tried have been Eagle Technology's NE2000,  Fujitsu
: > > MBH10302, 3Com 3C3589C/D.  
: 
: The 3COM card should *always* work.  If it doesn't, then you've got
: setup/hardware problems.




: > > 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.

 
: 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".  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.  My
thinking here was that FreeBSD was expecting fully capable slots when the
OS found a slot.  I put the inline assembly in "pcic_configure()"


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


thanks

glenn



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