/* SPDX-License-Identifier: GPL-2.0-only */

#include <device/azalia_device.h>

static const u32 realtek_alc898_verbs[] = {
	AZALIA_SUBVENDOR(0, 0x18491898),
	AZALIA_PIN_CFG(0, 0x11, AZALIA_PIN_CFG_NC(0)),
	AZALIA_PIN_CFG(0, 0x12, AZALIA_PIN_CFG_NC(0)),
	AZALIA_PIN_CFG(0, 0x14, 0x01014010),
	AZALIA_PIN_CFG(0, 0x15, 0x01011012),
	AZALIA_PIN_CFG(0, 0x16, 0x01016011),
	AZALIA_PIN_CFG(0, 0x17, AZALIA_PIN_CFG_NC(0)),
	AZALIA_PIN_CFG(0, 0x18, 0x01a19840),
	AZALIA_PIN_CFG(0, 0x19, 0x02a19950),
	AZALIA_PIN_CFG(0, 0x1a, 0x0181304f),
	AZALIA_PIN_CFG(0, 0x1b, 0x02214120),
	AZALIA_PIN_CFG(0, 0x1c, AZALIA_PIN_CFG_NC(0)),
	AZALIA_PIN_CFG(0, 0x1d, 0x4015e601),
	AZALIA_PIN_CFG(0, 0x1e, 0x01451130),
	AZALIA_PIN_CFG(0, 0x1f, AZALIA_PIN_CFG_NC(0)),
};

static const u32 intel_display_audio_verbs[] = {
	AZALIA_SUBVENDOR(3, 0x80860101),
	AZALIA_PIN_CFG(3, 0x05, 0x18560010),
	AZALIA_PIN_CFG(3, 0x06, 0x58560020),
	AZALIA_PIN_CFG(3, 0x07, 0x18560030),
};

const u32 pc_beep_verbs[0] = {};

struct azalia_codec mainboard_azalia_codecs[] = {
	{
		.name           = "Realtek ALC898",
		.vendor_id      = 0x10ec0899,
		.subsystem_id   = 0x18491898,
		.address        = 0,
		.verbs          = realtek_alc898_verbs,
		.verb_count     = ARRAY_SIZE(realtek_alc898_verbs),
	},
	{
		.name           = "Intel Display Audio (HDMI)",
		.vendor_id      = 0x80862806,
		.subsystem_id   = 0x80860101,
		.address        = 3,
		.verbs          = intel_display_audio_verbs,
		.verb_count     = ARRAY_SIZE(intel_display_audio_verbs),
	},
	{ /* terminator */ }
};

AZALIA_ARRAY_SIZES;
