blob: 694ccdd2cd5435e7a1dbe95ff005556967704bc8 [file] [log] [blame]
Zaolina823f9b2014-05-06 21:31:45 +02001/*
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
Nicolas Reineckef98e6682014-09-06 18:03:05 +020021/* Vendor Name : Conexant
22 * Vendor ID : 0x14f1506e
23 * Subsystem ID : 0x17aa21cf
24 * Revision ID : 0x100000
Zaolina823f9b2014-05-06 21:31:45 +020025 */
26
27
Vladimir Serbinenko75c83872014-09-05 01:01:31 +020028#include <device/azalia_device.h>
29
30const u32 cim_verb_data[] = {
Zaolina823f9b2014-05-06 21:31:45 +020031 /* coreboot specific header */
Nicolas Reineckef98e6682014-09-06 18:03:05 +020032 0x14f1506e, // Codec Vendor / Device ID: Conexant CX20590 - Schematic shows CX20672
33 0x17aa21cf, // Subsystem ID
Nicolas Reineckedf5a91d2014-10-17 12:16:20 +020034 0x0000000d, // Number of 4 dword sets
Zaolina823f9b2014-05-06 21:31:45 +020035
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 */
Nicolas Reineckef98e6682014-09-06 18:03:05 +020042 AZALIA_SUBVENDOR(0x0, 0x17AA21CF),
Zaolina823f9b2014-05-06 21:31:45 +020043
Nicolas Reineckef98e6682014-09-06 18:03:05 +020044 AZALIA_PIN_CFG(0x0, 0x19, 0x04211040),
45 AZALIA_PIN_CFG(0x0, 0x1A, 0x61A19050),
46 AZALIA_PIN_CFG(0x0, 0x1B, 0x04A11060),
47 AZALIA_PIN_CFG(0x0, 0x1C, 0x6121401F),
48 AZALIA_PIN_CFG(0x0, 0x1D, 0x40F001F0),
49 AZALIA_PIN_CFG(0x0, 0x1E, 0x40F001F0),
50 AZALIA_PIN_CFG(0x0, 0x1F, 0x90170110),
51 AZALIA_PIN_CFG(0x0, 0x20, 0x40F001F0),
52 AZALIA_PIN_CFG(0x0, 0x22, 0x40F001F0),
53 AZALIA_PIN_CFG(0x0, 0x23, 0x90A60170),
Zaolina823f9b2014-05-06 21:31:45 +020054
Zaolina823f9b2014-05-06 21:31:45 +020055 /* Misc entries */
56 0x00B707C0, /* Enable PortB as Output with HP amp */
57 0x00D70740, /* Enable PortD as Output */
58 0x0017A200, /* Disable ClkEn of PortSenseTst */
59 0x0017C621, /* Slave Port - Port A used as microphone input for
60 combo Jack
61 Master Port - Port B used for Jack Presence Detect
62 Enable Combo Jack Detection */
63 0x0017A208, /* Enable ClkEn of PortSenseTst */
64 0x00170500, /* Set power state to D0 */
Nicolas Reineckedf5a91d2014-10-17 12:16:20 +020065 0x00170500, /* Padding */
66 0x00170500, /* Padding */
Zaolina823f9b2014-05-06 21:31:45 +020067};
68
Vladimir Serbinenko75c83872014-09-05 01:01:31 +020069const u32 pc_beep_verbs[] = {
Zaolina823f9b2014-05-06 21:31:45 +020070 0x02177a00, /* Digital PCBEEP Gain: 0h=-9db, 1h=-6db ... 4h=+3db, 5h=+6db */
71};
72
Vladimir Serbinenko75c83872014-09-05 01:01:31 +020073AZALIA_ARRAY_SIZES;