summaryrefslogtreecommitdiff
path: root/src/mainboard/lenovo/x230/hda_verb.c
blob: ff1a2dd1538659d0bd8d47af8bd8ec1d621014cf (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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
/*
 * This file is part of the coreboot project.
 *
 * Copyright (C) 2011 The ChromiumOS Authors.  All rights reserved.
 * Copyright (C) 2014 Vladimir Serbinenko
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License as
 * published by the Free Software Foundation; version 2 of the License.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 */

/* Bits 31:28 - Codec Address */
/* Bits 27:20 - NID */
/* Bits 19:8 - Verb ID */
/* Bits 7:0  - Payload */

#include <device/azalia_device.h>

const u32 cim_verb_data[] = {
	/* --- Codec #0 --- */
	0x10ec0269,	/* Codec Vendor / Device ID: Realtek ALC269VC */
	0x17aa21fa,	/* Subsystem ID */
	19,		/* Number of 4 dword sets */
	AZALIA_SUBVENDOR(0x0, 0x17aa21fa),

	/* Ext. Microphone Connector:	External,Right; MicIn,3.5mm; Black,JD; DA,Seq */
	AZALIA_PIN_CFG(0x0, 0x0a, 0x04a11020),

	/* Headphones Connector:	External,Right; HP,3.5mm; Black,JD; DA,Seq */
	AZALIA_PIN_CFG(0x0, 0x0b, 0x0421101f),

	/* Not connected:		N/A,N/A; Other,Unknown; Unknown,JD; DA,Seq */
	AZALIA_PIN_CFG(0x0, 0x0c, 0x40f000f0),

	/* Internal Speakers		Fixed,Int; Speaker,Other Analog; Unknown,nJD; DA,Seq */
	AZALIA_PIN_CFG(0x0, 0x0d, 0x90170110),

	/* Not connected */
	AZALIA_PIN_CFG(0x0, 0x0f, 0x40f000f0),

	/* Internal Microphone:		Fixed,Int,Top; Mic In,ATIPI; Unknown,nJD; DA,Seq */
	AZALIA_PIN_CFG(0x0, 0x11, 0xd5a30140),
	AZALIA_PIN_CFG(0x0, 0x12, 0x90a60140),
	AZALIA_PIN_CFG(0x0, 0x14, 0x90170110),
	AZALIA_PIN_CFG(0x0, 0x15, 0x03211020),
	AZALIA_PIN_CFG(0x0, 0x18, 0x03a11830),
	AZALIA_PIN_CFG(0x0, 0x19, 0x411111f0),
	AZALIA_PIN_CFG(0x0, 0x1a, 0x411111f0),
	AZALIA_PIN_CFG(0x0, 0x1d, 0x40138205),
	AZALIA_PIN_CFG(0x0, 0x1e, 0x411111f0),

	/* Misc entries */
	0x01970804,
	0x01870803,
	0x01470740,
	0x00970640,

	0x00370680,
	0x00270680,
	0x01470c02,
	0x01570c02,

	/* ALC coefficients. */
	/* 08 */
	0x02050008,
	0x02040700,
	/* 18 */
	0x02050018,
	0x02045184,
	/* 1c */
	0x0205001c,
	0x02042800,

	0x01870724, /* Enable Vrefout for mic */
	0x00170500, /* Set power state to D0 */

	/* --- Codec #3 --- */
	0x80862806,	/* Codec Vendor / Device ID: Intel PantherPoint HDMI */
	0x80860101,	/* Subsystem ID */
	4,		/* Number of 4 dword sets */
	AZALIA_SUBVENDOR(0x3, 0x80860101),
	AZALIA_PIN_CFG(0x3, 0x05, 0x18560010),
	AZALIA_PIN_CFG(0x3, 0x06, 0x18560020),
	AZALIA_PIN_CFG(0x3, 0x07, 0x18560030),
};

const u32 pc_beep_verbs[] = {
	0x02177a00, /* Digital PCBEEP Gain: 0h=-9db, 1h=-6db ... 4h=+3db, 5h=+6db */
};

AZALIA_ARRAY_SIZES;