diff options
Diffstat (limited to 'firmware')
-rw-r--r-- | firmware/SOURCES | 2 | ||||
-rw-r--r-- | firmware/export/config-e200.h | 4 | ||||
-rw-r--r-- | firmware/export/config.h | 1 | ||||
-rw-r--r-- | firmware/target/arm/i2c-pp.c | 5 |
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 | |||
271 | target/arm/memset-arm.S | 271 | target/arm/memset-arm.S |
272 | target/arm/memset16-arm.S | 272 | target/arm/memset16-arm.S |
273 | target/arm/memswap128-arm.S | 273 | target/arm/memswap128-arm.S |
274 | #if CONFIG_I2C == I2C_PP5020 || CONFIG_I2C == I2C_PP5002 | 274 | #if CONFIG_I2C == I2C_PP5024 || CONFIG_I2C == I2C_PP5020 || CONFIG_I2C == I2C_PP5002 |
275 | target/arm/i2c-pp.c | 275 | target/arm/i2c-pp.c |
276 | #elif CONFIG_I2C == I2C_PNX0101 | 276 | #elif CONFIG_I2C == I2C_PNX0101 |
277 | target/arm/pnx0101/i2c-pnx0101.c | 277 | 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 @@ | |||
84 | /* Define this if you have a PortalPlayer PP5024 */ | 84 | /* Define this if you have a PortalPlayer PP5024 */ |
85 | #define CONFIG_CPU PP5024 | 85 | #define CONFIG_CPU PP5024 |
86 | 86 | ||
87 | /* Define this if you want to use the PP5020 i2c interface */ | 87 | /* Define this if you want to use the PP5024 i2c interface */ |
88 | #define CONFIG_I2C I2C_PP5020 | 88 | #define CONFIG_I2C I2C_PP5024 |
89 | 89 | ||
90 | /* Type of mobile power */ | 90 | /* Type of mobile power */ |
91 | #define CONFIG_BATTERY BATT_LIION750 | 91 | #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 @@ | |||
121 | #define I2C_PP5020 5 /* PP5020 style */ | 121 | #define I2C_PP5020 5 /* PP5020 style */ |
122 | #define I2C_PNX0101 6 /* PNX0101 style */ | 122 | #define I2C_PNX0101 6 /* PNX0101 style */ |
123 | #define I2C_S3C2440 7 | 123 | #define I2C_S3C2440 7 |
124 | #define I2C_PP5024 8 /* PP5024 style */ | ||
124 | 125 | ||
125 | /* CONFIG_LED */ | 126 | /* CONFIG_LED */ |
126 | #define LED_REAL 1 /* SW controlled LED (Archos recorders, player) */ | 127 | #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) | |||
197 | #if CONFIG_I2C == I2C_PP5020 | 197 | #if CONFIG_I2C == I2C_PP5020 |
198 | outl(0x0, 0x600060a4); | 198 | outl(0x0, 0x600060a4); |
199 | outl(0x80 | (0 << 8), 0x600060a4); | 199 | outl(0x80 | (0 << 8), 0x600060a4); |
200 | #elif CONFIG_I2C == I2C_PP5024 | ||
201 | /* Sansa OF sets this to 0x20 first, communicates with the AS3514 | ||
202 | then sets it to 0x23 - this still works fine though */ | ||
203 | outl(0x0, 0x600060a4); | ||
204 | outl(0x23, 0x600060a4); | ||
200 | #endif | 205 | #endif |
201 | 206 | ||
202 | spinlock_init(&i2c_mutex); | 207 | spinlock_init(&i2c_mutex); |