A bit refined version of the patch. Removed whitespace changes in bootloader/common.c and changed model name in tools/scramble.c (I saw now model name h10_5gb which breaks '4 char rule', that is why I named my target hd200)

About the "4 char rule" it's not a problem because we only use it to determine the model number, it can be arbitrarily long as long as it is given as argument to scramble (just saw that, I would have used longer names if i knew..)

Here some remarks:

- I see there are a lot of places where DRAM start is defined to 0x31000000 : could you put that in an header? like firmware/target/coldfire/mpio/hd200/system-target.h
- did Dave Chapman really write wm8750.h 5 years ago ?
- config.h has a FIXME for tuner, can the FIXME be removed, or tuner be commented out ?
- same for pcm-coldfire.c, wmcodec-coldfire.c
- there is an added chunk in coldfire/crt0.S : can you add a comment for this one ?

If you are not sure about how to implement lcd_blit_*() you could ask amiconn on irc

about remarks:
- DRAM start define - I took existing CF ports (iriver,iaudio) as a template and there were no such define.
- wm8750.h is for now copy of wm8751.h (wm8751 is little brother of wm8750). Basic register addresses and fields are the same for both DACs. When I make playback working I am going to extend it to support additional capabilities.
- I think lcd_blit_*() are not critical for now. There are much more important features to develop.

changes in patch:
- commented out unused (for now) options in config/mpiohd200.h. This forces some ifdefs in pcm-coldfire.c
- added more comments in code and remove FIXMEs

More bootloader work. This bootloader along with mkmpioboot utility was successfully tested on my device. If the menu introduced in bootloader is a nodo I will change this later but personally I found it convenient.
Graphic for UI simulator was changed a bit also.

Fixes few bugs and most important adds basic sound output support. There is some very high pitch noise audible though. Volume control works, did not try bass/treble settings. I also separated change to apps/plugins/plugin.lds as a separate task FS#11153.

1. Found workaround for high pitch noise.
2. Extended delay between setting adc channel and reading. This make battery reading more stable. I don't know why buttons are not affected...
3. ata_enable() is empty now. It makes USB bridge mode work in rockbox. Idealy it should contain handling of GL811E reset line but I am not sure which one it is.
4. Hacked ata-as-coldfire.S to include byteswaps. Now it is moved to ata-as-mpio.S but maby it would be better to integrate the two with #ifdef BYTESWAP magic. Only optimized reading routine is used. I did not measured what is the impact of the change.
5. Changed behaviour of bootloader to reset instead of poweroff in case AC wall adapter is connected.
6. Included lcd_shutdown() as a part of power_off()