It's a totally terrible idea to access low level SoC registers from within user-space program. DON'T do that. It's a bad design and completely unsecure. As Michael mentioned, the default securelevel setting prevents this (for a good reason).If you want to utilise GPIO, then investigate the kernel API we are providing for this (see gpio(4) man page). Patch your program to use it instead of /dev/mem!
(2) Concerning audio output, everything is fine now, except that I have no clue how to control the volume level and that it is impossible to do it from within mplayer (no error output, but controls are ineffective).Please check if the volume level is controllable with mixerctl command.