I82365

Section: Devices and Network Interfaces (4)
Updated: 1999/12/20 20:26:25
Index Return to Main Contents
 

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_mem_base=n] [cb_bus_base=n] [cb_bus_step=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 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.

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.

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. The driver will support a maximum of eight sockets.

 

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 for as many as eight ISA sockets, or stop after checking for four sockets. The default is 0 (stop at four sockets). Systems with two independent ISA-to-PCMCIA controllers (say, one internal and one in a docking station) may require this flag to be set, even though they have a total of only four sockets. If this flag is set, then poll_interval will automatically be enabled.
do_scan=n
This flag specifies that all free 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.
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_mem_base=n
Sets the base address to use for memory mapping CardBus registers, if not set by the PCI BIOS. The default is 0x68000000.
cb_bus_base=n
Specifies that PCI bus numbers for CardBus busses should be renumbered starting with this value. By default, bus values that are uninitialized at boot time will be numbered starting with bus 0x20.
cb_bus_step=n
Specifies the number of bus slots to reserve for secondary PCI busses, for each CardBus socket, when busses are renumbered. The default is 2.
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 0 (false).
pci_int=n
Specifies that functional interrupts for IO cards should be routed to PCI interrupts, for CardBus controllers. The default is 0 (false), 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 Cirrus controllers

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 "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.
fast_pci=n
A flag for the CL6729 PCI controller, indicating that the PCI bus speed exceeds 25 MHz.

 

Options specific for Ricoh CardBus controllers

irq_mode=n
Selects the interrupt routing method. A value of 1 selects ISA interrupt routing, and 2 selects interrupt routing via an external serial interrupt controller. The default is to use whatever 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 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 indicate". The default is to read the current setting from the controller.
irq_mode=n
Selects the interrupt routing method. A value of 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 - dhinds@pcmcia.sourceforge.org  

SEE ALSO

cardmgr(8), pcmcia(5).


 

Index

NAME
SYNOPSIS
DESCRIPTION
PARAMETERS
Options for CardBus controllers
Options specific for Cirrus controllers
Options specific for Ricoh CardBus controllers
Options specific for Vadem controllers
Options specific for TI CardBus controllers
AUTHOR
SEE ALSO

This document was created by man2html, using the manual pages.
Time: 23:01:57 GMT, December 21, 1999