ALTERA_SDCARD(4) | Device Drivers Manual | ALTERA_SDCARD(4) |
altera_sdcard
—
driver for the Altera University Program Secure Data Card
IP Core
device altera_sdcard
In /boot/device.hints:
hint.altera_sdcardc.0.at="nexus0"
hint.altera_sdcardc.0.maddr=0x7f008000
hint.altera_sdcardc.0.msize=0x400
The altera_sdcard
device driver provides
support for the Altera University Program Secure Data Card (SD Card) IP Core
device. A controller device, altera_sdcardcX
, will
be attached during boot. Inserted disks are presented as
disk(9) devices, altera_sdcardX
,
corresponding to the controller number.
The current version of the altera_sdcard
driver supports the SD Card IP core as described in the August 2011 version
of Altera's documentation. The core supports only cards up to 2G (CSD 0);
larger cards, or cards using newer CSD versions, will not be detected. The
IP core has two key limitations: a lack of interrupt support, requiring
timer-driven polling to detect I/O completion, and support for only single
512-byte block read and write operations at a time. The combined effect of
those two limits is that the system clock rate, HZ
,
must be set to at least 200 in order to accomplish the maximum 100KB/s data
rate supported by the IP core.
Altera University Program Secure Data Card IP Core, Altera Corporation - University Program, ftp://ftp.altera.com/up/pub/Altera_Material/11.0/University_Program_IP_Cores/Memory/SD_Card_Interface_for_SoPC_Builder.pdf, August 2011.
The altera_sdcard
device driver first
appeared in FreeBSD 10.0.
The altera_sdcard
device driver and this
manual page were developed by SRI International and the University of
Cambridge Computer Laboratory under DARPA/AFRL contract (FA8750-10-C-0237)
(“CTSRD”), as part of the DARPA CRASH research programme. This
device driver was written by Robert N. M.
Watson.
altera_sdcard
contains a number of
work-arounds for IP core bugs. Perhaps most critically,
altera_sdcard
ignores the CRC error bit returned in
the RR1 register, which appears to be unexpectedly set by the IP core.
altera_sdcard
uses fixed polling intervals
are used for card insertion/removal and I/O completion detection; an
adaptive strategy might improve performance by reducing the latency to
detecting completed I/O. However, in our experiments, using polling rates
greater than 200 times a second did not improve performance.
altera_sdcard
supports only a
nexus
bus attachment, which is appropriate for
system-on-chip busses such as Altera's Avalon bus. If the IP core is
configured off of another bus type, then additional bus attachments will be
required.
August 18, 2012 | Debian |