can: sja1000: legacy SJA1000 ISA bus driver
authorWolfgang Grandegger <wg@grandegger.com>
Tue, 1 Sep 2009 05:37:33 +0000 (05:37 +0000)
committerDavid S. Miller <davem@davemloft.net>
Fri, 4 Sep 2009 09:16:16 +0000 (02:16 -0700)
commit2a6ba39ad6a277595ef9a0187a44f09e062dd3b2
treee4036840743f2f618df8626815edd5a9ab2cd5b2
parent8935f57e68c40c6469efe03f996bfb6150e18c6b
can: sja1000: legacy SJA1000 ISA bus driver

This patch adds support for legacy SJA1000 CAN controllers on the ISA
or PC-104 bus. The I/O port or memory address and the IRQ number must
be specified via module parameters:

  insmod sja1000_isa.ko port=0x310,0x380 irq=7,11

for ISA devices using I/O ports or:

  insmod sja1000_isa.ko mem=0xd1000,0xd1000 irq=7,11

for memory mapped ISA devices.

Indirect access via address and data port is supported as well:

  insmod sja1000_isa.ko port=0x310,0x380 indirect=1 irq=7,11

Here is a full list of the supported module parameters:

  port:I/O port number (array of ulong)
  mem:I/O memory address (array of ulong)
  indirect:Indirect access via address and data port (array of byte)
  irq:IRQ number (array of int)
  clk:External oscillator clock frequency (default=16000000 [16 MHz])
      (array of int)
  cdr:Clock divider register (default=0x48 [CDR_CBP | CDR_CLK_OFF])
      (array of byte)
  ocr:Output clock register (default=0x18 [OCR_TX0_PUSHPULL])
      (array of byte)

Note: for clk, cdr, ocr, the first argument re-defines the default
for all other devices, e.g.:

 insmod sja1000_isa.ko mem=0xd1000,0xd1000 irq=7,11 clk=24000000

is equivalent to

 insmod sja1000_isa.ko mem=0xd1000,0xd1000 irq=7,11 \
                       clk=24000000,24000000

Signed-off-by: Wolfgang Grandegger <wg@grandegger.com>
Tested-by: Oliver Hartkopp <oliver@hartkopp.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/can/Kconfig
drivers/net/can/sja1000/Makefile
drivers/net/can/sja1000/sja1000_isa.c [new file with mode: 0644]