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