From 3db7893911dc756f3f0cf97712004ea9c0850379 Mon Sep 17 00:00:00 2001 From: Michael Giacomelli Date: Sun, 18 Jan 2009 18:49:36 +0000 Subject: Commit second part of FS#9663 by Thomas Martitz. Enable button light on fuze and e200v2. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19792 a1c6a512-1295-4272-9138-f99709370657 --- firmware/target/arm/as3525/ata_sd_as3525.c | 12 ++++++++++-- firmware/target/arm/as3525/backlight-e200v2-fuze.c | 4 ++-- firmware/target/arm/as3525/sansa-fuze/button-fuze.c | 1 + 3 files changed, 13 insertions(+), 4 deletions(-) (limited to 'firmware/target') diff --git a/firmware/target/arm/as3525/ata_sd_as3525.c b/firmware/target/arm/as3525/ata_sd_as3525.c index b68df4c930..44fe3e4314 100644 --- a/firmware/target/arm/as3525/ata_sd_as3525.c +++ b/firmware/target/arm/as3525/ata_sd_as3525.c @@ -476,10 +476,10 @@ static void init_pl180_controller(const int drive) int sd_init(void) { int ret; - CGU_IDE = (1<<7) /* AHB interface enable */ | + CGU_IDE = (1<<7) /* AHB interface enable */ | (1<<6) /* interface enable */ | ((CLK_DIV(AS3525_PLLA_FREQ, AS3525_IDE_FREQ) - 1) << 2) | - 1 /* clock source = PLLA */; + 1; /* clock source = PLLA */ CGU_PERI |= CGU_NAF_CLOCK_ENABLE; @@ -741,6 +741,10 @@ void sd_enable(bool on) CGU_PERI |= CGU_NAF_CLOCK_ENABLE; #ifdef HAVE_MULTIVOLUME CGU_PERI |= CGU_MCI_CLOCK_ENABLE; + /* Needed for buttonlight and MicroSD to work at the same time */ + /* Turn ROD control on, as the OF does */ + SD_MCI_POWER |= (1<<7); + CCU_IO |= (1<<2); #endif CGU_IDE |= (1<<7) /* AHB interface enable */ | (1<<6) /* interface enable */; @@ -751,6 +755,10 @@ void sd_enable(bool on) CGU_PERI &= ~CGU_NAF_CLOCK_ENABLE; #ifdef HAVE_MULTIVOLUME CGU_PERI &= ~CGU_MCI_CLOCK_ENABLE; + /* Needed for buttonlight and MicroSD to work at the same time */ + /* Turn ROD control off, as the OF does */ + SD_MCI_POWER &= ~(1<<7); + CCU_IO &= ~(1<<2); #endif CGU_IDE &= ~((1<<7)|(1<<6)); sd_enabled = false; diff --git a/firmware/target/arm/as3525/backlight-e200v2-fuze.c b/firmware/target/arm/as3525/backlight-e200v2-fuze.c index c642064591..c26d3919c3 100644 --- a/firmware/target/arm/as3525/backlight-e200v2-fuze.c +++ b/firmware/target/arm/as3525/backlight-e200v2-fuze.c @@ -57,12 +57,12 @@ void _backlight_off(void) void _buttonlight_on(void) { - GPIOD_PIN(7) = (1<<7); GPIOD_DIR |= (1<<7); + GPIOD_PIN(7) = (1<<7); } void _buttonlight_off(void) { GPIOD_PIN(7) = 0; - GPIOD_DIR |= (1<<7); + GPIOD_DIR &= ~(1<<7); } diff --git a/firmware/target/arm/as3525/sansa-fuze/button-fuze.c b/firmware/target/arm/as3525/sansa-fuze/button-fuze.c index 2414900727..ff07965f90 100644 --- a/firmware/target/arm/as3525/sansa-fuze/button-fuze.c +++ b/firmware/target/arm/as3525/sansa-fuze/button-fuze.c @@ -108,6 +108,7 @@ static void get_wheel(void) * the rockbox menus */ if (queue_empty(&button_queue) && ++counter >= 4) { + buttonlight_on(); backlight_on(); /* 1<<24 is rather arbitary, seems to work well */ queue_post(&button_queue, btn, 1<<24); -- cgit v1.2.3