man4/group3

Table of Contents

Name

kbuss - Group3 AT buss card device driver

Description

Device driver for group3 AT style boards. This driver uses the IOTRANS and IODATA structures.

CAMAC I/O modes

CAMnrm

CAMAC normal I/O mode.
CAMscan

CAMAC scanned I/O mode.
CAMrpt

This mode is not implemented.
CAMstop

This mode is not implemented.
CAMdma_Qscan

This mode is not implemented.
CAMdma_Qstop

This mode is not implemented.
CAMdma_Qrpt

This mode is not implemented.
CAMdma_Qign

This mode is not implemented.

ioctl functions

none supported.

CAMAC Function codes

See kbuss.h for more information.
FUNC_rd8

F0 = read 8 bits
FUNC_rd16

F1 = read 16 bits
    read A (lsb)

    read A+1 (msb)
FUNC_rd24

F2 = read 24 bits
    read A (lsb)

    read A+1 ( )

    read A+2 (msb)
FUNC_rd32

F3 = read 32 bits
    read A (lsb)

    read A+1 ( )

    read A+2 ( )

    read A+3 (msb)
FUNC_brd16

F4 = block read 16 bits
   read A (msb)

   read A+1 (lsb)
FUNC_wr8

F16 = write 8 bits
FUNC_wr16

F17 = write 16 bits
    write A (lsb)

    write A+1 (msb)
FUNC_wr24

F18 = write 24 bits
    write A (lsb)

    write A+1 ( )

    write A+2 (msb)
FUNC_wr32

F19 = write 32 bits
    write A (lsb)

    write A+1 ( )

    write A+2 ( )

    write A+3 (msb)

Module installation

The module is installed by insmod(8) .

The major device number may be set when the module is installed by "major=<major_dev_number>". The major device number defaults to 71 if not specified.

A device probe is NOT performed by the driver. The default base address is 0x300. The base address may be set when the module is installed by "io=<base_address>". See the hardware manual for a list of valid base addresses and jumper information.

For example:
   /sbin/insmod kbussdrv_20.o major=81 io=0x310

One device node needs to be added to /dev for this device. Minor number 0 is used for normal I/O service.

For example:
   mknod /dev/kbuss c 81 0

After the node is made write permissions should be changed as follows:
   chmod 666 /dev/kbuss

Address mapping

Kbuss is built from a 24 bit TTL I/O register. The bits are subdivided into a 12 bit address bus and an 8 bit data bus. The remaining 4 bits are used for control lines, i.e. R/W, reset, strobe1, and strobe2.

The 12 bit address space is subdivided into three groups of four bits.

Bits 11-8 are mapped to IOTRANS.cnaf.C. This is used to select which card in a kbuss system is to be addressed. Usually the card has a 4 position DIP switch to set the base address. Valid addresses are 0-15.

Bits 7-4 are mapped to IOTRANS.cnaf.N. This and the A bits together form an 8 bit address space for each card. The card is designed so that similiar functionality is grouped together within the N range of the card. For example, the registers to access the D/A convertors are grouped within one N area. The range of N is 0-15.

Bits 3-0 are mapped to IOTRANS.cnaf.A. The range of A is 0-15.

Manual page revision

$Id: group3.4,v 1.0 2000/08/14 15:26:43 kitchen Exp $


Table of Contents