[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <200701070032.27234.saschasommer@freenet.de>
Date: Sun, 7 Jan 2007 00:32:26 +0100
From: Sascha Sommer <saschasommer@...enet.de>
To: LKML <linux-kernel@...r.kernel.org>
Cc: rmk+mmc@....linux.org.uk
Subject: Experimental driver for Ricoh Bay1Controller SD Card readers
Hi,
Attached is a very experimental driver for a Ricoh SD Card reader that can be
found in some notebooks like the Samsung P35.
Whenever a sd card is inserted into one of these notebooks, a virtual pcmcia
card will show up:
Socket 0:
product info: "RICOH", "Bay1Controller", "", ""
manfid: 0x0000, 0x0000
In order to write this driver I hacked qemu to have access to the cardbus
bridge containing this card. I then logged the register accesses of the
windows xp driver and tryed to analyse them.
As the meanings of most of the register are still unknown to me, I consider
this driver very experimental. It is possible that this driver might destroy
your data or your hardware. Use at your own risk!
Other problems:
- I only implemented reading support
- I only tested with a 128 MB SD card, no idea what would be needed to support
other card types
- irqs are not supported
- dma is not supported
- it is very slow
- the registers can be found on the cardbus bridge and not on the virtual
pcmcia card. The cardbus bridge is already claimed by yenta_socket.
Therefore the driver currently uses pci_find_device to find the cardbus
bridge containing the sd card reader registers.
- it will probably crash when you remove the sd card without unmounting first
- the ios stuff is not really understood
- there are a bunch of extra MMC_APP_CMDs inside the driver
- only tested with kernel 2.6.18
apart from all these problems reading an image from my sd card seems to have
worked ;)
If you are still brave enough to try it out make at least a backup of the data
on your sd card.
Feedback is highly appreciated.
Regards
Sascha
View attachment "Makefile" of type "text/x-makefile" (406 bytes)
Download attachment "sdricoh_cs.c.gz" of type "application/x-gzip" (4197 bytes)
Powered by blists - more mailing lists