I also got the source code for the kernel from Philips, which helps a bit with how to use the system. Looking at their patches (which I've uploaded to github), you can see that they violate the kernel conventions in many places with a lot of magic IOCTLs, special hacks and ugly workarounds. Well, well. I don't intend to replace the kernel anyway.
Anyway, my long-term plan is the following:
- A Debian-based distribution which you can install stuff as you want in
- The Music Player Daemon to playback music. MPD provides lots of nice features and supports basically all major music formats. It also has very good client support.
- A web server with a web-based MPD client
- Spotify-support via Despotify through MPD
- A MPD-client running on the built-in display and controlled via the remote
- FM radio support etc
And so far, I've written a set of patches for Despotify to enable libtremor support for integer decoding (the MCI500h ARM is FPU-less). For MPD, I've added Despotify input/playlist plugins and fixes a few bugs which I stumbed upon. The "distribution" and a set of tools is also found in a repository at github. So I've built a binary release for testing which can be downloaded from googlecode.
Left to do is basically the interface stuff plus adapting to the Philips-specific hacks. For example, volume control is done via (I think) i2c (naturally, not using the kernel driver interface but an IOCTL-based one). This will be quite a bit of work, but at least there is something to base the rest on now.