MEMORY_CS(4)                                                      MEMORY_CS(4)

       memory_cs - MTD-aware PCMCIA memory card driver

       insmod    memory_cs.o    [pc_debug=n]    [mem_speed=n]   [word_width=n]

       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  "indi-
       rect" devices for accessing specific memory partitions via an appropri-
       ate Memory Technology Driver.  The bitwise layout of minor device  num-
       bers  is  one  memory  device.   'x'  is set if this is a direct-access
       device, 'a' is set for attribute 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 memory and attribute memory devices.
       It also creates character  special  devices  for  accessing  the  first
       attribute  and common memory partitions, and a block device for access-
       ing the first common memory partition.  These devices have the  follow-
       ing names:

              Common memory direct access, character special device.

              Attribute memory direct access, character special device.

              Common memory region 0, character special device.

              Common memory region 0, block special device.

              Attribute memory region 0, character special device.

       The block special device for a card's common memory can be used to cre-
       ate 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 writing, 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.

              Selects the PCMCIA debugging  level.   This  parameter  is  only
              available  if  the module is compiled with debugging enabled.  A
              non-zero value enables debugging.

              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.

              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

              Explicitly specifies the size of a simple  SRAM  card,  skipping
              the default (and sometimes unreliable) size check.

       These are defined in <pcmcia/memory.h>.

              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.

              This takes an argument of type (erase_info_t *), specifying  the
              offset and length of a memory region to be erased.

       David Hinds -

       cardmgr(8), pcmcia(5), memory_cb(4).

pcmcia-cs                     2000/06/12 21:24:48                 MEMORY_CS(4)