fuzev2: fix buttonlight flashing on µSD access (2nd try)
authorfunman <funman@a1c6a512-1295-4272-9138-f99709370657>
Sat, 15 May 2010 16:21:47 +0000 (15 16:21 +0000)
committerfunman <funman@a1c6a512-1295-4272-9138-f99709370657>
Sat, 15 May 2010 16:21:47 +0000 (15 16:21 +0000)
it would still flash when the light was off
it turns out that if B5 is set to input the light can't be turned on
but we can still select between µSD slot and internal storage

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26059 a1c6a512-1295-4272-9138-f99709370657

firmware/target/arm/as3525/sansa-fuzev2/backlight-fuzev2.c
firmware/target/arm/as3525/sd-as3525v2.c

index 1bc16ba..29e1450 100644 (file)
@@ -35,9 +35,6 @@ void _backlight_set_brightness(int brightness)
 
 bool _backlight_init(void)
 {
-    GPIOB_DIR |= 1<<5; /* for buttonlight, stuff below seems to be needed
-                          for buttonlight as well*/
-
     ascodec_write_pmu(AS3543_BACKLIGHT, 1, 0x80);
     ascodec_write_pmu(AS3543_BACKLIGHT, 2, backlight_brightness * 10);
 
@@ -62,6 +59,7 @@ void _backlight_off(void)
 
 void _buttonlight_on(void)
 {
+    GPIOB_DIR |= 1<<5;
     GPIOB_PIN(5) = (1<<5);
     buttonlight_is_on = 1;
 }
@@ -69,5 +67,6 @@ void _buttonlight_on(void)
 void _buttonlight_off(void)
 {
     GPIOB_PIN(5) = 0;
+    GPIOB_DIR &= ~(1<<5);
     buttonlight_is_on = 0;
 }
index 94ba019..37d7221 100644 (file)
@@ -700,8 +700,6 @@ static void init_controller(void)
     /* Rx watermark = 63(sd reads)  Tx watermark = 128 (sd writes) */
     MCI_FIFOTH = (MCI_FIFOTH & MCI_FIFOTH_MASK) | 0x503f0080;
 
-    GPIOB_DIR |= (1<<5);                 /* Set pin B5 to output  */
-
     /* Mask all MCI Interrupts initially  */
     MCI_MASK = 0;