blob: 232b9c22b0527565731277e7768bda8fca6eb02e [file] [log] [blame]
Nicolas Reinecke29d358e2015-01-31 19:20:50 +01001/*
2 * This file is part of the coreboot project.
3 *
4 * Copyright (C) 2011 The ChromiumOS Authors. All rights reserved.
5 * Copyright (C) 2014 Vladimir Serbinenko
6 *
7 * This program is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU General Public License as
9 * published by the Free Software Foundation; version 2 of the License.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with this program; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
19 */
20
21/* Vendor Name : Realtek
22 * Vendor ID : 0x10ec0269
23 * Subsystem ID : 0x17aa21fb
24 * Revision ID : 0x100203
25 */
26
27
28#include <device/azalia_device.h>
29
30const u32 cim_verb_data[] = {
31 /* coreboot specific header */
32 0x10ec0269, // Codec Vendor / Device ID: Realtek ALC269VC
33 0x17aa21fb, // Subsystem ID
34 0x00000013, // Number of 4 dword sets
35
36/* Bits 31:28 - Codec Address */
37/* Bits 27:20 - NID */
38/* Bits 19:8 - Verb ID */
39/* Bits 7:0 - Payload */
40
41/* NID 0x01 - NodeInfo */
42 AZALIA_SUBVENDOR(0x0, 0x17AA21FB),
43
44/* NID 0x0A - External Microphone Connector
45 * Config=0x04A11020 (External,Right; MicIn,3.5mm; Black,JD; DA,Seq)
46 */
47 AZALIA_PIN_CFG(0x0, 0x0A, 0x04A11020),
48
49/* NID 0x0B - Headphone Connector
50 * Config=0x0421101F (External,Right; HP,3.5mm; Black,JD; DA,Seq)
51 */
52 AZALIA_PIN_CFG(0x0, 0x0B, 0x0421101F),
53
54/* NID 0x0C - Not connected
55 * Config=0x40F000F0 (N/A,N/A; Other,Unknown; Unknown,JD; DA,Seq)
56 */
57 AZALIA_PIN_CFG(0x0, 0x0C, 0x40F000F0),
58
59/* NID 0x0D - Internal Speakers
60 * Config=0x90170110 (Fixed,Int; Speaker,Other Analog; Unknown,nJD; DA,Seq)
61 */
62 AZALIA_PIN_CFG(0x0, 0x0D, 0x90170110),
63
64/* NID 0x0F - Not connected
65 * Config=0x40F000F0
66 */
67 AZALIA_PIN_CFG(0x0, 0x0F, 0x40F000F0),
68
69/* NID 0x11 - Internal Microphone
70 * Config=0xD5A30140 (Fixed internal,Top; Mic In,ATIPI; Unknown,nJD; DA,Seq)
71 */
72 AZALIA_PIN_CFG(0x0, 0x12, 0x90A60140),
73 AZALIA_PIN_CFG(0x0, 0x14, 0x90170110),
74 AZALIA_PIN_CFG(0x0, 0x15, 0x03211020),
75 AZALIA_PIN_CFG(0x0, 0x17, 0x411111F0),
76 AZALIA_PIN_CFG(0x0, 0x18, 0x03A11830),
77 AZALIA_PIN_CFG(0x0, 0x19, 0x411111F0),
78
79 0x01970804,
80 0x01870803,
81 0x01470740,
82 0x00970600,
83
84 AZALIA_PIN_CFG(0x0, 0x1A, 0x411111F0),
85 AZALIA_PIN_CFG(0x0, 0x1B, 0x411111F0),
86 AZALIA_PIN_CFG(0x0, 0x1D, 0x40138205),
87 AZALIA_PIN_CFG(0x0, 0x1E, 0x411111F0),
88
89 /* Misc entries */
90 0x00370600,
91 0x00270600,
92 0x00B707C0, /* Enable PortB as Output with HP amp */
93 0x00D70740, /* Enable PortD as Output */
94 0x0017A200, /* Disable ClkEn of PortSenseTst */
95 0x0017C621, /* Slave Port - Port A used as microphone input for
96 combo Jack
97 Master Port - Port B used for Jack Presence Detect
98 Enable Combo Jack Detection */
99 0x0017A208, /* Enable ClkEn of PortSenseTst */
100 0x00170500, /* Set power state to D0 */
101
102 /* --- Next Codec --- */
103
104/* Vendor Name : Intel
105 * Vendor ID : 0x80862806
106 * Subsystem ID : 0x80860101
107 * Revision ID : 0x100000
108 */
109 /* coreboot specific header */
110 0x80862806, // Codec Vendor / Device ID: Intel PantherPoint HDMI
111 0x80860101, // Subsystem ID
112 0x00000004, // Number of IDs
113
114 /* NID 0x01, HDA Codec Subsystem ID Verb Table: 0x80860101 */
115 AZALIA_SUBVENDOR(0x3, 0x80860101),
116
117 /* Pin Complex (NID 0x05) Digital Out at Int HDMI */
118 AZALIA_PIN_CFG(0x3, 0x05, 0x18560010),
119
120 /* Pin Complex (NID 0x06) Digital Out at Int HDMI */
121 AZALIA_PIN_CFG(0x3, 0x06, 0x18560020),
122
123 /* Pin Complex (NID 0x07) Digital Out at Int HDMI */
124 AZALIA_PIN_CFG(0x3, 0x07, 0x18560030)
125};
126
127const u32 pc_beep_verbs[] = {
128 0x02177a00, /* Digital PCBEEP Gain: 0h=-9db, 1h=-6db ... 4h=+3db, 5h=+6db */
129};
130
131AZALIA_ARRAY_SIZES;