Index: firmware/export/config-ipodvideo.h =================================================================== --- firmware/export/config-ipodvideo.h (révision 16254) +++ firmware/export/config-ipodvideo.h (copie de travail) @@ -119,9 +119,6 @@ /* Define this if you want to use the PP5020 i2c interface */ #define CONFIG_I2C I2C_PP5020 -/* We're able to shut off power to the HDD */ -#define HAVE_ATA_POWER_OFF - /* define this if the hardware can be powered off while charging */ //#define HAVE_POWEROFF_WHILE_CHARGING Index: firmware/export/config-ipodcolor.h =================================================================== --- firmware/export/config-ipodcolor.h (révision 16254) +++ firmware/export/config-ipodcolor.h (copie de travail) @@ -103,9 +103,6 @@ /* Define this if you want to use the PP5020 i2c interface */ #define CONFIG_I2C I2C_PP5020 -/* We're able to shut off power to the HDD */ -#define HAVE_ATA_POWER_OFF - /* define this if the hardware can be powered off while charging */ //#define HAVE_POWEROFF_WHILE_CHARGING Index: firmware/export/config-ipodmini.h =================================================================== --- firmware/export/config-ipodmini.h (révision 16254) +++ firmware/export/config-ipodmini.h (copie de travail) @@ -106,9 +106,6 @@ /* Define this if you want to use the PP5020 i2c interface */ #define CONFIG_I2C I2C_PP5020 -/* We're able to shut off power to the HDD */ -#define HAVE_ATA_POWER_OFF - /* define this if the hardware can be powered off while charging */ //#define HAVE_POWEROFF_WHILE_CHARGING Index: firmware/export/config-ipodmini2g.h =================================================================== --- firmware/export/config-ipodmini2g.h (révision 16254) +++ firmware/export/config-ipodmini2g.h (copie de travail) @@ -113,9 +113,6 @@ /* Define this if you want to use the PP5020 i2c interface */ #define CONFIG_I2C I2C_PP5020 -/* We're able to shut off power to the HDD */ -#define HAVE_ATA_POWER_OFF - /* define this if the hardware can be powered off while charging */ //#define HAVE_POWEROFF_WHILE_CHARGING Index: firmware/export/config-ipod4g.h =================================================================== --- firmware/export/config-ipod4g.h (révision 16254) +++ firmware/export/config-ipod4g.h (copie de travail) @@ -116,9 +116,6 @@ /* Define this if you want to use the PP5020 i2c interface */ #define CONFIG_I2C I2C_PP5020 -/* We're able to shut off power to the HDD */ -#define HAVE_ATA_POWER_OFF - /* define this if the hardware can be powered off while charging */ //#define HAVE_POWEROFF_WHILE_CHARGING Index: firmware/target/arm/ipod/power-ipod.c =================================================================== --- firmware/target/arm/ipod/power-ipod.c (révision 16254) +++ firmware/target/arm/ipod/power-ipod.c (copie de travail) @@ -67,19 +67,9 @@ GPIOC_OUTPUT_VAL &= ~0x40; else GPIOC_OUTPUT_VAL |= 0x40; -#elif defined(IPOD_4G) || defined(IPOD_COLOR) \ - || defined(IPOD_MINI) || defined(IPOD_MINI2G) - if (on) - GPIO_CLEAR_BITWISE(GPIOJ_OUTPUT_VAL, 0x04); - else - GPIO_SET_BITWISE(GPIOJ_OUTPUT_VAL, 0x04); -#elif defined(IPOD_VIDEO) - if (on) - GPO32_VAL &= ~0x40000000; - else - GPO32_VAL |= 0x40000000; -#else /* Nano */ - (void)on; /* Do nothing. */ +#else + /* We do nothing on other iPods yet */ + (void)on; #endif } @@ -87,13 +77,9 @@ { #if defined(IPOD_1G2G) || defined(IPOD_3G) return !(GPIOC_OUTPUT_VAL & 0x40); -#elif defined(IPOD_4G) || defined(IPOD_COLOR) \ - || defined(IPOD_MINI) || defined(IPOD_MINI2G) - return !(GPIOJ_OUTPUT_VAL & 0x04); -#elif defined(IPOD_VIDEO) - return !(GPO32_VAL & 0x40000000); -#else /* Nano */ - return true; /* Pretend we are always powered */ +#else + /* pretend we are always powered - we don't turn it off on the ipod */ + return true; #endif } Index: firmware/target/arm/iriver/h10/power-h10.c =================================================================== --- firmware/target/arm/iriver/h10/power-h10.c (révision 16254) +++ firmware/target/arm/iriver/h10/power-h10.c (copie de travail) @@ -58,9 +58,10 @@ void ide_power_enable(bool on) { if(on){ - GPIO_CLEAR_BITWISE(GPIOF_OUTPUT_VAL, 0x01); + GPIOF_OUTPUT_VAL &=~ 0x1; + sleep(1); } else { - GPIO_SET_BITWISE(GPIOF_OUTPUT_VAL, 0x01); + GPIOF_OUTPUT_VAL |= 0x1; } } Index: firmware/drivers/ata.c =================================================================== --- firmware/drivers/ata.c (révision 16254) +++ firmware/drivers/ata.c (copie de travail) @@ -949,7 +949,6 @@ int rc; ide_power_enable(true); - sleep(HZ/50); /* allow voltage to build up */ if( ata_hard_reset() ) return -1; @@ -1155,7 +1154,7 @@ if (!ide_powered()) /* somebody has switched it off */ { ide_power_enable(true); - sleep(HZ/50); /* allow voltage to build up */ + sleep(HZ); /* allow voltage to build up */ } /* first try, hard reset at cold start only */