Today, I pushed a very basic working audio HAL + config file to github:
There is no volume adjustment implemented yet -- it's currently hard-coded to around 50% (kind of low). The kernel codec driver is designed to require a volume be sent to it every time audio is played and that's not how default Android works. To fix that I'm customizing the default audio_policy manager and having it send volume updates to the audio HAL (when it's changed). Be be another few days to work out the kinks on that.
Input is currently stubbed in with dummy code. That's #2 on the list of fixes.
And, I realize the source I'm working with is based on ICS where the audio devices for input and output could live harmoniously in 1 big enum field. That's been changed in JB so I need to split the input/output device handling. Right now if you tap on search or anything that re-routes input devices, then the output devices change as well and basically audio is borked till you reboot.
As I get time, I'll run a new build and post it. I may wait for basic volume function tho.