Richard Smith wrote:
I have been going over the vt8601 code, although only the stuff in raminit.c as I assume that is probably where the problem lies.Just an idea - you could use QEMU to install an older (virtual) Linux distro which has the required tools and build everything in QEMU, then copy the files to you host OS... I did pull off rev 1179 (not 100% sure) managed to build it ok, but when I booted it, it was coming up with smbus errors. Then tries version 1159, this wouldn't build, there were files missing. Anyway comparing the raminit.c for these and everything looks the same. Even pulled out the last rev of V1 and the current C code it an almost identical match for the assembly code in the V1. I have found a slight problem, maybe stack related ( what does linuxbios do for a stack before ram is initialised ? ) Anyway back to my probelm. Inside the function static void sdram_set_registers(const struct mem_controller *ctrl) there is this bit of code. #if DIMM_CL2 pci_write_config8(north, 0x64, 0xd4); pci_write_config8(north, 0x65, 0xd4); pci_write_config8(north, 0x66, 0xd4); #else // CL=3 pci_write_config8(north, 0x64, 0xe4); pci_write_config8(north, 0x65, 0xe4); pci_write_config8(north, 0x66, 0xe4); #endif as far as I can see from the datasheet it is correct. Now for debug I was dumping out the vt8601 registers to do with ram at the end of sdram_enable() just before the "vt8601 done" message. At this point register 0x64 has 0xec in it, which it shouldn't. The extra bit(b3) is not used and should be 0. Now no where in the code is this set so whats happening ? I put a print at the end of the sdram_set_registers() function and it is wrong there also. However putting in that extra print hangs the code. So I am thinking maybe its a stack issue. Anyway the power supply I was using for my dev board and blown up so I need to get another one before I can go much further. Have been through the vt8601 datasheet quite a few times now, must be one of the worst I have seen, anyway does anyone have any idea what the "DRAM Controller Command Register Output" bit is used for ? Also are the any utilities to dump the northbridge register contents on a running system ? What sort of tools are we talking about to compile the earlier stuff ? |
-- linuxbios mailing list [email protected] http://www.openbios.org/mailman/listinfo/linuxbios
