summaryrefslogtreecommitdiff
path: root/firmware/export/i2c-pp.h
diff options
context:
space:
mode:
authorDaniel Ankers <dan@weirdo.org.uk>2007-01-27 20:09:57 +0000
committerDaniel Ankers <dan@weirdo.org.uk>2007-01-27 20:09:57 +0000
commitec0a362ea29be4254f49da67c7154fb73fedd75d (patch)
treef50aabb7302fa4ad6691540c94555e3beb9aa530 /firmware/export/i2c-pp.h
parente80470e9583e87ba0cedf7e40884265a462ac5ba (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.h46
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