/* * module/8255.h * Header file for 8255 * * COMEDI - Linux Control and Measurement Device Interface * Copyright (C) 1998 David A. Schleef * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. */ #ifndef _8255_H #define _8255_H #include "../comedidev.h" #define I8255_SIZE 0x04 #define I8255_DATA_A_REG 0x00 #define I8255_DATA_B_REG 0x01 #define I8255_DATA_C_REG 0x02 #define I8255_CTRL_REG 0x03 #define I8255_CTRL_C_LO_IO (1 << 0) #define I8255_CTRL_B_IO (1 << 1) #define I8255_CTRL_B_MODE (1 << 2) #define I8255_CTRL_C_HI_IO (1 << 3) #define I8255_CTRL_A_IO (1 << 4) #define I8255_CTRL_A_MODE(x) ((x) << 5) #define I8255_CTRL_CW (1 << 7) int subdev_8255_init(struct comedi_device *, struct comedi_subdevice *, int (*io)(struct comedi_device *, int, int, int, unsigned long), unsigned long regbase); int subdev_8255_mm_init(struct comedi_device *, struct comedi_subdevice *, int (*io)(struct comedi_device *, int, int, int, unsigned long), unsigned long regbase); #endif