Provided by: pcmcia-cs_3.2.8-5.2ubuntu5_i386 bug

NAME

       i82365 - Intel i82365sl PCMCIA controller driver

SYNOPSIS

       insmod i82365.o [pc_debug=n] [i365_base=n] [ignore=n] [extra_sockets=n]
       [do_scan=n]    [irq_list=i,j,...]      [cs_irq=n]     [poll_interval=n]
       [cycle_time=n]  [async_clock=n]  [cable_mode=n] [has_dma=n] [has_led=n]
       [has_ring=n] [freq_bypass=n] [setup_time=n] [cmd_time=n] [recov_time=n]
       [wakeup=n] [fast_pci=n] [irq_mode=n] [do_pci_probe=n] [cb_write_post=n]
       [pci_csc=n] [pci_int=n] [pci_irq_list=i,j,...]  [p2cclk=n]

DESCRIPTION

       This is the  low-level  driver  for  the  Intel  i82365sl  PCMCIA  host
       controller,  and  many  derivative controllers.  It also implements the
       Intel "Yenta"  register  specification  for  CardBus  bridges.   Common
       clones  of  the i82365sl include controllers made by Cirrus Logic, IBM,
       O2Micro, Omega Micro, Ricoh, SMC, Texas  Instruments,  Toshiba,  Vadem,
       and VLSI.  The overwhelming majority of current PCMCIA controllers, and
       all CardBus bridges, are register compatible with the  i82365sl.   This
       driver  is  used  by Card Services for configuring the host controller,
       and for monitoring card status change events.

       An ISA i82365-compatible controller normally sits at the  IO  addresses
       0x3e0-0x3e1.   Two  ISA  controllers can cooperate to share the same IO
       ports,  supporting  a  total  of  four  sockets.   A  second  pair   of
       controllers can be located at 0x3e2-0x3e3.  Probing at this position is
       controlled by the  extra_sockets  parameter.   This  only  affects  ISA
       bridges:   the   PCI   bridge   probe   handles   multiple  controllers
       automatically.  The driver will support a maximum of eight sockets.

       When the i82365 module is loaded,  it  performs  a  scan  of  free  ISA
       interrupts  to  determine  which  ones  appear  to be usable for PCMCIA
       events.  The interrupt scan results are reported in the system log.   A
       successful  scan will report a list of interrupts as ‘‘scanned’’; if no
       interrupts appear to work, then a ‘‘default’’ list is  reported.   Some
       bridges  (Cirrus  non-CardBus  bridges,  some  Toshiba  bridges) do not
       support  the  software  interrupt  test  and  will  always   report   a
       ‘‘default’’  list.   In other cases, this may be a sign of an incorrect
       irq_mode.

       There is a significant difference between the  version  of  the  i82365
       driver  in  the  pcmcia-cs package, and the version in the Linux kernel
       tree.  The kernel  version  only  supports  ISA  bus  bridges;  CardBus
       bridges are instead supported by the yenta_socket driver.

CardBus interrupt delivery

       CardBus  bridges  generally support both PCI and ISA interrupt signals,
       and multiple methods of deliving interrupt events to the  host  system.
       The  system  BIOS  is  partly responsible for correctly configuring the
       bridge to match the implemented interrupt hardware at boot time.   This
       module   provides   several  parameters  for  overriding  this  default
       interrupt configuration.  The pci_int and pci_csc settings can be  used
       to  control  use  of  PCI interrupts for card interrupts or card status
       changes.  The irq_mode setting, for bridges that  support  it,  can  be
       used to select an interrupt delivery method.

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 debugging.

       i365_base=n
              Sets  the  base  I/O  port  address  of  the i82365sl chip.  The
              default is 0x3e0.  Applies only to ISA-to-PCMCIA bridges.

       ignore=n
              Causes the driver  to  ignore  a  single  socket.   Sockets  are
              numbered  starting  at  0.   The socket will be left in whatever
              state it was already in, so it can be used for cards with  point
              enablers that do not cooperate with Card Services.

       extra_sockets=n
              A flag indicating if the driver should probe at IO base 0x3e2 in
              addition to the default 0x3e0 base.  The default is  0  (do  not
              probe  at  0x3e2).   Systems  with two independent ISA-to-PCMCIA
              controllers (say, one internal and one in a docking station) may
              require  this  flag  to  be  set.   If  this  flag  is set, then
              poll_interval will automatically be enabled.

       do_scan=n
              This flag specifies that  all  free  ISA  interrupts  should  be
              tested to see if they can be triggered by the PCMCIA controller.
              The default is 1 (true).

       irq_list=i,j,...
              Specifies the set of interrupts that may be  allocated  by  this
              driver, if they are otherwise available.  The default list is 3,
              4, 5, 7, 9, 10, 11, 12, 14, and 15.

       cs_irq=n
              Sets the interrupt  line  to  use  for  monitoring  card  status
              changes.   The  default  is  0,  which  means  pick the highest-
              numbered legal interrupt not already in use.  Legal  values  are
              15, 14, 12, 11, 10, 9, 7, 5, 4, and 3.

       poll_interval=n
              Sets  the card status polling delay, in 1/100 second increments.
              If this  parameter  is  set,  card  status  interrupts  will  be
              disabled.   A  reasonable  value  is  100.  Polling only affects
              detection of card insert and eject events.

       cycle_time=n
              Sets the length of  a  host  bus  cycle,  in  nanoseconds.   The
              default is 210 ns, corresponding to a standard 4.77 MHz clock.

