Put a 1 msec watchdog on the mcp55's codec status-wait loops. For some reason the codec is being found but the subsequent initialization sequence is not able to initialize the device.
I wonder if the address is somehow wrong, or not routed correctly.
- if (!i) {
printk(BIOS_WARNING, "2: codec(%08x,%d) timed out. Not set
up.\n", base, addr);
return;
- }
What's the output when it fails?
Thanks, Myles