I know this isn't your main problem, but I noticed that you're getting error 44's from the smbus. The attached version should fix that, along with a couple other issues (including the incorrect reports of a timeout). I've also gotten rid of some of the debugging info, so it shouldn't be filling up your screen unless there actually is a real problem, or else if you want it. From what I can see, the smbus_read_byte I've put in there should work, I'll rename get_spd_data later, since it's now being used by my very incomplete CN700 code (waiting on Via for datasheets sucks).
Also, the rest of your southbridge init is bound to be completely borked, since IIRC that was well before I started seriously working on the post-ram code, so it's probably still looking for some incorrect device IDs, let alone setting things up right. If you want my most recent stuff, let me know, it should actually work right now.
And yes, there will be a patch with this and the rest of the southbridge code when the whole thing is clean and tested.
-Corey