Options specific for Vadem ISA controllers

       async_clock=n
              This  flag  specifies  that  PCMCIA bus cycles should be clocked
              asynchronously from host bus cycles.  It effectively adds a wait
              state to some operations.

       cable_mode=n
              For  the  VG469,  this  flag  adjusts certain socket signals for
              driving a socket connected via a cable.

Options specific for ISA Cirrus controllers

       When the i82365 driver  is  loaded,  it  will  try  to  determine  what
       interrupts  can  safely be allocated for use by PCMCIA devices.  Cirrus
       controllers support some optional features that interfere with the  use
       of  certain  interrupt lines.  Cirrus chips also lack the functionality
       needed to detect whether or not an interrupt can be used.  The has_dma,
       has_ring, and has_led options are used to specify if these features are
       implemented.

       has_dma=n
              A flag indicating if the controller has DMA support.

       has_led=n
              A flag indicating if the controller is wired for a  disk  status
              LED.  This is set by default.

       has_ring=n
              A  flag indicating if the controller’s "ring indicate" signal is
              implemented.  This is set by default.

       has_vsense=n
              A flag indicating that a PD6722 is configured to support VS1/VS2
              voltage detection using its general purpose IO mechanism.

       freq_bypass=n
              A  flag  indicating  that  the  controller  should  be set up in
              "frequency bypass" mode.  This disables  the  normal  7/4  clock
              multiplier,  and  slows  down all PCMCIA bus access, for systems
              with fast system clocks.

       setup_time=n
              Sets the bus setup time, in internal clock cycles.  The  default
              is 1.

       cmd_time=n
              Sets the bus command time, in internal clock cycles. The default
              is 6.

       recov_time=n
              Sets the bus  recovery  time,  in  internal  clock  cycles.  The
              default is 0.

       wakeup=n
              A  flag  indicating if the probe function should attempt to wake
              up a suspended controller chip.  The default is 0.

       The following parameters are only supported by the  standalone  version
       of  the  i82365  module  from  the  pcmcia-cs  package,  not the kernel
       version.

Options specific for Cirrus PCI controllers

       The following options apply for Cirrus PD6729 and PD6730  PCI-to-PCMCIA
       bridge devices.

       fast_pci=n
              A flag indicating that the PCI bus speed exceeds 25 MHz.

       irq_mode=n
              Specifies  the  interrupt  delivery mode.  The default (0) is to
              use ISA bus interrupts; a value of  1  selects  PCI  interrupts.
              This must be set for correct operation of some PCI card readers.

Options for CardBus controllers

       do_pci_probe=n
              This flag indicates if the PCI bus should be probed for  PCI-to-
              PCMCIA  and/or PCI-to-CardBus bridges.  The default is 1 (true).

       cb_write_post=n
              A flag indicating  if  write  posting  (a  performance  feature)
              should  be  enabled.  The default is 1 (true), except on certain
              TI 1130 bridges.

       pci_csc=n
              Specifies that card status change interrupts should be routed to
              PCI  interrupts,  for  CardBus  controllers.   The  default is 1
              (true).

       pci_int=n
              Specifies that functional interrupts  for  IO  cards  should  be
              routed  to PCI interrupts, for CardBus controllers.  The default
              is  1  (true),  except  on  systems  that  require  use  of  PCI
              interrupts.

       pci_irq_list=i,j,...
              The  Linux  kernel  sometimes  cannot  deduce  the PCI interrupt
              assignments for CardBus sockets.  If  this  information  can  be
              determined  some  other  way,  it  can be entered here.  The Nth
              socket will get the Nth interrupt number from the list.

Options specific for Ricoh CardBus controllers

       irq_mode=n
              Selects the interrupt routing method.  A value of 0 selects only
              PCI  interrupts;  1 selects ISA interrupt routing, and 2 selects
              ISA  interrupt  routing  via  an   external   serial   interrupt
              controller.   The  default is to use whatever ISA routing method
              is already enabled.

       setup_time=n
              Sets the bus setup time, in internal clock cycles.  The  default
              is 3.

       cmd_time=n
              Sets the bus command time, in internal clock cycles. The default
              is 6.

       hold_time=n
              Sets the bus hold time, in internal clock cycles. The default is
              1.

Options specific for TI CardBus controllers

       has_ring=n
              A   flag  indicating  if  the  controller  is  wired  for  "ring
              indicate".  The default is to read the current setting from  the
              controller.

       irq_mode=n
              Selects the interrupt routing method.  A value of 0 selects only
              PCI interrupts; 1 selects ISA interrupt routing; 2  selects  ISA
              interrupt  routing  via an external serial interrupt controller;
              and 3 selects serial routing for both PCI  and  ISA  interrupts.
              The  default  is  to  use  whatever  routing   method is already
              active, or ISA routing if no method is enabled.

       p2cclk=n
              A flag, indicating if the P2CCLK pin should be configured as  an
              input   (0)   or  an  output  (1).   This  signal  is  used  for
              communicating  with  a   socket   power   controller;   if   set
              incorrectly,  the  bridge will be unable to power up cards.  The
              default is to use the BIOS setting.

AUTHOR

       David Hinds - dahinds@users.sourceforge.net

SEE ALSO

       cardmgr(8), pcmcia(5).