Joe Korty wrote:
I applied the below patch to skip 'codec' initialization (whatever that is) and I was able to boot up to linux.
Where did you find the suggestion to do it?
Can anyone explain what the codec is; perhaps we can turn this 'feature' off permanently? (or make it a .config option).
The codec in this case is the chip that converts digital signals into audible sound. It's part of the integrated soundcard in the chipset. It should certainly not cause a hang..
The bad part is that we have no docs for MCP55.
In any case, there is code like this in southbridge/nvidia/mcp55/mcp55_aza.c:
do { dword = read32(base + 0x68); } while (dword & 1);
And that's bad. We shouldn't have code like this anywhere in coreboot. It should get a timeout of some sort, so that it doesn't hang forever.
A simple counter would be a great start, but it would of course be best to understand why the code doesn't work on your system..
Can you check which codec you have please? Linux reports this. From my laptop:
[ 3.509587] ALSA device list: [ 3.509593] #0: Intel 82801DB-ICH4 with AD1981B at irq 17
AD1981B is the codec.
//Peter