Subject: kern/20186: Changes to dev/ic/i82365.c stop RICOH RF5C296 from working.
To: None <gnats-bugs@gnats.netbsd.org>
From: None <jasper@pointless.net>
List: netbsd-bugs
Date: 02/03/2003 20:07:15
>Number:         20186
>Category:       kern
>Synopsis:       RICOH RF5C296 no longer works in -current
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Mon Feb 03 12:08:00 PST 2003
>Closed-Date:
>Last-Modified:
>Originator:     Jasper Wallace
>Release:        NetBSD 1.6K
>Organization:
	As if.
>Environment:
System: NetBSD thingy 1.6K NetBSD 1.6K (THINGY) #0: Fri Dec 6 23:19:12 GMT 2002 jasper@thingy:/usr/obj/sys/arch/i386/compile/THINGY i386
Architecture: i386
Machine: i386
>Description:
	In rev 1.69 of /src/sys/dev/ic/i82365.c support was added for
enabling 3.3 volt operation of the RICOH 5C[23]96 PCMCIA <-> ISA bridges.

I have a RICOH RF5C296 based single slot ISA <-> PCMCIA bridge. Prior to rev
1.69 is worked fine, after it hangs the machine after a card is inserted.

The PCMCIA card connector on the bridge has the wrong physical 'key' for 3
volt cards, i suspect that although the ricoh chip can support 3.3 this
particular bridge isn't wired up to support it.

The bridge appears to be made by Psion, I got it in a second hand shop.

Setting the vairous debugging options shows that the code beleives that 5V
cards are 3.3V cards and trys to set them up for 3.3V operation.

This bridge has the GPI_ENABLE bit of the CARD_DETECT register off, and the
IF_STATUS_GPI bit of the IF_STATUS register also off, i suspect that this
bridge dosn't have the GPI pin wired to anything useful, i need to try to
trace the tracks.

Ricoh data sheet:

http://www.ricoh.co.jp/LSI/english/spec/assp/5c296/5C296-E.pdf

>How-To-Repeat:
	Try to use a RICOH RF5C296 based ISA <-> PCMCIA bridge with
/src/sys/dev/ic/i82365.c rev >= 1.69 observe the machine hang when card is
inserted.
>Fix:
	You can work around it by commenting out line 1461. To fix it we'd
need to find a way to reliably detect if a bridge supports 3.3v cards or
not.

Without the line commented out the PCIC_IF_STATUS reg comes back as 0xcf,
(no power, write protect enabled), and with the line commented out it comes
back as 0xef (power, not write protected), so it's possible that the bridge
is saying "you can't do that" by disabling the card.

The card and the machine it's in isn't being used for anything atm, it's
available for test kernels etc.

I've got a 3.3v card with the plastic key shaved off that i could try but i
can't find it atm. (it would be a bit wierd if it worked tho).

>Release-Note:
>Audit-Trail:
>Unformatted: