blob: 46ca2747997bfa8f6f201a1294bfd818e81688eb [file] [log] [blame]
Stefan Reinauerb7ecf6d2013-03-13 17:13:32 -07001/*
2 * This file is part of the coreboot project.
3 *
4 * Copyright (C) 2011 The ChromiumOS Authors. All rights reserved.
5 *
6 * This program is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU General Public License as
8 * published by the Free Software Foundation; version 2 of the License.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
Stefan Reinauerb7ecf6d2013-03-13 17:13:32 -070014 */
15
Vladimir Serbinenko75c83872014-09-05 01:01:31 +020016#include <device/azalia_device.h>
17
18const u32 cim_verb_data[] = {
Stefan Reinauerb7ecf6d2013-03-13 17:13:32 -070019 /* coreboot specific header */
20 0x10ec0269, // Codec Vendor / Device ID: Realtek
21 0x17aa21fe, // Subsystem ID
22 0x0000000c, // Number of jacks
23
24 /* NID 0x01, HDA Codec Subsystem ID Verb Table: 0x17aa21fe */
Vladimir Serbinenko02d674a2014-09-04 22:04:11 +020025 AZALIA_SUBVENDOR(0x0, 0x17aa21fe),
Stefan Reinauerb7ecf6d2013-03-13 17:13:32 -070026
27 /* Pin Widget Verb Table */
28
29 /* Pin Complex (NID 0x12): 0x90a60930 DMIC */
Vladimir Serbinenko02d674a2014-09-04 22:04:11 +020030 AZALIA_PIN_CFG(0x0, 0x12, 0x90a60930),
Stefan Reinauerb7ecf6d2013-03-13 17:13:32 -070031
32 /* Pin Complex (NID 0x14): 0x90170110 SPEAKER-OUT (Port-D) */
Vladimir Serbinenko02d674a2014-09-04 22:04:11 +020033 AZALIA_PIN_CFG(0x0, 0x14, 0x90170110),
Stefan Reinauerb7ecf6d2013-03-13 17:13:32 -070034
35 /* Pin Complex (NID 0x15): 0x0321101f HP-OUT (Port-A) */
Vladimir Serbinenko02d674a2014-09-04 22:04:11 +020036 AZALIA_PIN_CFG(0x0, 0x15, 0x0321101f),
Stefan Reinauerb7ecf6d2013-03-13 17:13:32 -070037
38 /* Pin Complex (NID 0x17): 0x411111f0 MONO-OUT (Port-H) */
Vladimir Serbinenko02d674a2014-09-04 22:04:11 +020039 AZALIA_PIN_CFG(0x0, 0x17, 0x411111f0),
Stefan Reinauerb7ecf6d2013-03-13 17:13:32 -070040
41 /* Pin Complex (NID 0x18): 0x03a11820 MIC1 (Port-B) */
Vladimir Serbinenko02d674a2014-09-04 22:04:11 +020042 AZALIA_PIN_CFG(0x0, 0x18, 0x03a11820),
Stefan Reinauerb7ecf6d2013-03-13 17:13:32 -070043
44 /* Pin Complex (NID 0x19): 0x411111f0 MIC2 (Port-F) */
Vladimir Serbinenko02d674a2014-09-04 22:04:11 +020045 AZALIA_PIN_CFG(0x0, 0x19, 0x411111f0),
Stefan Reinauerb7ecf6d2013-03-13 17:13:32 -070046
47 /* Pin Complex (NID 0x1a): 0x411111f0 LINE1 (Port-C) */
Vladimir Serbinenko02d674a2014-09-04 22:04:11 +020048 AZALIA_PIN_CFG(0x0, 0x1a, 0x411111f0),
Stefan Reinauerb7ecf6d2013-03-13 17:13:32 -070049
50 /* Pin Complex (NID 0x1b): 0x411111f0 LINE2 (Port-E) */
Vladimir Serbinenko02d674a2014-09-04 22:04:11 +020051 AZALIA_PIN_CFG(0x0, 0x1b, 0x411111f0),
Stefan Reinauerb7ecf6d2013-03-13 17:13:32 -070052
53 /* Pin Complex (NID 0x1d): 0x4016862d PC-BEEP */
Vladimir Serbinenko02d674a2014-09-04 22:04:11 +020054 AZALIA_PIN_CFG(0x0, 0x1d, 0x4016862d),
Stefan Reinauerb7ecf6d2013-03-13 17:13:32 -070055
56 /* Pin Complex (NID 0x1e): 0x411111f0 S/PDIF-OUT */
Vladimir Serbinenko02d674a2014-09-04 22:04:11 +020057 AZALIA_PIN_CFG(0x0, 0x1e, 0x411111f0),
Stefan Reinauerb7ecf6d2013-03-13 17:13:32 -070058
59 /* Stout MIC detect setup */
60 0x02050018,
61 0x02045184,
62 0x02050008,
63 0x02040300,
64
65 /* coreboot specific header */
66 0x80862806, // Codec Vendor / Device ID: Intel PantherPoint HDMI
67 0x80860101, // Subsystem ID
68 0x00000004, // Number of jacks
69
70 /* NID 0x01, HDA Codec Subsystem ID Verb Table: 0x80860101 */
Vladimir Serbinenko02d674a2014-09-04 22:04:11 +020071 AZALIA_SUBVENDOR(0x3, 0x80860101),
Stefan Reinauerb7ecf6d2013-03-13 17:13:32 -070072
73 /* Pin Complex (NID 0x05) Digital Out at Int HDMI */
Vladimir Serbinenko02d674a2014-09-04 22:04:11 +020074 AZALIA_PIN_CFG(0x3, 0x05, 0x18560010),
Stefan Reinauerb7ecf6d2013-03-13 17:13:32 -070075
76 /* Pin Complex (NID 0x06) Not Connected */
Vladimir Serbinenko02d674a2014-09-04 22:04:11 +020077 AZALIA_PIN_CFG(0x3, 0x06, 0x58560020),
Stefan Reinauerb7ecf6d2013-03-13 17:13:32 -070078
79 /* Pin Complex (NID 0x07) Not Connected */
Vladimir Serbinenko02d674a2014-09-04 22:04:11 +020080 AZALIA_PIN_CFG(0x3, 0x07, 0x58560030)
Stefan Reinauerb7ecf6d2013-03-13 17:13:32 -070081};
82
Vladimir Serbinenko75c83872014-09-05 01:01:31 +020083const u32 pc_beep_verbs[] = {
Stefan Reinauerb7ecf6d2013-03-13 17:13:32 -070084 0x00170500, /* power up everything (codec, dac, adc, mixers) */
85 0x01470740, /* enable speaker out */
86 0x01470c02, /* set speaker EAPD pin */
87 0x0143b01f, /* unmute speaker */
88 0x00c37100, /* unmute mixer nid 0xc input 1 */
89 0x00b37410, /* unmute mixer nid 0xb beep input and set volume */
90};
Vladimir Serbinenko75c83872014-09-05 01:01:31 +020091AZALIA_ARRAY_SIZES;