ABCDEFGHIJKLMNOPQRSTUVWXYZ

i82365

I82365(4)                                                            I82365(4)



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]     [do_pci_probe=n]    [cb_write_post=n]    [pci_csc=n]
       [pci_int=n]     [pci_irq_list=i,j,...]      [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]  [async_clock=n]  [cable_mode=n]  [irq_mode=n]
       [p2cclk=n]


DESCRIPTION
       This  is  the  low-level driver for the Intel i82365sl PCMCIA host con-
       troller, 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  Card-
       Bus bridges, are register compatible with the i82365sl.  This driver is
       used by Card Services for configuring the host controller, and for mon-
       itoring 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 con-
       trollers 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  automati-
       cally.  The driver will support a maximum of eight sockets.


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 inter-
       rupt 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.

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


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 num-
              bered 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-num-
              bered  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 dis-
              abled.  A reasonable value is 100.  Polling only affects  detec-
              tion 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 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  inter-
              rupts.

       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 Cirrus controllers
       When the i82365 driver is loaded, it will try to determine what  inter-
       rupts  can  safely be allocated for use by PCMCIA devices.  Cirrus con-
       trollers 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.

       freq_bypass=n
              A flag indicating that the controller should be set up in  "fre-
              quency  bypass" mode.  This disables the normal 7/4 clock multi-
              plier, 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.

       fast_pci=n
              A  flag  for  the PD6729 PCI controller, indicating that the PCI
              bus speed exceeds 25 MHz.

       irq_mode=n
              For the PD6729 PCI controller, specifies the interrupt  delivery
              mode.   The  default  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 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 con-
              troller.  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 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 TI CardBus controllers
       Normally,  a  system's BIOS will configure these options appropriately,
       so all these options default to leaving these features  configured  the
       way the driver finds them.

       has_ring=n
              A  flag  indicating  if  the controller is wired for "ring indi-
              cate".  The default is to read the current setting from the con-
              troller.

       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 communicat-
              ing 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).



pcmcia-cs                     2001/04/16 00:28:37                    I82365(4)