diff options
| author | Szymon Dziok <b0hoon@o2.pl> | 2016-09-25 23:11:21 +0200 |
|---|---|---|
| committer | Szymon Dziok <b0hoon@o2.pl> | 2016-09-25 23:11:21 +0200 |
| commit | e3deec949df7ddad13b24103b2a70d9ceaa73ecc (patch) | |
| tree | adf26130c46174a7b8a52e241c9b8d5a9471ebd0 | |
| parent | 50c1de7092fa75c6c5317ac5338d685191a443c0 (diff) | |
| download | rockbox-e3deec949df7ddad13b24103b2a70d9ceaa73ecc.zip rockbox-e3deec949df7ddad13b24103b2a70d9ceaa73ecc.tar.gz rockbox-e3deec949df7ddad13b24103b2a70d9ceaa73ecc.tar.bz2 rockbox-e3deec949df7ddad13b24103b2a70d9ceaa73ecc.tar.xz | |
HDD6330: Implement ATA power on/off.
This should fix some errors, panics in some individual cases.
Change-Id: I27ce41f0563378e03371724f8b044404c6e69b76
| -rw-r--r-- | firmware/target/arm/philips/power-hdd.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/firmware/target/arm/philips/power-hdd.c b/firmware/target/arm/philips/power-hdd.c index d38c6de..05ada4b 100644 --- a/firmware/target/arm/philips/power-hdd.c +++ b/firmware/target/arm/philips/power-hdd.c @@ -99,14 +99,31 @@ unsigned int power_input_status(void) void ide_power_enable(bool on) { +#if defined(PHILIPS_HDD6330) + if (on) + { + GPIO_SET_BITWISE(GPIOC_OUTPUT_VAL, 0x08); + DEV_EN |= DEV_IDE0; + } + else + { + DEV_EN &= ~DEV_IDE0; + GPIO_CLEAR_BITWISE(GPIOC_OUTPUT_VAL, 0x08); + } +#else (void)on; /* We do nothing */ +#endif } bool ide_powered(void) { +#if defined(PHILIPS_HDD6330) + return ((GPIOC_INPUT_VAL & 0x08) != 0); +#else /* pretend we are always powered - we don't turn it off */ return true; +#endif } void power_off(void) |