1/* 2 module/am9513.h 3 value added preprocessor definitions for Am9513 timer chip 4 5 COMEDI - Linux Control and Measurement Device Interface 6 Copyright (C) 1998 David A. Schleef <ds@schleef.org> 7 8 This program is free software; you can redistribute it and/or modify 9 it under the terms of the GNU General Public License as published by 10 the Free Software Foundation; either version 2 of the License, or 11 (at your option) any later version. 12 13 This program is distributed in the hope that it will be useful, 14 but WITHOUT ANY WARRANTY; without even the implied warranty of 15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 GNU General Public License for more details. 17 18 You should have received a copy of the GNU General Public License 19 along with this program; if not, write to the Free Software 20 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 21 22*/ 23 24#ifndef _AM9513_H_ 25#define _AM9513_H_ 26 27 28/* 29 * 30 */ 31 32#ifdef Am9513_8BITBUS 33 34#define Am9513_write_register(reg, val) \ 35 do { \ 36 Am9513_output_control(reg); \ 37 Am9513_output_data(val>>8); \ 38 Am9513_output_data(val&0xff); \ 39 } while (0) 40 41#define Am9513_read_register(reg, val) \ 42 do { \ 43 Am9513_output_control(reg); \ 44 val = Am9513_input_data()<<8; \ 45 val |= Am9513_input_data(); \ 46 } while (0) 47 48#else /* Am9513_16BITBUS */ 49 50#define Am9513_write_register(reg, val) \ 51 do { \ 52 Am9513_output_control(reg); \ 53 Am9513_output_data(val); \ 54 } while (0) 55 56#define Am9513_read_register(reg, val) \ 57 do { \ 58 Am9513_output_control(reg); \ 59 val = Am9513_input_data(); \ 60 } while (0) 61 62#endif 63 64#endif 65