[coreboot] [PATCH] sb600: don't load verb for codec

Stefan Reinauer stepan at coresystems.de
Fri Mar 5 11:13:34 CET 2010


On 3/5/10 10:29 AM, Bao, Zheng wrote:
> Don't load verb in BIOS stage. It is not BIOS's responsibility.
>   
Who is responsible for that, then?
 
On i945 I definitely don't get sound on most systems if I don't load the
verb in coreboot. I also don't think the Linux drivers do it.
> And we can not have verb for every single codec.
>   
Have a look at the i82801gx southbridge; I think it was based on the
sb600 code, but I changed it so I can have a per mainboard verb table.
In mainboard_enable() in mainboard.c, call verb_setup() which does:

#include "hda_verb.h"

static void verb_setup(void)
{
        cim_verb_data = mainboard_cim_verb_data;
        cim_verb_data_size = sizeof(mainboard_cim_verb_data);
}

and hda_verb.c looks like this:

static u32 mainboard_cim_verb_data[] = {
        /* coreboot specific header */
        0x10ec0262,     // Codec Vendor ID / Device ID
        0x10714700,     // Subsystem ID
        0x0000000d,     // Number of jacks

        /* HDA Codec Subsystem ID Verb Table: 0x10ec0000 */
        0x00172000,
        0x00172100,
        0x001722EC,
        0x00172310,

        /* Pin Widget Verb Table */

        /* Pin Complex (NID 0x12) */
        0x01271CF0,
        0x01271D11,
        0x01271E11,
...
};

extern u32 * cim_verb_data;
extern u32 cim_verb_data_size;






More information about the coreboot mailing list