This is the bug/patch tracker for Rockbox. Click here for more information.
Quick links: Bugs · Patches · Rockbox frontpage
FS#12074 - Add setting to enable/disable lineout on Sansa Fuze V2
|
DetailsThis patch allows the line out on the Sansa Fuze V2 to be enable/disabled by means of the existing Lineout poweroff setting (previously used on some iPods).
By assigning this setting to the quickscreen I can switch between headphones and lineout after plugging into the dock. Still no luck in finding out how to autodetect the dock. I'm not 100% sure that re-using the "Lineout Poweroff" setting is the right thing to do here as it's not powering on/off the line-out - just switching between headphones and line out |
This task depends upon
If this isn't an appropriate use of the lineout power off setting, then I guess I can add a new lineout setting for the Fuze - would be just duplicating the existing setting though.
It's not much hassle activating it using the quickmenu, but if autodetection could be added, that would be perfect. Ideally the autodetection could also disable crossfeed (great on headphones, not needed with speakers)... but I'm probably just dreaming now!
It works by pulling pin 7 high, and it uses pin 22 to supply the juice.
I have no idea where those pins are wired -- if someone has a bare board they may be able to trace those pins to the appropriate places on the AMS chip and figure out which GPIOs they correspond to. I couldn't find any high-res scans on the rockbox wiki.
in button_fuzev2.c, I tried forcing the "unknown" GPIO[ABCD]_DIR lines high, but I didn't see any change with/without the dock attached (using the debug/IO menu)
Before: (GPIO_DIR for A/B/C/D)
21 3F 00 00
After:
21 3F C1 7F
http://www.shaftnet.org/users/pizza/rockbox-sansa_fuze_v2-99f20b-lineout.zip
I'd love to see this patch integrated too -- or better yet, auto-detection, but I have no idea how those pins are hooked up to the AMS chip, and I don't want to sacrifice my Fuze for this..
(Hmmm, maybe I can find a broken one on ebay..)
Then there would be no need for him to post patches here or on the forum anymore.
I expect that there are plenty of Rockbox users out there with Fuzes and Griffin docks (as these were blown out through retail overstock places like Ollie's) that need this functionality. Please make It part of the base build code.
We won't be including this in the main build until someone reverse engineers the mechanism for detecting if a line out dock is connected.
As far as dock detection is concerned -- We know the dock works by shorting pin 22 to pin 7. Pin22 is already set high, but I don't know where pin 7 goes, and I can't find that out without destroying my FuseV2 in the process.
Somewhere there are the bare FuseV2 PCBs that were used in the original port, and that would be quite handy with a multimeter. Or a broken one. Or one slated for sacrifice..
- Solomon
I think a broken player may not tell you much, since you will only be able to trace pins as far as the SOC package, and all the interesting things are inside the packaging. Although maybe we'll get luck and its a pin shared with the display or USB that you can infer the routing of. On some of the older AMS chips, the display peripheral ('DBOP') was used as a backup GPIO so that is a possibility.
Looking at the firmware disassembly may be more fruitful though.
I have enough experience with disassembly to know that it's an arduous task even when one is familiar with the hardware. Granted, I know the register that controls the line out, which at least gives me something meaningful to start my search on.
(I'm trying to enable the DBOP reading for the Fuzev2)
A correspondingly updated build is here:
http://www.shaftnet.org/users/pizza/rockbox-sansa_fuze_v2-540e5d1-lineout.zip
(I finally have a working fuzeV2 again -- and four dead ones on my desk. joy...)