With my project RemoteBIOS and one elf portion of coreboot, i have tested the CN10000 mainboard, with the RAM initialization routines, written by Corey Osgood, and the code of VT8237R written by Rudolf Marek.
I have found the first problem, that i have resolved, the memory initialization must use the 20 bit active when use a CBR memory comand: do_ram_command( RAM_COMMAND_MRS, 0x0022d8); must be: do_ram_command( RAM_COMMAND_MRS, 0x1022d8);
do_ram_command( RAM_COMMAND_MRS, 0x21c20); must be: do_ram_command( RAM_COMMAND_MRS, 0x121c20);
do_ram_command( RAM_COMMAND_MRS, 0x20020); must be: do_ram_command( RAM_COMMAND_MRS, 0x120020);
Without the 20 bit active, the Kingstom Memory not works.
The detection of SPD: The ram returns: SPD_DENSITY_OF_EACH_ROW_ON_MODULE=0x80 SPD_NUM_BANKS_PER_SDRAM=0x04 With the last code of corey, the result of configuration for PCI(0,0,3)[0x40] are 0x08, and is the correct value for the 512MB RAM that i have.
Be careful, with that, i not use ROMCC for generate the code of the function sdram_set_spd_registers() written by Corey, i use directly gcc with xmmstack.
The code of disable SATA works, but the normal IDE does not apear too, with the disable_sata() function. If you use the function, SATA and IDE goes disabled, i have ignored at the moment these function, y must investigate what happends.
I have generated the fadt and the dsdt with the genfadt and gendsdt and, ACPI works fine.
I must force the kernel with acpi=force, and enable lapic, changing the code of the Linux kernel, that do not support for Centaur Vendors, and then both ACPI and the LAPIC works. All IRQ's works good, and the linux works.
What not works? the control of the Memory in the SuperIO, none of the features, can control the memory with DMA, for example VIA-Rhine, and VIA VT82xxx IDE. Then i must in the kernel write the parameter ide=nodma. And then the Linux works, without DMA, and without complete work with the Ethernet, are detected, but fails in the first interrupt.
I are testing more, how to enable the access of the southbrigde to the memory, for DMA actions, but i not have documentation, but can test the southbrigde PCI configurations, with relative speed, only changing a script, for test.
I say us, if i have luck.
Thanks all for read this.