1
0
Fork 0
forked from len0rd/rockbox

Disk poweroff for 1st/2nd gen iPods.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14157 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Jens Arnold 2007-08-03 12:05:47 +00:00
parent 73970f4997
commit ccf51927b9
2 changed files with 20 additions and 2 deletions

View file

@ -73,6 +73,9 @@
/* Define this if you have a PortalPlayer PP5002 */
#define CONFIG_CPU PP5002
/* We're able to shut off power to the HDD */
#define HAVE_ATA_POWER_OFF
/* Define this if you want to use the PP5002 i2c interface */
#define CONFIG_I2C I2C_PP5002

View file

@ -30,7 +30,11 @@
void power_init(void)
{
#ifndef IPOD_1G2G
#ifdef IPOD_1G2G /* probably also 3rd gen */
GPIOC_ENABLE |= 0x40; /* GPIO C6 is HDD power (low active) */
GPIOC_OUTPUT_VAL &= ~0x40; /* on by default */
GPIOC_OUTPUT_EN |= 0x40; /* enable output */
#else
pcf50605_init();
#endif
}
@ -53,14 +57,25 @@ bool charging_state(void) {
void ide_power_enable(bool on)
{
/* We do nothing on the iPod */
#ifdef IPOD_1G2G /* probably also 3rd gen */
if (on)
GPIOC_OUTPUT_VAL &= ~0x40;
else
GPIOC_OUTPUT_VAL |= 0x40;
#else
/* We do nothing on other iPods yet */
(void)on;
#endif
}
bool ide_powered(void)
{
#ifdef IPOD_1G2G /* probably also 3rd gen */
return !(GPIOC_OUTPUT_VAL & 0x40);
#else
/* pretend we are always powered - we don't turn it off on the ipod */
return true;
#endif
}
void power_off(void)