summaryrefslogtreecommitdiffstats
path: root/firmware
diff options
context:
space:
mode:
authorMichael Sevakis <jethead71@rockbox.org>2007-05-17 22:49:27 +0000
committerMichael Sevakis <jethead71@rockbox.org>2007-05-17 22:49:27 +0000
commitaf272592f599ab26a775d0f462bf50d0b15304d4 (patch)
tree05a52571cb7746429ce00a6ea6fa71f621d07648 /firmware
parent875c725e1cb9a50f98de648e4f98043d314b7d18 (diff)
downloadrockbox-af272592f599ab26a775d0f462bf50d0b15304d4.tar.gz
rockbox-af272592f599ab26a775d0f462bf50d0b15304d4.zip
Change i2c config on e200. Seems to speed things up somewhat.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13403 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware')
-rw-r--r--firmware/SOURCES2
-rw-r--r--firmware/export/config-e200.h4
-rw-r--r--firmware/export/config.h1
-rw-r--r--firmware/target/arm/i2c-pp.c5
4 files changed, 9 insertions, 3 deletions
diff --git a/firmware/SOURCES b/firmware/SOURCES
index aeb98a3562..ab9e722b0e 100644
--- a/firmware/SOURCES
+++ b/firmware/SOURCES
@@ -271,7 +271,7 @@ common/strlen.c
target/arm/memset-arm.S
target/arm/memset16-arm.S
target/arm/memswap128-arm.S
-#if CONFIG_I2C == I2C_PP5020 || CONFIG_I2C == I2C_PP5002
+#if CONFIG_I2C == I2C_PP5024 || CONFIG_I2C == I2C_PP5020 || CONFIG_I2C == I2C_PP5002
target/arm/i2c-pp.c
#elif CONFIG_I2C == I2C_PNX0101
target/arm/pnx0101/i2c-pnx0101.c
diff --git a/firmware/export/config-e200.h b/firmware/export/config-e200.h
index c61b1376d5..d477289f01 100644
--- a/firmware/export/config-e200.h
+++ b/firmware/export/config-e200.h
@@ -84,8 +84,8 @@
/* Define this if you have a PortalPlayer PP5024 */
#define CONFIG_CPU PP5024
-/* Define this if you want to use the PP5020 i2c interface */
-#define CONFIG_I2C I2C_PP5020
+/* Define this if you want to use the PP5024 i2c interface */
+#define CONFIG_I2C I2C_PP5024
/* Type of mobile power */
#define CONFIG_BATTERY BATT_LIION750
diff --git a/firmware/export/config.h b/firmware/export/config.h
index 9d537acdda..ceb63cd098 100644
--- a/firmware/export/config.h
+++ b/firmware/export/config.h
@@ -121,6 +121,7 @@
#define I2C_PP5020 5 /* PP5020 style */
#define I2C_PNX0101 6 /* PNX0101 style */
#define I2C_S3C2440 7
+#define I2C_PP5024 8 /* PP5024 style */
/* CONFIG_LED */
#define LED_REAL 1 /* SW controlled LED (Archos recorders, player) */
diff --git a/firmware/target/arm/i2c-pp.c b/firmware/target/arm/i2c-pp.c
index fb3c89dd4a..07fa822ab3 100644
--- a/firmware/target/arm/i2c-pp.c
+++ b/firmware/target/arm/i2c-pp.c
@@ -197,6 +197,11 @@ void i2c_init(void)
#if CONFIG_I2C == I2C_PP5020
outl(0x0, 0x600060a4);
outl(0x80 | (0 << 8), 0x600060a4);
+#elif CONFIG_I2C == I2C_PP5024
+ /* Sansa OF sets this to 0x20 first, communicates with the AS3514
+ then sets it to 0x23 - this still works fine though */
+ outl(0x0, 0x600060a4);
+ outl(0x23, 0x600060a4);
#endif
spinlock_init(&i2c_mutex);