00001 /* src_experimental/hardware/pcf8584.h 00002 CubeOS Version 0.4.90 experimental 00003 Copyright (C) 1999,2000 Holger Kenn 00004 00005 CubeOS is free software; you can redistribute it and/or 00006 modify it under the terms of the GNU Library General Public 00007 License as published by the Free Software Foundation; either 00008 version 2 of the License, or any later version. 00009 00010 CubeOS is distributed in the hope that it will be useful, 00011 but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00013 Library General Public License for more details. 00014 00015 */ 00016 /* Writable Flags in Control register */ 00017 00018 #define ACK 0x01 /* Acknowledge cycle */ 00019 #define STO 0x02 /* Stop condition */ 00020 #define STA 0x04 /* Start condition */ 00021 #define ENI 0x08 /* Enable interrupt */ 00022 #define ESO 0x40 /* Enable i2c bus interface */ 00023 00024 /* Readable Flags in Control Register */ 00025 00026 #define BB 0x01 /* i2c bus busy */ 00027 #define LAB 0x02 /* lost arbitration */ 00028 #define AAS 0x04 /* Addressed as slave */ 00029 #define LRB 0x08 /* last received bit */ 00030 #define BER 0x10 /* bus error */ 00031 #define STS 0x20 /* stop condition detected */ 00032 #define PIN 0x80 /* pending interrupt (active low) */ 00033 00034 struct i2c_device { 00035 unsigned char data; 00036 unsigned char control; 00037 };