(Note the new mail address, I'm not sure if the hack.org address still reaches me).
ramesh bios ramesh_bios@yahoo.com writes:
Christer, I'm having trouble with my gx1 board. The ramtest fails and I see an explicit difference in what the normal bios sets MC_BANK_CFG to and what the raminit autosizing sets it to. The difference is the module bank count and the dimm size. I believe on my board, the module bank count should be just 1 and the dimm size should be 64MB. Instead the autosizing code comes up with 2 and 128MB. I'm looking through this code and I see the mov of testdata2 to somewhere and then the readback of it and then the compare. I guess that it must be succeeding resulting in the detection of two module banks. I don't follow how the address calculations correspond with particular banks. I noticed you mentioned reading the nsc reference drivers to get further understanding. Are these available somewhere? Any advice on how to resolve the problem would be much appreciated.
I must admit that I'm managed to forget most stuff about the Geode, I've been busy with other stuff during the last year. If I recall correctly, I found a pdf describing the SDRAM init documentation somewhere on www.national.com, but since AMD took over the Geode, all that documentation has disappeared.
One thing you might want to try is to just hardcode the value you got from the normal BIOS instead of 0x57405740 and then skip the automatic memory sizing:
movl $0x57405740, (%edi) CALLSP(enable_dimm) /* Program the DIMM's */ jmp ram_setup_end
That would probably allow you to get a bit further.
/Christer (sligtly irritated since my shiny new laptop just spit out a cloud of smoke and died)