Patrick Georgi | 021b703 | 2012-11-06 11:05:38 +0100 | [diff] [blame] | 1 | /* |
| 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 Georgi | 021b703 | 2012-11-06 11:05:38 +0100 | [diff] [blame] | 15 | */ |
| 16 | |
Vladimir Serbinenko | 75c8387 | 2014-09-05 01:01:31 +0200 | [diff] [blame] | 17 | #include <device/azalia_device.h> |
| 18 | |
| 19 | const u32 cim_verb_data[] = { |
Patrick Georgi | 021b703 | 2012-11-06 11:05:38 +0100 | [diff] [blame] | 20 | /* 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 Serbinenko | f91ecce | 2014-09-04 21:47:03 +0200 | [diff] [blame] | 28 | AZALIA_PIN_CFG(0, 0x11, 0x411111f0), |
Patrick Georgi | 021b703 | 2012-11-06 11:05:38 +0100 | [diff] [blame] | 29 | /* Pin Complex (NID 0x14), LINE_OUT (port D): Speakers */ |
Vladimir Serbinenko | f91ecce | 2014-09-04 21:47:03 +0200 | [diff] [blame] | 30 | AZALIA_PIN_CFG(0, 0x14, 0x99130110), |
Patrick Georgi | 021b703 | 2012-11-06 11:05:38 +0100 | [diff] [blame] | 31 | /* Pin Complex (NID 0x15), HP_OUT (port A): Head phones */ |
Vladimir Serbinenko | f91ecce | 2014-09-04 21:47:03 +0200 | [diff] [blame] | 32 | AZALIA_PIN_CFG(0, 0x15, 0x0121411f), |
Patrick Georgi | 021b703 | 2012-11-06 11:05:38 +0100 | [diff] [blame] | 33 | /* Pin Complex (NID 0x16), MONO-OUT: not connected */ |
Vladimir Serbinenko | f91ecce | 2014-09-04 21:47:03 +0200 | [diff] [blame] | 34 | AZALIA_PIN_CFG(0, 0x16, 0x411111f0), |
Patrick Georgi | 021b703 | 2012-11-06 11:05:38 +0100 | [diff] [blame] | 35 | /* Pin Complex (NID 0x18), MIC1 (port B): Microphone */ |
Vladimir Serbinenko | f91ecce | 2014-09-04 21:47:03 +0200 | [diff] [blame] | 36 | AZALIA_PIN_CFG(0, 0x18, 0x01a19920), |
Patrick Georgi | 021b703 | 2012-11-06 11:05:38 +0100 | [diff] [blame] | 37 | /* Pin Complex (NID 0x19), MIC2 (port F): not connected */ |
Vladimir Serbinenko | f91ecce | 2014-09-04 21:47:03 +0200 | [diff] [blame] | 38 | AZALIA_PIN_CFG(0, 0x19, 0x411111f0), |
Patrick Georgi | 021b703 | 2012-11-06 11:05:38 +0100 | [diff] [blame] | 39 | /* Pin Complex (NID 0x1a), LINE1 (port C): Line-In */ |
Vladimir Serbinenko | f91ecce | 2014-09-04 21:47:03 +0200 | [diff] [blame] | 40 | AZALIA_PIN_CFG(0, 0x1a, 0x01813121), |
Patrick Georgi | 021b703 | 2012-11-06 11:05:38 +0100 | [diff] [blame] | 41 | /* Pin Complex (NID 0x1b), LINE2 (port E): MDC */ |
Vladimir Serbinenko | f91ecce | 2014-09-04 21:47:03 +0200 | [diff] [blame] | 42 | AZALIA_PIN_CFG(0, 0x1b, 0x9983012f), |
Patrick Georgi | 021b703 | 2012-11-06 11:05:38 +0100 | [diff] [blame] | 43 | /* Pin Complex (NID 0x1c), CD_IN */ |
Vladimir Serbinenko | f91ecce | 2014-09-04 21:47:03 +0200 | [diff] [blame] | 44 | AZALIA_PIN_CFG(0, 0x1c, 0x593301f0), |
Patrick Georgi | 021b703 | 2012-11-06 11:05:38 +0100 | [diff] [blame] | 45 | /* Pin Complex (NID 0x1d), PCBEEP */ |
Vladimir Serbinenko | f91ecce | 2014-09-04 21:47:03 +0200 | [diff] [blame] | 46 | AZALIA_PIN_CFG(0, 0x1d, 0x4014022d), |
Patrick Georgi | 021b703 | 2012-11-06 11:05:38 +0100 | [diff] [blame] | 47 | /* Pin Complex (NID 0x1e), S/PDIF-OUT: not connected */ |
Vladimir Serbinenko | f91ecce | 2014-09-04 21:47:03 +0200 | [diff] [blame] | 48 | AZALIA_PIN_CFG(0, 0x1e, 0x411111f0), |
Patrick Georgi | 021b703 | 2012-11-06 11:05:38 +0100 | [diff] [blame] | 49 | /* Pin Complex (NID 0x1f), S/PDIF-IN: not connected */ |
Vladimir Serbinenko | f91ecce | 2014-09-04 21:47:03 +0200 | [diff] [blame] | 50 | AZALIA_PIN_CFG(0, 0x1f, 0x411111f0) |
Patrick Georgi | 021b703 | 2012-11-06 11:05:38 +0100 | [diff] [blame] | 51 | }; |
Patrick Georgi | 021b703 | 2012-11-06 11:05:38 +0100 | [diff] [blame] | 52 | |
Vladimir Serbinenko | 75c8387 | 2014-09-05 01:01:31 +0200 | [diff] [blame] | 53 | const u32 pc_beep_verbs[] = { |
Patrick Georgi | 021b703 | 2012-11-06 11:05:38 +0100 | [diff] [blame] | 54 | 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 Serbinenko | 75c8387 | 2014-09-05 01:01:31 +0200 | [diff] [blame] | 63 | AZALIA_ARRAY_SIZES; |