summaryrefslogtreecommitdiffstats
path: root/firmware/target/arm/pbell
diff options
context:
space:
mode:
authorSzymon Dziok <b0hoon@o2.pl>2010-03-01 22:24:17 +0000
committerSzymon Dziok <b0hoon@o2.pl>2010-03-01 22:24:17 +0000
commitf67e3559c62ba21d6085793a2bb5513050590ef7 (patch)
treea34118c5aa3f36e4e3161e0c4ea7102f862d33ce /firmware/target/arm/pbell
parentafeacb048f4ca0aed300531fcb90da969724f803 (diff)
downloadrockbox-f67e3559c62ba21d6085793a2bb5513050590ef7.tar.gz
rockbox-f67e3559c62ba21d6085793a2bb5513050590ef7.zip
Packard Bell Vibe 500: clean up the power off, enable poweroff while charging.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24987 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/target/arm/pbell')
-rw-r--r--firmware/target/arm/pbell/vibe500/power-vibe500.c27
1 files changed, 13 insertions, 14 deletions
diff --git a/firmware/target/arm/pbell/vibe500/power-vibe500.c b/firmware/target/arm/pbell/vibe500/power-vibe500.c
index 45ab7fb1fd..b345a9b5d0 100644
--- a/firmware/target/arm/pbell/vibe500/power-vibe500.c
+++ b/firmware/target/arm/pbell/vibe500/power-vibe500.c
@@ -55,7 +55,7 @@ void power_init(void)
ClipZifnoFinger=0,DisableDeceleration=0,Dribble=0.
MEP parameter 0x21 - Enhanced Operating Configuration */
touchpad_set_parameter(0x21,0x0008);
- /* Set the GPO_LEVEL = 0 - for the button lights */
+ /* Set the GPO_LEVELS = 0 - for the button lights */
touchpad_set_parameter(0x23,0x0000);
/* Sound unmute (on) */
@@ -94,22 +94,21 @@ bool ide_powered(void)
void power_off(void)
{
- /* from the OF */
-/*
- DEV_INIT2 |= DEV_I2S;
- GPIO_SET_BITWISE(GPIOL_OUTPUT_VAL, 0x10);
- sleep(HZ/100);
- GPIO_SET_BITWISE(GPIOL_OUTPUT_VAL, 0x10);
- sleep(HZ);
- GPIO_CLEAR_BITWISE(GPIOB_OUTPUT_VAL, 0x80);
- sleep(HZ);
- GPIO_CLEAR_BITWISE(GPIOC_OUTPUT_VAL, 0x08);
- GPO32_VAL |= 0x40000000;
- GPO32_ENABLE |= 0x40000000;
-*/
/* Sound mute (off) */
DEV_INIT2 |= DEV_I2S;
GPIO_SET_BITWISE(GPIOL_OUTPUT_VAL, 0x10);
/* shutdown bit */
GPIO_CLEAR_BITWISE(GPIOB_OUTPUT_VAL, 0x80);
+ /* button lights off */
+ touchpad_set_parameter(0x22,0x0000);
+ /* ATA power off */
+ ide_power_enable(false);
+ /* ? - in the OF */
+ GPO32_VAL |= 0x40000000;
+ GPO32_ENABLE |= 0x40000000;
+ /* lcd controller off ? - makes lcd white until power on */
+ GPIO_CLEAR_BITWISE(GPIOJ_OUTPUT_VAL, 0x04);
+ /* a way to poweroff while charging = system_reset */
+ if (power_input_status())
+ system_reboot();
}