[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