Computer Science
MEMORY_CS(4) MEMORY_CS(4)
NAME
memory_cs - MTD-aware PCMCIA memory card driver
SYNOPSIS
insmod memory_cs.o [pc_debug=n] [mem_speed=n]
[word_width=n]
DESCRIPTION
Memory_cs is the Card Services driver for PCMCIA memory
cards, and also provides direct memory access for other
types of cards. It provides character-mode and block-mode
for accessing any card's attribute and common memory
address spaces, analogous to /dev/mem. Memory_cs will
allocate a free major device number when it is loaded. It
provides two types of minor devices: "direct" character-
mode devices for raw access a card's entire PCMCIA common
and attribute memory spaces, and "indirect" devices for
accessing specific memory partitions via an appropriate
Memory Technology Driver. The bitwise layout of minor
device numbers is 'ddddxarr'. 'dddd' is the device num-
ber, with one card counting as one memory device. memory,
and 'rr' is the region number (for indirect devices).
When memory_cs is bound to a card, it will report its
major and minor device numbers to cardmgr(8).
The default memory card initialization script creates
character special device files for the direct common mem-
ory and attribute memory devices. It also creates charac-
ter special devices for accessing the first attribute and
common memory partitions, and a block device for accessing
the first common memory partition. These devices have the
following names:
/dev/mem#c
Common memory direct access, character special
device.
/dev/mem#a
Attribute memory direct access, character special
device.
/dev/mem#c0c
Common memory region 0, character special device.
/dev/mem#c0b
Common memory region 0, block special device.
/dev/mem#a0c
Attribute memory region 0, character special
device.
The block special device for a card's common memory can be
used to create a filesystem on a card, and the device can
be mounted in much the same way as a floppy disk. In some
cases, you may need to explicitly specify the card's
capacity when creating a filesystem.
The character special devices can be used to read and
write arbitrary numbers of bytes to arbitrary locations.
For devices that need to be explicitly erased before writ-
ing, if a write request is aligned and sized on erase
block boundaries for the target memory card, the driver
will erase the target region before writing to the card.
Since any PCMCIA card can be accessed as a memory card,
memory_cs can be bound to any card regardless of function,
and regardless of what other drivers might also be bound
to that card. For example, this driver can be bound to a
card and then used to read out the contents of the card's
attribute memory.
PARAMETERS
pc_debug=n
Selects the PCMCIA debugging level. This parameter
is only available if the module is compiled with
debugging enabled. A non-zero value enables debug-
ging.
mem_speed=n
Sets the access speed of the shared memory window
for direct access devices, in nanoseconds. The
default is 0 (i.e., no extra wait states). Values
of up to 1000 are legal.
word_width=n
A flag indicating if direct access devices should
be configured for 8-bit (if 0) or 16-bit (if 1)
transfers. The default is 1 (16-bit).
IOCTLS
These are defined in <pcmcia/memory.h>.
MEMGETINFO
This takes an argument of type (region_info_t *),
defined in <pcmcia/bulkmem.h>. The structure will
be filled in with memory region information for
this device, such as access speed, erase block
size, and JEDEC identifiers.
MEMERASE
This takes an argument of type (erase_info_t *),
specifying the offset and length of a memory region
to be erased.
AUTHOR
David Hinds - dhinds@hyper.stanford.edu
SEE ALSO
cardmgr(8), pcmcia(5), memory_cb(4).
pcmcia-cs 1999/02/08 08:02:02 1
Back to the index