summaryrefslogtreecommitdiffstats
path: root/src/mainboard/starlabs/starbook/hda_verb.c
blob: 371ab5d5f74e1dd6a5660a5d32fe34866b48793c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
/* SPDX-License-Identifier: GPL-2.0-only */

#include <console/console.h>
#include <device/azalia_device.h>
#include <option.h>
#include <types.h>

#define AZALIA_CODEC_ALC256 0x10ec0256
#define AZALIA_CODEC_ALC269 0x10ec0269

static const u32 override_verb[] = {
	AZALIA_PIN_CFG(0, 0x12, 0x411111f0),
};

static void disable_microphone(u8 *base)
{
	azalia_program_verb_table(base, override_verb, ARRAY_SIZE(override_verb));
}

void mainboard_azalia_program_runtime_verbs(u8 *base, u32 viddid)
{
	if (viddid == AZALIA_CODEC_ALC256 || viddid == AZALIA_CODEC_ALC269) {
		printk(BIOS_DEBUG, "CMOS: viddid = %08x\n", viddid);
		if (get_uint_option("microphone", 1) == 0)
			disable_microphone(base);
	}
}