diff options
author | Daniel Ankers <dan@weirdo.org.uk> | 2007-01-27 20:09:57 +0000 |
---|---|---|
committer | Daniel Ankers <dan@weirdo.org.uk> | 2007-01-27 20:09:57 +0000 |
commit | ec0a362ea29be4254f49da67c7154fb73fedd75d (patch) | |
tree | f50aabb7302fa4ad6691540c94555e3beb9aa530 /firmware/export/i2c-pp.h | |
parent | e80470e9583e87ba0cedf7e40884265a462ac5ba (diff) |
More PortalPlayer I2C unification work
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12128 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/export/i2c-pp.h')
-rw-r--r-- | firmware/export/i2c-pp.h | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/firmware/export/i2c-pp.h b/firmware/export/i2c-pp.h new file mode 100644 index 0000000000..1dc5bc358a --- /dev/null +++ b/firmware/export/i2c-pp.h @@ -0,0 +1,46 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2002 by Linus Nielsen Feltzing + * + * All files in this archive are subject to the GNU General Public License. + * See the file COPYING in the source tree root for full license agreement. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ + +/* + * PortalPlayer i2c driver + * + */ + +#ifndef _I2C_PP_H +#define _I2C_PP_H + +#define I2C_CTRL (*(volatile unsigned char*)(I2C_BASE+0x00)) +#define I2C_ADDR (*(volatile unsigned char*)(I2C_BASE+0x04)) +#define I2C_DATA(X) (*(volatile unsigned char*)(I2C_BASE+0xc+(4*X))) +#define I2C_STATUS (*(volatile unsigned char*)(I2C_BASE+0x1c)) + +/* I2C_CTRL bit definitions */ +#define I2C_SEND 0x80 + +/* I2C_STATUS bit definitions */ +#define I2C_BUSY (1<<6) + +/* TODO: Fully implement i2c driver */ + +void i2c_init(void); +int i2c_readbyte(unsigned int dev_addr, int addr); +int pp_i2c_send(unsigned int addr, int data0, int data1); +int i2c_readbytes(unsigned int dev_addr, int addr, int len, unsigned char *data); + +#endif |