DAADIO(4) OpenBSD Programmer's Manual (SPARC) DAADIO(4)NAMEdaadio - MATRIX MD-DAADIO digital/analog, analog/digital, parallel I/O
board
SYNOPSIS
daadio* at fvme? addr 0x0 level 1 vect 0x1f
DESCRIPTION
The daadio driver provides ioctl(2) entry points to read and write
analog/digital, digital/analog, and parallel input/output registers. A
typical daadio has 6 8bit parallel ports, 8 12bit DAC ports, and 32 12bit
ADC ports.
The daadio has a large number of configuration options, but the driver
does not. For the ADC, only simple polled mode is supported (there is no
support for single cycle sampling).
IOCTLS
The daadio device responds to the following ioctl(2) calls defined in
<machine/daadioio.h>:
DIOGPIO (struct daadio_pio) Get the value of the parallel port dap_reg
and store it in dap_val. The argument structure is defined as
follows:
struct daadio_pio {
u_int8_t dap_reg;
u_int8_t dap_val;
};
DIOSPIO (struct daadio_pio) Set the value of the parallel port dap_reg
to the value in dap_val.
DIOSDAC (struct daadio_dac) Set the value of the DAC port in dac_reg to
the value in dac_val. The argument structure is defined as
follows:
struct daadio_dac {
u_int8_t dac_reg;
u_int16_t dac_val;
};
DIOGADC (struct daadio_adc) Get the value of the ADC port specified in
dad_reg into dad_val. The lower 12 bits of dad_val are the
conversion value, the upper four bits are used for status. The
argument structure is defined as follows:
struct daadio_adc {
u_int8_t dad_reg;
u_int16_t dad_val;
#define ADC_IV 0x1000 /* out of range */
#define ADC_PR 0x2000 /* pipeline empty */
#define ADC_DR 0x4000 /* data ready */
#define ADC_OW 0x8000 /* data overwritten */
#define ADC_VAL 0x0fff /* the data */
};
SEE ALSOioctl(2), fvme(4), intro(4)HISTORY
OpenBSD support for the daadio first appeared in OpenBSD 2.6.
OpenBSD 4.9 June 21, 2007 OpenBSD 4.9