hsio(7) CLIX hsio(7)
NAME
hsio - High speed I/O driver
DESCRIPTION
The hsio driver provides an interface to the Raytheon High-Speed
Input/Output (HSIO) board. The special files associated with hsio are
/dev/hsxp, where x specifies the HSIO board and p specifies the IOCT port
on the HSIO board.
Each HSIO board in the system is specified by its position on the Shared
Resource (SR) Bus. The HSIO board with the lowest SR Bus slot is
referenced by a value of 0 for x. The next HSIO board on the bus is
address by a value of 1 and so forth. Currently only one HSIO board is
supported.
There are four IOCT ports (a, b, c, and d) on each HSIO board which are
specified by p. IOCT port a (IOCTA) is read only. IOCT port b (IOCTB) is
write only. IOCT port c (IOCTC) and IOCT port d (IOCTD) can be read or
written. Currently only IOCTC and IOCTD are supported.
The ioctl(fildes, request, arg) function can be used with the following
requests (defined in <sys/hs.h>):
HSIO_BITE If arg is nonzero, the board is reset and put into bite mode.
Then a simple bite test is performed. A 0 is returned if the
test was successful. The board is left in bite mode. If arg
is 0, the board is taken out of bite mode.
HSIO_RESET Reset both the board and the driver.
In addition to the standard ioctl() errors, errno may also have the
following value:
[EIO] The board did not pass the bite test.
The read(fildes,buf,nbyte) function can be used to read data from the HSIO
board. The buf parameter must start on a 4-byte boundary and nbyte must
be a multiple of four. The first 4-byte word in buf will be the control
word received by the IOCT port. The control word has the following
format:
______________________________________________________________
| MSB| | | | | | | | | | | LSB|
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | ...| 30| 31 |
|______________|______________|______________|________________|
| | | | |
| DEV | MOD | COM | |
|______________|______________|______________|________________|
2/94 - Intergraph Corporation 1
hsio(7) CLIX hsio(7)
|______________|______________|______________|________________|
If MOD is 2, the driver will expect data to follow the control word and
will place the data in buf following the control word. If the amount of
data received exceeds the size of buf, the remaining data will be
discarded. If no data is available, the read will return immediately with
a value of 0.
In addition to the standard read() errors, errno may also have one of the
following values:
[EIO] A reset occurred during the read() or this is the first I/O
operation since a reset occurred.
[EACCES] The IOCT is a write only port.
The write(fildes, buf, nbyte) function can be used to transmit data to the
HSIO board. The buf parameter must start on a 4-byte boundary and nbyte
must be a multiple of four. The first 4-byte word in buf will be sent as
a control word. All remaining bytes will be sent as data.
In addition to the standard write() errors, errno may also have one of the
following values:
[EBUSY] The IOCT was busy sending a packet out, receiving a packet, or
no First In First Out (FIFO) was available on the board.
[EIO] A reset occurred during the write() or this is the first I/O
operation since a reset occurred.
[EACCES] The IOCT is a read only port.
FILES
/dev/hs* Special files associated with hsio.
RELATED INFORMATION
Functions: ioctl(2), read(2), write(2)
2 Intergraph Corporation - 2/94