unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (Debian-3.1)
Page:
Section:
Apropos / Subsearch:
optional field

I82365(4)                  Kernel Interfaces Manual                  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]  [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  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.

       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.

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


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

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


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


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 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 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 TI CardBus controllers
       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.


WARNING
       This  man  page describes the standalone PCMCIA drivers provided by the
       pcmcia-cs source, not the PCMCIA kernel driver support that is included
       in  the 2.4 (and later) linux kernel.  While the kernel PCMCIA code has
       the same functionality as the driver  side  of  the  standalone  PCMCIA
       package,  there are some important differences.  Therefore, some or all
       of this documentation might not apply to the kernel drivers.


AUTHOR
       David Hinds - dahindsATusers.net

SEE ALSO
       cardmgr(8), pcmcia(5).



pcmcia-cs                     2003/09/10 03:47:04                    I82365(4)