blob: 8a102ea0a970e9338efbb0702c33688271f8c721 [file] [log] [blame]
Patrick Georgi021b7032012-11-06 11:05:38 +01001/*
2 * This file is part of the coreboot project.
3 *
4 * Copyright (C) 2007-2009 coresystems GmbH
5 * 2012 secunet Security Networks AG
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.
Patrick Georgi021b7032012-11-06 11:05:38 +010015 */
16
Vladimir Serbinenko75c83872014-09-05 01:01:31 +020017#include <device/azalia_device.h>
18
19const u32 cim_verb_data[] = {
Patrick Georgi021b7032012-11-06 11:05:38 +010020 /* coreboot specific header */
21 0x10ec0262, // Codec Vendor / Device ID: Realtek ALC262
22 0x43528986, // Subsystem ID
23 0x0000000c, // Number of entries
24
25 /* Pin Widget Verb Table */
26
27 /* Pin Complex (NID 0x11), S/PDIF-OUT2: not connected */
Vladimir Serbinenkof91ecce2014-09-04 21:47:03 +020028 AZALIA_PIN_CFG(0, 0x11, 0x411111f0),
Patrick Georgi021b7032012-11-06 11:05:38 +010029 /* Pin Complex (NID 0x14), LINE_OUT (port D): Speakers */
Vladimir Serbinenkof91ecce2014-09-04 21:47:03 +020030 AZALIA_PIN_CFG(0, 0x14, 0x99130110),
Patrick Georgi021b7032012-11-06 11:05:38 +010031 /* Pin Complex (NID 0x15), HP_OUT (port A): Head phones */
Vladimir Serbinenkof91ecce2014-09-04 21:47:03 +020032 AZALIA_PIN_CFG(0, 0x15, 0x0121411f),
Patrick Georgi021b7032012-11-06 11:05:38 +010033 /* Pin Complex (NID 0x16), MONO-OUT: not connected */
Vladimir Serbinenkof91ecce2014-09-04 21:47:03 +020034 AZALIA_PIN_CFG(0, 0x16, 0x411111f0),
Patrick Georgi021b7032012-11-06 11:05:38 +010035 /* Pin Complex (NID 0x18), MIC1 (port B): Microphone */
Vladimir Serbinenkof91ecce2014-09-04 21:47:03 +020036 AZALIA_PIN_CFG(0, 0x18, 0x01a19920),
Patrick Georgi021b7032012-11-06 11:05:38 +010037 /* Pin Complex (NID 0x19), MIC2 (port F): not connected */
Vladimir Serbinenkof91ecce2014-09-04 21:47:03 +020038 AZALIA_PIN_CFG(0, 0x19, 0x411111f0),
Patrick Georgi021b7032012-11-06 11:05:38 +010039 /* Pin Complex (NID 0x1a), LINE1 (port C): Line-In */
Vladimir Serbinenkof91ecce2014-09-04 21:47:03 +020040 AZALIA_PIN_CFG(0, 0x1a, 0x01813121),
Patrick Georgi021b7032012-11-06 11:05:38 +010041 /* Pin Complex (NID 0x1b), LINE2 (port E): MDC */
Vladimir Serbinenkof91ecce2014-09-04 21:47:03 +020042 AZALIA_PIN_CFG(0, 0x1b, 0x9983012f),
Patrick Georgi021b7032012-11-06 11:05:38 +010043 /* Pin Complex (NID 0x1c), CD_IN */
Vladimir Serbinenkof91ecce2014-09-04 21:47:03 +020044 AZALIA_PIN_CFG(0, 0x1c, 0x593301f0),
Patrick Georgi021b7032012-11-06 11:05:38 +010045 /* Pin Complex (NID 0x1d), PCBEEP */
Vladimir Serbinenkof91ecce2014-09-04 21:47:03 +020046 AZALIA_PIN_CFG(0, 0x1d, 0x4014022d),
Patrick Georgi021b7032012-11-06 11:05:38 +010047 /* Pin Complex (NID 0x1e), S/PDIF-OUT: not connected */
Vladimir Serbinenkof91ecce2014-09-04 21:47:03 +020048 AZALIA_PIN_CFG(0, 0x1e, 0x411111f0),
Patrick Georgi021b7032012-11-06 11:05:38 +010049 /* Pin Complex (NID 0x1f), S/PDIF-IN: not connected */
Vladimir Serbinenkof91ecce2014-09-04 21:47:03 +020050 AZALIA_PIN_CFG(0, 0x1f, 0x411111f0)
Patrick Georgi021b7032012-11-06 11:05:38 +010051};
Patrick Georgi021b7032012-11-06 11:05:38 +010052
Vladimir Serbinenko75c83872014-09-05 01:01:31 +020053const u32 pc_beep_verbs[] = {
Patrick Georgi021b7032012-11-06 11:05:38 +010054 0x00170500, /* power up codec */
55 0x01470500, /* power up speakers */
56 0x01470100, /* select lout1 (input 0x0) for speakers */
57 0x01470740, /* enable speakers output */
58 0x00b37517, /* unmute beep (mixer's input 0x5), set amp 0dB */
59 0x00c37100, /* unmute mixer in lout1 (lout1 input 0x1) */
60 0x00c3b015, /* set lout1 output volume -15dB */
61 0x0143b000, /* unmute speakers */
62};
Vladimir Serbinenko75c83872014-09-05 01:01:31 +020063AZALIA_ARRAY_SIZES;