FS#9663 - Sansa e200v2/Fuze: "nearly" fix buttonlight, enable backlight sw fading

Attached to Project: Rockbox
Opened by Thomas Martitz (kugel.) - Thursday, 18 December 2008, 02:14 GMT
Last edited by MichaelGiacomelli (saratoga) - Sunday, 18 January 2009, 18:50 GMT
Task Type Patches
Category Battery/Charging
Status Closed
Assigned To No-one
Operating System All players
Severity Low
Priority Normal
Reported Version Release 3.0
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No


This patch enables backlight sw fading for both mentioned targets. Looks nice on the Fuze.

It's also supposed to fix buttonlight. It generally works, but it needs more work.
It's quite unreliable!
It generally works if you press a button shortly after the very first buttonlight flash while booting, and it starts working if you do filesystem access. There may be other conditions.
It generally doesn't work if you boot normally, until something mentioned above happens.

I just want to add: buttonlight ain't trivial from what I've seen. Simply setting the pin is broken as soon as you add a MicroSD, since the MicroSD is blocking the GPIOD port. You basically cannot change xpd_func_sel to GPIO as long as you're using the MicroSD. And the buttonlight doesn't keep on just by setting the pin if you change to xpd.

What I did is what I found in the disassembly. It sets the Rod control register. It seems to work a bit, even though I have no idea what it actually is.

Enough talk, here's the patch
This task depends upon

Closed by  MichaelGiacomelli (saratoga)
Sunday, 18 January 2009, 18:50 GMT
Reason for closing:  Accepted
Additional comments about closing:  Accepted in r19791 and r10792.
Comment by Michael Chicoine (mc2739) - Thursday, 18 December 2008, 12:57 GMT
You forgot the backlight-target.h changes for e200v2
Comment by Thomas Martitz (kugel.) - Friday, 16 January 2009, 23:14 GMT
Update for the buttonlight, works good. It turns off for a split second at inserting a microsd, but I don't think it's a major issue (I'd even say it's a nice visual feedback on inserting the card).
Comment by Thomas Martitz (kugel.) - Friday, 16 January 2009, 23:51 GMT
Here's an update on backlight fading. The huge #if in backlight.c could actually reduced to HAVE_AS3514.