new config tool, static and dynamic trees

ron minnich rminnich at lanl.gov
Wed Jul 23 18:49:00 CEST 2003


Greg has implemented the static tree/dynamic tree code mentioned 
yesterday, and today it passed its first test with flying colors. 

Greg needed some ide setup done on the southbridge to make his IDE 
interface work. 

To effect the change, he had to have certain code execute at a certain 
pass in the platform startup. Turned out the code could execute once PCI 
was configured. 

His code in the mainboard Config.lb did not change:

southbridge winbond/w83c553 end

That's it. 

But the C code for the southbridge had the CONF_PASS_POST_PCI code added 
for configuration: 

void southbridge_init(struct chip *chip, enum chip_pass pass)
{

        struct southbridge_winbond_w83c553_config *conf = (struct 
		southbridge_winbond_w83c553_config *)chip->chip_info;

        switch (pass) {
        case CONF_PASS_POST_PCI:
                w83c553_init();
                break;

        default:
                /* nothing yet */
                break;
        }
}

The tail end of the code looks like this:

struct chip_control southbridge_winbond_w83c553_control = {
        enable: southbridge_init,
        name:   "Winbond W83C553"
};

This last bit is the chip_control structure, the "class definition" code 
for this part. 

So, in short, it was trivial to set up, and showed, at least to us, that
this is a good direction.

ron




More information about the coreboot mailing list