• Wolfgang Grandegger's avatar
    can: sja1000: legacy SJA1000 ISA bus driver · 2a6ba39a
    Wolfgang Grandegger authored
    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: default avatarWolfgang Grandegger <wg@grandegger.com>
    Tested-by: default avatarOliver Hartkopp <oliver@hartkopp.net>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    2a6ba39a
sja1000_isa.c 7.01 KB