blob: dae692d4abaa98735f4a4ef8d7b8802ded744cc1 [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.
Zaolina823f9b2014-05-06 21:31:45 +020015 */
16
Nicolas Reineckef98e6682014-09-06 18:03:05 +020017/* Vendor Name : Conexant
18 * Vendor ID : 0x14f1506e
19 * Subsystem ID : 0x17aa21cf
20 * Revision ID : 0x100000
Zaolina823f9b2014-05-06 21:31:45 +020021 */
22
23
Vladimir Serbinenko75c83872014-09-05 01:01:31 +020024#include <device/azalia_device.h>
25
26const u32 cim_verb_data[] = {
Zaolina823f9b2014-05-06 21:31:45 +020027 /* coreboot specific header */
Nicolas Reineckef98e6682014-09-06 18:03:05 +020028 0x14f1506e, // Codec Vendor / Device ID: Conexant CX20590 - Schematic shows CX20672
29 0x17aa21cf, // Subsystem ID
Nicolas Reineckedf5a91d2014-10-17 12:16:20 +020030 0x0000000d, // Number of 4 dword sets
Zaolina823f9b2014-05-06 21:31:45 +020031
32/* Bits 31:28 - Codec Address */
33/* Bits 27:20 - NID */
34/* Bits 19:8 - Verb ID */
35/* Bits 7:0 - Payload */
36
37/* NID 0x01 - NodeInfo */
Nicolas Reineckef98e6682014-09-06 18:03:05 +020038 AZALIA_SUBVENDOR(0x0, 0x17AA21CF),
Zaolina823f9b2014-05-06 21:31:45 +020039
Nicolas Reineckef98e6682014-09-06 18:03:05 +020040 AZALIA_PIN_CFG(0x0, 0x19, 0x04211040),
41 AZALIA_PIN_CFG(0x0, 0x1A, 0x61A19050),
42 AZALIA_PIN_CFG(0x0, 0x1B, 0x04A11060),
43 AZALIA_PIN_CFG(0x0, 0x1C, 0x6121401F),
44 AZALIA_PIN_CFG(0x0, 0x1D, 0x40F001F0),
45 AZALIA_PIN_CFG(0x0, 0x1E, 0x40F001F0),
46 AZALIA_PIN_CFG(0x0, 0x1F, 0x90170110),
47 AZALIA_PIN_CFG(0x0, 0x20, 0x40F001F0),
48 AZALIA_PIN_CFG(0x0, 0x22, 0x40F001F0),
49 AZALIA_PIN_CFG(0x0, 0x23, 0x90A60170),
Zaolina823f9b2014-05-06 21:31:45 +020050
Zaolina823f9b2014-05-06 21:31:45 +020051 /* Misc entries */
52 0x00B707C0, /* Enable PortB as Output with HP amp */
53 0x00D70740, /* Enable PortD as Output */
54 0x0017A200, /* Disable ClkEn of PortSenseTst */
55 0x0017C621, /* Slave Port - Port A used as microphone input for
56 combo Jack
57 Master Port - Port B used for Jack Presence Detect
58 Enable Combo Jack Detection */
59 0x0017A208, /* Enable ClkEn of PortSenseTst */
60 0x00170500, /* Set power state to D0 */
Nicolas Reineckedf5a91d2014-10-17 12:16:20 +020061 0x00170500, /* Padding */
62 0x00170500, /* Padding */
Zaolina823f9b2014-05-06 21:31:45 +020063};
64
Vladimir Serbinenko75c83872014-09-05 01:01:31 +020065const u32 pc_beep_verbs[] = {
Zaolina823f9b2014-05-06 21:31:45 +020066 0x02177a00, /* Digital PCBEEP Gain: 0h=-9db, 1h=-6db ... 4h=+3db, 5h=+6db */
67};
68
Vladimir Serbinenko75c83872014-09-05 01:01:31 +020069AZALIA_ARRAY_SIZES;